@skyux/pages 11.43.0 → 11.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +775 -865
- package/esm2022/lib/modules/page/page.component.mjs +21 -54
- package/esm2022/lib/modules/shared/sky-pages-resources.module.mjs +12 -1
- package/esm2022/testing/modules/action-hub/action-hub-harness.mjs +4 -1
- package/fesm2022/skyux-pages-testing.mjs +3 -0
- package/fesm2022/skyux-pages-testing.mjs.map +1 -1
- package/fesm2022/skyux-pages.mjs +30 -51
- package/fesm2022/skyux-pages.mjs.map +1 -1
- package/lib/modules/page/page.component.d.ts +3 -3
- package/package.json +9 -9
- package/testing/modules/action-hub/action-hub-harness.d.ts +3 -0
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import { SkyContainerBreakpointObserver, SkyHelpService,
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
1
|
+
import { Component, Input, inject, input, } from '@angular/core';
|
|
2
|
+
import { SkyContainerBreakpointObserver, SkyHelpService, SkyLayoutHostDirective, provideSkyBreakpointObserver, } from '@skyux/core';
|
|
5
3
|
import { SkyPageThemeAdapterService } from './page-theme-adapter.service';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
|
-
|
|
8
|
-
const LAYOUT_FOR_CHILD_CLASS_PREFIX = 'sky-layout-host-for-child-';
|
|
9
|
-
const LAYOUT_CLASS_PREFIX = 'sky-layout-host-';
|
|
10
|
-
const LAYOUT_CLASS_DEFAULT = `${LAYOUT_CLASS_PREFIX}${LAYOUT_DEFAULT}`;
|
|
5
|
+
import * as i1 from "@skyux/core";
|
|
11
6
|
/**
|
|
12
7
|
* Displays a page using the specified layout. The page component is a responsive container,
|
|
13
8
|
* meaning content will respect the breakpoints within the page element instead of the window.
|
|
@@ -15,65 +10,37 @@ const LAYOUT_CLASS_DEFAULT = `${LAYOUT_CLASS_PREFIX}${LAYOUT_DEFAULT}`;
|
|
|
15
10
|
*/
|
|
16
11
|
export class SkyPageComponent {
|
|
17
12
|
constructor() {
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
/**
|
|
14
|
+
* The page layout that applies spacing to the page header and content. Use the layout
|
|
15
|
+
* that corresponds with the top-level component type used on the page, or use `fit` to
|
|
16
|
+
* constrain the page contents to the available viewport.
|
|
17
|
+
* Use `none` for custom content that does not adhere to predefined spacing or constraints.
|
|
18
|
+
* @default "none"
|
|
19
|
+
*/
|
|
20
|
+
this.layout = input('none');
|
|
20
21
|
this.#themeAdapter = inject(SkyPageThemeAdapterService);
|
|
21
|
-
this.#layoutHostSvc = inject(SkyLayoutHostService);
|
|
22
22
|
this.#helpSvc = inject(SkyHelpService, { optional: true });
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
25
|
-
* The page layout that applies spacing to the page header and content. Use the layout
|
|
26
|
-
* that corresponds with the top-level component type used on the page, or use `fit` to
|
|
27
|
-
* constrain the page contents to the available viewport.
|
|
28
|
-
* Use `none` for custom content that does not adhere to predefined spacing or constraints.
|
|
29
|
-
* @default "none"
|
|
30
|
-
*/
|
|
31
|
-
set layout(value) {
|
|
32
|
-
this.#layout = value;
|
|
33
|
-
this.#updateCssClass();
|
|
34
|
-
}
|
|
35
24
|
/**
|
|
36
25
|
* A help key that identifies the page's default [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) content to display.
|
|
37
26
|
*/
|
|
38
27
|
set helpKey(value) {
|
|
39
28
|
this.#helpSvc?.updateHelp({ pageDefaultHelpKey: value });
|
|
40
29
|
}
|
|
41
|
-
#layout;
|
|
42
|
-
#layoutForChild;
|
|
43
|
-
#ngUnsubscribe;
|
|
44
30
|
#themeAdapter;
|
|
45
|
-
#layoutHostSvc;
|
|
46
31
|
#helpSvc;
|
|
47
32
|
ngOnInit() {
|
|
48
33
|
this.#themeAdapter.addTheme();
|
|
49
|
-
this.#layoutHostSvc.hostLayoutForChild
|
|
50
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
51
|
-
.subscribe((args) => {
|
|
52
|
-
this.#layoutForChild = args.layout;
|
|
53
|
-
this.#updateCssClass();
|
|
54
|
-
});
|
|
55
34
|
}
|
|
56
35
|
ngOnDestroy() {
|
|
57
36
|
this.#themeAdapter.removeTheme();
|
|
58
|
-
this.#ngUnsubscribe.next();
|
|
59
|
-
this.#ngUnsubscribe.complete();
|
|
60
37
|
this.#helpSvc?.updateHelp({ pageDefaultHelpKey: undefined });
|
|
61
38
|
}
|
|
62
|
-
#updateCssClass() {
|
|
63
|
-
let cssClass = this.#layout
|
|
64
|
-
? `${LAYOUT_CLASS_PREFIX}${this.#layout}`
|
|
65
|
-
: LAYOUT_CLASS_DEFAULT;
|
|
66
|
-
if (this.#layoutForChild) {
|
|
67
|
-
cssClass = `${cssClass} ${LAYOUT_FOR_CHILD_CLASS_PREFIX}${this.#layoutForChild}`;
|
|
68
|
-
}
|
|
69
|
-
this.cssClass = cssClass;
|
|
70
|
-
}
|
|
71
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: SkyPageComponent, selector: "sky-page", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, helpKey: { classPropertyName: "helpKey", publicName: "helpKey", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
|
|
73
41
|
SkyPageThemeAdapterService,
|
|
74
|
-
SkyLayoutHostService,
|
|
75
42
|
provideSkyBreakpointObserver(SkyContainerBreakpointObserver),
|
|
76
|
-
], ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
43
|
+
], hostDirectives: [{ directive: i1.SkyLayoutHostDirective, inputs: ["layout", "layout"] }], ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
77
44
|
}
|
|
78
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageComponent, decorators: [{
|
|
79
46
|
type: Component,
|
|
@@ -82,16 +49,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
82
49
|
template: `<ng-content />`,
|
|
83
50
|
providers: [
|
|
84
51
|
SkyPageThemeAdapterService,
|
|
85
|
-
SkyLayoutHostService,
|
|
86
52
|
provideSkyBreakpointObserver(SkyContainerBreakpointObserver),
|
|
87
53
|
],
|
|
54
|
+
hostDirectives: [
|
|
55
|
+
{
|
|
56
|
+
directive: SkyLayoutHostDirective,
|
|
57
|
+
inputs: ['layout'],
|
|
58
|
+
},
|
|
59
|
+
],
|
|
88
60
|
}]
|
|
89
|
-
}], propDecorators: {
|
|
90
|
-
type: Input
|
|
91
|
-
}], helpKey: [{
|
|
61
|
+
}], propDecorators: { helpKey: [{
|
|
92
62
|
type: Input
|
|
93
|
-
}], cssClass: [{
|
|
94
|
-
type: HostBinding,
|
|
95
|
-
args: ['class']
|
|
96
63
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvc3JjL2xpYi9tb2R1bGVzL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBR0wsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsNEJBQTRCLEdBQzdCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHMUU7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxnQkFBZ0I7SUFkN0I7UUFlRTs7Ozs7O1dBTUc7UUFDSSxXQUFNLEdBQUcsS0FBSyxDQUFvQixNQUFNLENBQUMsQ0FBQztRQVV4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FVaEU7SUFuQkM7O09BRUc7SUFDSCxJQUNXLE9BQU8sQ0FBQyxLQUF5QjtRQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVRLGFBQWEsQ0FBc0M7SUFDbkQsUUFBUSxDQUE4QztJQUV4RCxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQTVCVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix5U0FYaEI7WUFDVCwwQkFBMEI7WUFDMUIsNEJBQTRCLENBQUMsOEJBQThCLENBQUM7U0FDN0Qsb0hBSlMsZ0JBQWdCOzs0RkFZZixnQkFBZ0I7a0JBZDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFNBQVMsRUFBRTt3QkFDVCwwQkFBMEI7d0JBQzFCLDRCQUE0QixDQUFDLDhCQUE4QixDQUFDO3FCQUM3RDtvQkFDRCxjQUFjLEVBQUU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLHNCQUFzQjs0QkFDakMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO3lCQUNuQjtxQkFDRjtpQkFDRjs4QkFlWSxPQUFPO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q29udGFpbmVyQnJlYWtwb2ludE9ic2VydmVyLFxuICBTa3lIZWxwU2VydmljZSxcbiAgU2t5TGF5b3V0SG9zdERpcmVjdGl2ZSxcbiAgcHJvdmlkZVNreUJyZWFrcG9pbnRPYnNlcnZlcixcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lQYWdlVGhlbWVBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vcGFnZS10aGVtZS1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UGFnZUxheW91dFR5cGUgfSBmcm9tICcuL3R5cGVzL3BhZ2UtbGF5b3V0LXR5cGUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgcGFnZSB1c2luZyB0aGUgc3BlY2lmaWVkIGxheW91dC4gVGhlIHBhZ2UgY29tcG9uZW50IGlzIGEgcmVzcG9uc2l2ZSBjb250YWluZXIsXG4gKiBtZWFuaW5nIGNvbnRlbnQgd2lsbCByZXNwZWN0IHRoZSBicmVha3BvaW50cyB3aXRoaW4gdGhlIHBhZ2UgZWxlbWVudCBpbnN0ZWFkIG9mIHRoZSB3aW5kb3cuXG4gKiBUaGlzIGlzIGhlbHBmdWwgaWYgdGhlcmUgaXMgb3RoZXIgY29udGVudCB0byB0aGUgbGVmdCBvciByaWdodCBvZiB0aGUgcGFnZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXBhZ2UnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IC8+YCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5UGFnZVRoZW1lQWRhcHRlclNlcnZpY2UsXG4gICAgcHJvdmlkZVNreUJyZWFrcG9pbnRPYnNlcnZlcihTa3lDb250YWluZXJCcmVha3BvaW50T2JzZXJ2ZXIpLFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogU2t5TGF5b3V0SG9zdERpcmVjdGl2ZSxcbiAgICAgIGlucHV0czogWydsYXlvdXQnXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIHBhZ2UgbGF5b3V0IHRoYXQgYXBwbGllcyBzcGFjaW5nIHRvIHRoZSBwYWdlIGhlYWRlciBhbmQgY29udGVudC4gVXNlIHRoZSBsYXlvdXRcbiAgICogdGhhdCBjb3JyZXNwb25kcyB3aXRoIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IHR5cGUgdXNlZCBvbiB0aGUgcGFnZSwgb3IgdXNlIGBmaXRgIHRvXG4gICAqIGNvbnN0cmFpbiB0aGUgcGFnZSBjb250ZW50cyB0byB0aGUgYXZhaWxhYmxlIHZpZXdwb3J0LlxuICAgKiBVc2UgYG5vbmVgIGZvciBjdXN0b20gY29udGVudCB0aGF0IGRvZXMgbm90IGFkaGVyZSB0byBwcmVkZWZpbmVkIHNwYWNpbmcgb3IgY29uc3RyYWludHMuXG4gICAqIEBkZWZhdWx0IFwibm9uZVwiXG4gICAqL1xuICBwdWJsaWMgbGF5b3V0ID0gaW5wdXQ8U2t5UGFnZUxheW91dFR5cGU+KCdub25lJyk7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBwYWdlJ3MgZGVmYXVsdCBbZ2xvYmFsIGhlbHBdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZGV2ZWxvcC9nbG9iYWwtaGVscCkgY29udGVudCB0byBkaXNwbGF5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBoZWxwS2V5KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNoZWxwU3ZjPy51cGRhdGVIZWxwKHsgcGFnZURlZmF1bHRIZWxwS2V5OiB2YWx1ZSB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5ICN0aGVtZUFkYXB0ZXIgPSBpbmplY3QoU2t5UGFnZVRoZW1lQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjaGVscFN2YyA9IGluamVjdChTa3lIZWxwU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jdGhlbWVBZGFwdGVyLmFkZFRoZW1lKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jdGhlbWVBZGFwdGVyLnJlbW92ZVRoZW1lKCk7XG4gICAgdGhpcy4jaGVscFN2Yz8udXBkYXRlSGVscCh7IHBhZ2VEZWZhdWx0SGVscEtleTogdW5kZWZpbmVkIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -18,6 +18,17 @@ const RESOURCES = {
|
|
|
18
18
|
message: 'No issues currently need attention',
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
|
+
'FR-CA': {
|
|
22
|
+
sky_action_hub_related_links: { message: 'Liens connexes' },
|
|
23
|
+
sky_action_hub_recent_links: { message: 'Accédés récemment' },
|
|
24
|
+
sky_action_hub_settings_links: { message: 'Paramètres' },
|
|
25
|
+
sky_action_hub_needs_attention: {
|
|
26
|
+
message: 'Nécessite une attention particulière',
|
|
27
|
+
},
|
|
28
|
+
sky_action_hub_needs_attention_empty: {
|
|
29
|
+
message: 'Aucun problème ne nécessite actuellement une attention particulière',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
21
32
|
};
|
|
22
33
|
SkyLibResourcesService.addResources(RESOURCES);
|
|
23
34
|
/**
|
|
@@ -34,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34
45
|
exports: [SkyI18nModule],
|
|
35
46
|
}]
|
|
36
47
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXBhZ2VzLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvc3JjL2xpYi9tb2R1bGVzL3NoYXJlZC9za3ktcGFnZXMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO1FBQzFELDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFO1FBQzdELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN0RCw4QkFBOEIsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRTtRQUM5RCxvQ0FBb0MsRUFBRTtZQUNwQyxPQUFPLEVBQUUsb0NBQW9DO1NBQzlDO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCw0QkFBNEIsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRTtRQUMzRCwyQkFBMkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRTtRQUM3RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDeEQsOEJBQThCLEVBQUU7WUFDOUIsT0FBTyxFQUFFLHNDQUFzQztTQUNoRDtRQUNELG9DQUFvQyxFQUFFO1lBQ3BDLE9BQU8sRUFDTCxxRUFBcUU7U0FDeEU7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7Z0hBQXZCLHVCQUF1QixZQUZ4QixhQUFhO2dIQUVaLHVCQUF1QixZQUZ4QixhQUFhOzs0RkFFWix1QkFBdUI7a0JBSG5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1wYWdlcycgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogUmVjb3JkPHN0cmluZywgU2t5TGliUmVzb3VyY2VzPiA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreV9hY3Rpb25faHViX3JlbGF0ZWRfbGlua3M6IHsgbWVzc2FnZTogJ1JlbGF0ZWQgbGlua3MnIH0sXG4gICAgc2t5X2FjdGlvbl9odWJfcmVjZW50X2xpbmtzOiB7IG1lc3NhZ2U6ICdSZWNlbnRseSBhY2Nlc3NlZCcgfSxcbiAgICBza3lfYWN0aW9uX2h1Yl9zZXR0aW5nc19saW5rczogeyBtZXNzYWdlOiAnU2V0dGluZ3MnIH0sXG4gICAgc2t5X2FjdGlvbl9odWJfbmVlZHNfYXR0ZW50aW9uOiB7IG1lc3NhZ2U6ICdOZWVkcyBhdHRlbnRpb24nIH0sXG4gICAgc2t5X2FjdGlvbl9odWJfbmVlZHNfYXR0ZW50aW9uX2VtcHR5OiB7XG4gICAgICBtZXNzYWdlOiAnTm8gaXNzdWVzIGN1cnJlbnRseSBuZWVkIGF0dGVudGlvbicsXG4gICAgfSxcbiAgfSxcbiAgJ0ZSLUNBJzoge1xuICAgIHNreV9hY3Rpb25faHViX3JlbGF0ZWRfbGlua3M6IHsgbWVzc2FnZTogJ0xpZW5zIGNvbm5leGVzJyB9LFxuICAgIHNreV9hY3Rpb25faHViX3JlY2VudF9saW5rczogeyBtZXNzYWdlOiAnQWNjw6lkw6lzIHLDqWNlbW1lbnQnIH0sXG4gICAgc2t5X2FjdGlvbl9odWJfc2V0dGluZ3NfbGlua3M6IHsgbWVzc2FnZTogJ1BhcmFtw6h0cmVzJyB9LFxuICAgIHNreV9hY3Rpb25faHViX25lZWRzX2F0dGVudGlvbjoge1xuICAgICAgbWVzc2FnZTogJ07DqWNlc3NpdGUgdW5lIGF0dGVudGlvbiBwYXJ0aWN1bGnDqHJlJyxcbiAgICB9LFxuICAgIHNreV9hY3Rpb25faHViX25lZWRzX2F0dGVudGlvbl9lbXB0eToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ0F1Y3VuIHByb2Jsw6htZSBuZSBuw6ljZXNzaXRlIGFjdHVlbGxlbWVudCB1bmUgYXR0ZW50aW9uIHBhcnRpY3VsacOocmUnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdlc1Jlc291cmNlc01vZHVsZSB7fVxuIl19
|
|
@@ -7,6 +7,9 @@ import { SkyPageHeaderHarness } from '../page-header/page-header-harness';
|
|
|
7
7
|
* Harness for interacting with an action hub component in tests.
|
|
8
8
|
*/
|
|
9
9
|
export class SkyActionHubHarness extends SkyComponentHarness {
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
10
13
|
static { this.hostSelector = 'sky-action-hub'; }
|
|
11
14
|
#pageHeader = this.locatorFor(SkyPageHeaderHarness);
|
|
12
15
|
#needsAttention = this.locatorFor(SkyNeedsAttentionHarness);
|
|
@@ -63,4 +66,4 @@ export class SkyActionHubHarness extends SkyComponentHarness {
|
|
|
63
66
|
return await this.#settingsLinks();
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWh1Yi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvYWN0aW9uLWh1Yi9hY3Rpb24taHViLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBQzFEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxnQkFBZ0IsQ0FBQztJQUVyQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BELGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUQsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQ3RDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QixRQUFRLEVBQUUsZ0NBQWdDO0tBQzNDLENBQUMsQ0FDSCxDQUFDO0lBQ08sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQ3JDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QixRQUFRLEVBQUUsa0RBQWtEO0tBQzdELENBQUMsQ0FDSCxDQUFDO0lBQ08sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQ3ZDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QixRQUFRLEVBQUUsc0NBQXNDO0tBQ2pELENBQUMsQ0FDSCxDQUFDO0lBRUY7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBbUM7UUFFbkMsT0FBTyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxzQkFBc0I7UUFDakMsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JBQXNCLENBQ2pDLFNBQThDLEVBQUU7UUFFaEQsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQzdCLDRCQUE0QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDMUMsRUFBRSxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5TGlua0xpc3RIYXJuZXNzIH0gZnJvbSAnLi4vbGluay1saXN0L2xpbmstbGlzdC1oYXJuZXNzJztcbmltcG9ydCB7IFNreU5lZWRzQXR0ZW50aW9uSGFybmVzcyB9IGZyb20gJy4uL25lZWRzLWF0dGVudGlvbi9uZWVkcy1hdHRlbnRpb24taGFybmVzcyc7XG5pbXBvcnQgeyBTa3lOZWVkc0F0dGVudGlvbkl0ZW1IYXJuZXNzIH0gZnJvbSAnLi4vbmVlZHMtYXR0ZW50aW9uL25lZWRzLWF0dGVudGlvbi1pdGVtLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuLi9uZWVkcy1hdHRlbnRpb24vbmVlZHMtYXR0ZW50aW9uLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreVBhZ2VIZWFkZXJIYXJuZXNzIH0gZnJvbSAnLi4vcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXItaGFybmVzcyc7XG5cbmltcG9ydCB7IFNreUFjdGlvbkh1Ykhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9hY3Rpb24taHViLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBhY3Rpb24gaHViIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUFjdGlvbkh1Ykhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWFjdGlvbi1odWInO1xuXG4gIHJlYWRvbmx5ICNwYWdlSGVhZGVyID0gdGhpcy5sb2NhdG9yRm9yKFNreVBhZ2VIZWFkZXJIYXJuZXNzKTtcbiAgcmVhZG9ubHkgI25lZWRzQXR0ZW50aW9uID0gdGhpcy5sb2NhdG9yRm9yKFNreU5lZWRzQXR0ZW50aW9uSGFybmVzcyk7XG4gIHJlYWRvbmx5ICNyZWxhdGVkTGlua3MgPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgU2t5TGlua0xpc3RIYXJuZXNzLndpdGgoe1xuICAgICAgc2VsZWN0b3I6ICdza3ktcGFnZS1saW5rcyA+IHNreS1saW5rLWxpc3QnLFxuICAgIH0pLFxuICApO1xuICByZWFkb25seSAjcmVjZW50TGlua3MgPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgU2t5TGlua0xpc3RIYXJuZXNzLndpdGgoe1xuICAgICAgc2VsZWN0b3I6ICdza3ktcGFnZS1saW5rcyA+IHNreS1saW5rLWxpc3QtcmVjZW50bHktYWNjZXNzZWQnLFxuICAgIH0pLFxuICApO1xuICByZWFkb25seSAjc2V0dGluZ3NMaW5rcyA9IHRoaXMubG9jYXRvckZvcihcbiAgICBTa3lMaW5rTGlzdEhhcm5lc3Mud2l0aCh7XG4gICAgICBzZWxlY3RvcjogJ3NreS1wYWdlLWxpbmtzID4gc2t5LW1vZGFsLWxpbmstbGlzdCcsXG4gICAgfSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUxpbmtMaXN0SGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUFjdGlvbkh1Ykhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUFjdGlvbkh1Ykhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5QWN0aW9uSHViSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGl0bGUgb2YgdGhlIGFjdGlvbiBodWIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI3BhZ2VIZWFkZXIoKSkuZ2V0UGFnZVRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0ZXN0aW5nIGhhcm5lc3MgZm9yIHRoZSBuZWVkcyBhdHRlbnRpb24gYmxvY2suXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TmVlZHNBdHRlbnRpb25CbG9jaygpOiBQcm9taXNlPFNreU5lZWRzQXR0ZW50aW9uSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLiNuZWVkc0F0dGVudGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdGVzdGluZyBoYXJuZXNzZXMgZm9yIGl0ZW1zIHdpdGhpbiB0aGUgbmVlZHMgYXR0ZW50aW9uIGJsb2NrLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE5lZWRzQXR0ZW50aW9uSXRlbXMoXG4gICAgZmlsdGVyOiBTa3lOZWVkc0F0dGVudGlvbkl0ZW1IYXJuZXNzRmlsdGVycyA9IHt9LFxuICApOiBQcm9taXNlPFNreU5lZWRzQXR0ZW50aW9uSXRlbUhhcm5lc3NbXT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lOZWVkc0F0dGVudGlvbkl0ZW1IYXJuZXNzLndpdGgoZmlsdGVyKSxcbiAgICApKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0ZXN0aW5nIGhhcm5lc3MgZm9yIHRoZSByZWxhdGVkIGxpbmtzIGJsb2NrLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJlbGF0ZWRMaW5rcygpOiBQcm9taXNlPFNreUxpbmtMaXN0SGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLiNyZWxhdGVkTGlua3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRlc3RpbmcgaGFybmVzcyBmb3IgdGhlIHJlY2VudCBsaW5rcyBibG9jay5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRSZWNlbnRMaW5rcygpOiBQcm9taXNlPFNreUxpbmtMaXN0SGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLiNyZWNlbnRMaW5rcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdGVzdGluZyBoYXJuZXNzIGZvciB0aGUgc2V0dGluZ3MgbGlua3MgYmxvY2suXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2V0dGluZ3NMaW5rcygpOiBQcm9taXNlPFNreUxpbmtMaXN0SGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLiNzZXR0aW5nc0xpbmtzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -194,6 +194,9 @@ class SkyPageHeaderHarness extends SkyComponentHarness {
|
|
|
194
194
|
* Harness for interacting with an action hub component in tests.
|
|
195
195
|
*/
|
|
196
196
|
class SkyActionHubHarness extends SkyComponentHarness {
|
|
197
|
+
/**
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
197
200
|
static { this.hostSelector = 'sky-action-hub'; }
|
|
198
201
|
#pageHeader = this.locatorFor(SkyPageHeaderHarness);
|
|
199
202
|
#needsAttention = this.locatorFor(SkyNeedsAttentionHarness);
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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 /**\n * @internal\n */\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":";;;;;AAKA;;AAEG;AACG,MAAO,sBAAuB,SAAQ,mBAAmB,CAAA;AAC7D;;AAEG;aACW,IAAY,CAAA,YAAA,GACxB,iDAAiD,CAAC,EAAA;AAEpD;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAsC,EAAA;QAEtC,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,SAAS,CACpE,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,OAAO,EAAE,IAAI,KAAI;AACtB,YAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,MAAM,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,SAAC,CACF,CAAC;KACH;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACzC;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KAC1C;;;ACpCH;;AAEG;AACG,MAAO,kBAAmB,SAAQ,mBAAmB,CAAA;AACzD;;AAEG;aACW,IAAY,CAAA,YAAA,GACxB,qEAAqE,CAAC,EAAA;AAExE,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACvD,IAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAE/C;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAkC,EAAA;AAElC,QAAA,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KAC1D;AAED;;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,CAAC;KACH;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAC/B,MAAM,IAAI,EACV,MAAM,KAAK,CACZ,CAAC;KACH;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;QACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;AAC5D,QAAA,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC;KACtC;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,CACvB,MAAA,GAAwC,EAAE,EAAA;AAE1C,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;KACxE;;;AC5DH;;AAEG;AACG,MAAO,wBAAyB,SAAQ,mBAAmB,CAAA;AAC/D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,qBAAqB,CAAC,EAAA;AAE1C,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC7C,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACjD,IAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;AAEnE;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAwC,EAAA;AAExC,QAAA,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KAChE;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,GAAA;QACnB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC;KAC1D;AAED;;AAEG;AACI,IAAA,MAAM,gBAAgB,GAAA;AAC3B,QAAA,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,QAAQ,KAAI;YACnD,IAAI,QAAQ,EAAE;AACZ,gBAAA,OAAO,SAAS,CAAC;aAClB;AACD,YAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1D,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAC/B,MAAM,IAAI,EACV,MAAM,KAAK,CACZ,CAAC;KACH;;;ACnDH;;AAEG;AACG,MAAO,4BAA6B,SAAQ,mBAAmB,CAAA;AACnE;;AAEG;aACW,IAAY,CAAA,YAAA,GACxB,yIAAyI,CAAC,EAAA;AAE5I;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA4C,EAAA;QAE5C,OAAO,4BAA4B,CAAC,qBAAqB,CACvD,OAAO,CACR,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,OAAO,EAAE,IAAI,KAAI;AACxD,YAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,MAAM,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACzC;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KAC1C;;;ACrCH;;AAEG;AACG,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAC3D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,iBAAiB,CAAC,EAAA;AAE/C,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;AAC3D,IAAA,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;AAEzE;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAoC,EAAA;AAEpC,QAAA,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KAC5D;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AAErC,QAAA,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;KAC3B;AAED;;AAEG;AACI,IAAA,MAAM,iBAAiB,GAAA;AAC5B,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE/C,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;SAChC;AAED,QAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACjE;;;ACpCH;;AAEG;AACG,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;AAC1D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,gBAAgB,CAAC,EAAA;AAErC,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACpD,IAAA,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC5D,aAAa,GAAG,IAAI,CAAC,UAAU,CACtC,kBAAkB,CAAC,IAAI,CAAC;AACtB,QAAA,QAAQ,EAAE,gCAAgC;AAC3C,KAAA,CAAC,CACH,CAAC;IACO,YAAY,GAAG,IAAI,CAAC,UAAU,CACrC,kBAAkB,CAAC,IAAI,CAAC;AACtB,QAAA,QAAQ,EAAE,kDAAkD;AAC7D,KAAA,CAAC,CACH,CAAC;IACO,cAAc,GAAG,IAAI,CAAC,UAAU,CACvC,kBAAkB,CAAC,IAAI,CAAC;AACtB,QAAA,QAAQ,EAAE,sCAAsC;AACjD,KAAA,CAAC,CACH,CAAC;AAEF;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAmC,EAAA;AAEnC,QAAA,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KAC3D;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,GAAA;QACnB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC;KACxD;AAED;;AAEG;AACI,IAAA,MAAM,sBAAsB,GAAA;AACjC,QAAA,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;KACrC;AAED;;AAEG;AACI,IAAA,MAAM,sBAAsB,CACjC,MAAA,GAA8C,EAAE,EAAA;AAEhD,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAC7B,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAC1C,EAAE,CAAC;KACL;AAED;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;AAC1B,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;KACnC;AAED;;AAEG;AACI,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAClC;AAED;;AAEG;AACI,IAAA,MAAM,gBAAgB,GAAA;AAC3B,QAAA,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;KACpC;;;ACnFH,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,YAAY,GAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E;;AAEG;AACG,MAAO,cAAe,SAAQ,mBAAmB,CAAA;AACrD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC,EAAA;AAExC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACtD;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAE/B,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,CAAC;aACf;SACF;AAED,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;;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,CAAC;QACJ,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,UAAU,CAAC;SACnB;AAED,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,6CAAA,EAAgD,IAAI,CAAC,SAAS,CAC5D,OAAO,CACR,CAAG,CAAA,CAAA,CACL,CAAC;KACH;;;ACjEH;;AAEG;;;;"}
|
package/fesm2022/skyux-pages.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, Optional, NgModule, Component, input, contentChildren, computed, inject, isStandalone, Input, ViewEncapsulation, ChangeDetectionStrategy, CSP_NONCE, Injectable, Inject
|
|
2
|
+
import { Pipe, Optional, NgModule, Component, input, contentChildren, computed, inject, isStandalone, Input, ViewEncapsulation, ChangeDetectionStrategy, CSP_NONCE, Injectable, Inject } from '@angular/core';
|
|
3
3
|
import * as i3 from '@skyux/indicators';
|
|
4
4
|
import { SkyWaitModule } from '@skyux/indicators';
|
|
5
5
|
import * as i3$1 from '@skyux/layout';
|
|
@@ -15,7 +15,7 @@ import { NgTemplateOutlet, CommonModule, DOCUMENT } from '@angular/common';
|
|
|
15
15
|
import * as i1 from '@skyux/i18n';
|
|
16
16
|
import { SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n';
|
|
17
17
|
import * as i1$2 from '@skyux/core';
|
|
18
|
-
import { SkyLogService, SkyTrimModule, SkyDefaultInputProvider, SkyMediaQueryService, SkyResponsiveHostDirective,
|
|
18
|
+
import { SkyLogService, SkyTrimModule, SkyDefaultInputProvider, SkyMediaQueryService, SkyResponsiveHostDirective, SkyHelpService, provideSkyBreakpointObserver, SkyContainerBreakpointObserver, SkyLayoutHostDirective } from '@skyux/core';
|
|
19
19
|
import { SkyModalService, SkyModalLegacyService } from '@skyux/modals';
|
|
20
20
|
import * as i4 from '@skyux/icon';
|
|
21
21
|
import { SkyIconModule } from '@skyux/icon';
|
|
@@ -233,6 +233,17 @@ const RESOURCES = {
|
|
|
233
233
|
message: 'No issues currently need attention',
|
|
234
234
|
},
|
|
235
235
|
},
|
|
236
|
+
'FR-CA': {
|
|
237
|
+
sky_action_hub_related_links: { message: 'Liens connexes' },
|
|
238
|
+
sky_action_hub_recent_links: { message: 'Accédés récemment' },
|
|
239
|
+
sky_action_hub_settings_links: { message: 'Paramètres' },
|
|
240
|
+
sky_action_hub_needs_attention: {
|
|
241
|
+
message: 'Nécessite une attention particulière',
|
|
242
|
+
},
|
|
243
|
+
sky_action_hub_needs_attention_empty: {
|
|
244
|
+
message: 'Aucun problème ne nécessite actuellement une attention particulière',
|
|
245
|
+
},
|
|
246
|
+
},
|
|
236
247
|
};
|
|
237
248
|
SkyLibResourcesService.addResources(RESOURCES);
|
|
238
249
|
/**
|
|
@@ -662,10 +673,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
662
673
|
args: [DOCUMENT]
|
|
663
674
|
}] }] });
|
|
664
675
|
|
|
665
|
-
const LAYOUT_DEFAULT = 'none';
|
|
666
|
-
const LAYOUT_FOR_CHILD_CLASS_PREFIX = 'sky-layout-host-for-child-';
|
|
667
|
-
const LAYOUT_CLASS_PREFIX = 'sky-layout-host-';
|
|
668
|
-
const LAYOUT_CLASS_DEFAULT = `${LAYOUT_CLASS_PREFIX}${LAYOUT_DEFAULT}`;
|
|
669
676
|
/**
|
|
670
677
|
* Displays a page using the specified layout. The page component is a responsive container,
|
|
671
678
|
* meaning content will respect the breakpoints within the page element instead of the window.
|
|
@@ -673,65 +680,37 @@ const LAYOUT_CLASS_DEFAULT = `${LAYOUT_CLASS_PREFIX}${LAYOUT_DEFAULT}`;
|
|
|
673
680
|
*/
|
|
674
681
|
class SkyPageComponent {
|
|
675
682
|
constructor() {
|
|
676
|
-
|
|
677
|
-
|
|
683
|
+
/**
|
|
684
|
+
* The page layout that applies spacing to the page header and content. Use the layout
|
|
685
|
+
* that corresponds with the top-level component type used on the page, or use `fit` to
|
|
686
|
+
* constrain the page contents to the available viewport.
|
|
687
|
+
* Use `none` for custom content that does not adhere to predefined spacing or constraints.
|
|
688
|
+
* @default "none"
|
|
689
|
+
*/
|
|
690
|
+
this.layout = input('none');
|
|
678
691
|
this.#themeAdapter = inject(SkyPageThemeAdapterService);
|
|
679
|
-
this.#layoutHostSvc = inject(SkyLayoutHostService);
|
|
680
692
|
this.#helpSvc = inject(SkyHelpService, { optional: true });
|
|
681
693
|
}
|
|
682
|
-
/**
|
|
683
|
-
* The page layout that applies spacing to the page header and content. Use the layout
|
|
684
|
-
* that corresponds with the top-level component type used on the page, or use `fit` to
|
|
685
|
-
* constrain the page contents to the available viewport.
|
|
686
|
-
* Use `none` for custom content that does not adhere to predefined spacing or constraints.
|
|
687
|
-
* @default "none"
|
|
688
|
-
*/
|
|
689
|
-
set layout(value) {
|
|
690
|
-
this.#layout = value;
|
|
691
|
-
this.#updateCssClass();
|
|
692
|
-
}
|
|
693
694
|
/**
|
|
694
695
|
* A help key that identifies the page's default [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) content to display.
|
|
695
696
|
*/
|
|
696
697
|
set helpKey(value) {
|
|
697
698
|
this.#helpSvc?.updateHelp({ pageDefaultHelpKey: value });
|
|
698
699
|
}
|
|
699
|
-
#layout;
|
|
700
|
-
#layoutForChild;
|
|
701
|
-
#ngUnsubscribe;
|
|
702
700
|
#themeAdapter;
|
|
703
|
-
#layoutHostSvc;
|
|
704
701
|
#helpSvc;
|
|
705
702
|
ngOnInit() {
|
|
706
703
|
this.#themeAdapter.addTheme();
|
|
707
|
-
this.#layoutHostSvc.hostLayoutForChild
|
|
708
|
-
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
709
|
-
.subscribe((args) => {
|
|
710
|
-
this.#layoutForChild = args.layout;
|
|
711
|
-
this.#updateCssClass();
|
|
712
|
-
});
|
|
713
704
|
}
|
|
714
705
|
ngOnDestroy() {
|
|
715
706
|
this.#themeAdapter.removeTheme();
|
|
716
|
-
this.#ngUnsubscribe.next();
|
|
717
|
-
this.#ngUnsubscribe.complete();
|
|
718
707
|
this.#helpSvc?.updateHelp({ pageDefaultHelpKey: undefined });
|
|
719
708
|
}
|
|
720
|
-
#updateCssClass() {
|
|
721
|
-
let cssClass = this.#layout
|
|
722
|
-
? `${LAYOUT_CLASS_PREFIX}${this.#layout}`
|
|
723
|
-
: LAYOUT_CLASS_DEFAULT;
|
|
724
|
-
if (this.#layoutForChild) {
|
|
725
|
-
cssClass = `${cssClass} ${LAYOUT_FOR_CHILD_CLASS_PREFIX}${this.#layoutForChild}`;
|
|
726
|
-
}
|
|
727
|
-
this.cssClass = cssClass;
|
|
728
|
-
}
|
|
729
709
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
730
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
710
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: SkyPageComponent, selector: "sky-page", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, helpKey: { classPropertyName: "helpKey", publicName: "helpKey", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
|
|
731
711
|
SkyPageThemeAdapterService,
|
|
732
|
-
SkyLayoutHostService,
|
|
733
712
|
provideSkyBreakpointObserver(SkyContainerBreakpointObserver),
|
|
734
|
-
], ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
713
|
+
], hostDirectives: [{ directive: i1$2.SkyLayoutHostDirective, inputs: ["layout", "layout"] }], ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
735
714
|
}
|
|
736
715
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageComponent, decorators: [{
|
|
737
716
|
type: Component,
|
|
@@ -740,17 +719,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
740
719
|
template: `<ng-content />`,
|
|
741
720
|
providers: [
|
|
742
721
|
SkyPageThemeAdapterService,
|
|
743
|
-
SkyLayoutHostService,
|
|
744
722
|
provideSkyBreakpointObserver(SkyContainerBreakpointObserver),
|
|
745
723
|
],
|
|
724
|
+
hostDirectives: [
|
|
725
|
+
{
|
|
726
|
+
directive: SkyLayoutHostDirective,
|
|
727
|
+
inputs: ['layout'],
|
|
728
|
+
},
|
|
729
|
+
],
|
|
746
730
|
}]
|
|
747
|
-
}], propDecorators: {
|
|
748
|
-
type: Input
|
|
749
|
-
}], helpKey: [{
|
|
731
|
+
}], propDecorators: { helpKey: [{
|
|
750
732
|
type: Input
|
|
751
|
-
}], cssClass: [{
|
|
752
|
-
type: HostBinding,
|
|
753
|
-
args: ['class']
|
|
754
733
|
}] } });
|
|
755
734
|
|
|
756
735
|
class SkyPageModule {
|