@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.
@@ -1,13 +1,8 @@
1
- import { Component, HostBinding, Input, inject, } from '@angular/core';
2
- import { SkyContainerBreakpointObserver, SkyHelpService, SkyLayoutHostService, provideSkyBreakpointObserver, } from '@skyux/core';
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
- const LAYOUT_DEFAULT = 'none';
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
- this.cssClass = LAYOUT_CLASS_DEFAULT;
19
- this.#ngUnsubscribe = new Subject();
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: "14.0.0", version: "18.2.13", type: SkyPageComponent, selector: "sky-page", inputs: { layout: "layout", helpKey: "helpKey" }, host: { properties: { "class": "this.cssClass" } }, providers: [
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: { layout: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvc3JjL2xpYi9tb2R1bGVzL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLGNBQWMsRUFFZCxvQkFBb0IsRUFDcEIsNEJBQTRCLEdBQzdCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUcxRSxNQUFNLGNBQWMsR0FBc0IsTUFBTSxDQUFDO0FBRWpELE1BQU0sNkJBQTZCLEdBQUcsNEJBQTRCLENBQUM7QUFDbkUsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztBQUMvQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsbUJBQW1CLEdBQUcsY0FBYyxFQUFFLENBQUM7QUFFdkU7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxnQkFBZ0I7SUFUN0I7UUFnQ1MsYUFBUSxHQUFHLG9CQUFvQixDQUFDO1FBS3ZDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDOUMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQWlDdkQ7SUFoRUM7Ozs7OztPQU1HO0lBQ0gsSUFDVyxNQUFNLENBQUMsS0FBb0M7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csT0FBTyxDQUFDLEtBQXlCO1FBQzFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBS0QsT0FBTyxDQUFnQztJQUN2QyxlQUFlLENBQWdDO0lBRS9DLGNBQWMsQ0FBdUI7SUFFckMsYUFBYSxDQUFzQztJQUNuRCxjQUFjLENBQWdDO0lBQzlDLFFBQVEsQ0FBOEM7SUFFL0MsUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7YUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsSUFBK0IsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQTJCLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU87WUFDekIsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6QyxDQUFDLENBQUMsb0JBQW9CLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsUUFBUSxHQUFHLEdBQUcsUUFBUSxJQUFJLDZCQUE2QixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuRixDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQzsrR0FoRVUsZ0JBQWdCO21HQUFoQixnQkFBZ0IseUlBTmhCO1lBQ1QsMEJBQTBCO1lBQzFCLG9CQUFvQjtZQUNwQiw0QkFBNEIsQ0FBQyw4QkFBOEIsQ0FBQztTQUM3RCwwQkFMUyxnQkFBZ0I7OzRGQU9mLGdCQUFnQjtrQkFUNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFO3dCQUNULDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQiw0QkFBNEIsQ0FBQyw4QkFBOEIsQ0FBQztxQkFDN0Q7aUJBQ0Y7OEJBVVksTUFBTTtzQkFEaEIsS0FBSztnQkFVSyxPQUFPO3NCQURqQixLQUFLO2dCQU1DLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q29udGFpbmVyQnJlYWtwb2ludE9ic2VydmVyLFxuICBTa3lIZWxwU2VydmljZSxcbiAgU2t5TGF5b3V0SG9zdEZvckNoaWxkQXJncyxcbiAgU2t5TGF5b3V0SG9zdFNlcnZpY2UsXG4gIHByb3ZpZGVTa3lCcmVha3BvaW50T2JzZXJ2ZXIsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQYWdlVGhlbWVBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vcGFnZS10aGVtZS1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UGFnZUxheW91dFR5cGUgfSBmcm9tICcuL3R5cGVzL3BhZ2UtbGF5b3V0LXR5cGUnO1xuXG5jb25zdCBMQVlPVVRfREVGQVVMVDogU2t5UGFnZUxheW91dFR5cGUgPSAnbm9uZSc7XG5cbmNvbnN0IExBWU9VVF9GT1JfQ0hJTERfQ0xBU1NfUFJFRklYID0gJ3NreS1sYXlvdXQtaG9zdC1mb3ItY2hpbGQtJztcbmNvbnN0IExBWU9VVF9DTEFTU19QUkVGSVggPSAnc2t5LWxheW91dC1ob3N0LSc7XG5jb25zdCBMQVlPVVRfQ0xBU1NfREVGQVVMVCA9IGAke0xBWU9VVF9DTEFTU19QUkVGSVh9JHtMQVlPVVRfREVGQVVMVH1gO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgcGFnZSB1c2luZyB0aGUgc3BlY2lmaWVkIGxheW91dC4gVGhlIHBhZ2UgY29tcG9uZW50IGlzIGEgcmVzcG9uc2l2ZSBjb250YWluZXIsXG4gKiBtZWFuaW5nIGNvbnRlbnQgd2lsbCByZXNwZWN0IHRoZSBicmVha3BvaW50cyB3aXRoaW4gdGhlIHBhZ2UgZWxlbWVudCBpbnN0ZWFkIG9mIHRoZSB3aW5kb3cuXG4gKiBUaGlzIGlzIGhlbHBmdWwgaWYgdGhlcmUgaXMgb3RoZXIgY29udGVudCB0byB0aGUgbGVmdCBvciByaWdodCBvZiB0aGUgcGFnZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXBhZ2UnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IC8+YCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5UGFnZVRoZW1lQWRhcHRlclNlcnZpY2UsXG4gICAgU2t5TGF5b3V0SG9zdFNlcnZpY2UsXG4gICAgcHJvdmlkZVNreUJyZWFrcG9pbnRPYnNlcnZlcihTa3lDb250YWluZXJCcmVha3BvaW50T2JzZXJ2ZXIpLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIHBhZ2UgbGF5b3V0IHRoYXQgYXBwbGllcyBzcGFjaW5nIHRvIHRoZSBwYWdlIGhlYWRlciBhbmQgY29udGVudC4gVXNlIHRoZSBsYXlvdXRcbiAgICogdGhhdCBjb3JyZXNwb25kcyB3aXRoIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IHR5cGUgdXNlZCBvbiB0aGUgcGFnZSwgb3IgdXNlIGBmaXRgIHRvXG4gICAqIGNvbnN0cmFpbiB0aGUgcGFnZSBjb250ZW50cyB0byB0aGUgYXZhaWxhYmxlIHZpZXdwb3J0LlxuICAgKiBVc2UgYG5vbmVgIGZvciBjdXN0b20gY29udGVudCB0aGF0IGRvZXMgbm90IGFkaGVyZSB0byBwcmVkZWZpbmVkIHNwYWNpbmcgb3IgY29uc3RyYWludHMuXG4gICAqIEBkZWZhdWx0IFwibm9uZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGxheW91dCh2YWx1ZTogU2t5UGFnZUxheW91dFR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNsYXlvdXQgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVDc3NDbGFzcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBwYWdlJ3MgZGVmYXVsdCBbZ2xvYmFsIGhlbHBdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZGV2ZWxvcC9nbG9iYWwtaGVscCkgY29udGVudCB0byBkaXNwbGF5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBoZWxwS2V5KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNoZWxwU3ZjPy51cGRhdGVIZWxwKHsgcGFnZURlZmF1bHRIZWxwS2V5OiB2YWx1ZSB9KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgY3NzQ2xhc3MgPSBMQVlPVVRfQ0xBU1NfREVGQVVMVDtcblxuICAjbGF5b3V0OiBTa3lQYWdlTGF5b3V0VHlwZSB8IHVuZGVmaW5lZDtcbiAgI2xheW91dEZvckNoaWxkOiBTa3lQYWdlTGF5b3V0VHlwZSB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3RoZW1lQWRhcHRlciA9IGluamVjdChTa3lQYWdlVGhlbWVBZGFwdGVyU2VydmljZSk7XG4gICNsYXlvdXRIb3N0U3ZjID0gaW5qZWN0KFNreUxheW91dEhvc3RTZXJ2aWNlKTtcbiAgI2hlbHBTdmMgPSBpbmplY3QoU2t5SGVscFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lQWRhcHRlci5hZGRUaGVtZSgpO1xuXG4gICAgdGhpcy4jbGF5b3V0SG9zdFN2Yy5ob3N0TGF5b3V0Rm9yQ2hpbGRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFyZ3M6IFNreUxheW91dEhvc3RGb3JDaGlsZEFyZ3MpID0+IHtcbiAgICAgICAgdGhpcy4jbGF5b3V0Rm9yQ2hpbGQgPSBhcmdzLmxheW91dCBhcyBTa3lQYWdlTGF5b3V0VHlwZTtcbiAgICAgICAgdGhpcy4jdXBkYXRlQ3NzQ2xhc3MoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lQWRhcHRlci5yZW1vdmVUaGVtZSgpO1xuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy4jaGVscFN2Yz8udXBkYXRlSGVscCh7IHBhZ2VEZWZhdWx0SGVscEtleTogdW5kZWZpbmVkIH0pO1xuICB9XG5cbiAgI3VwZGF0ZUNzc0NsYXNzKCk6IHZvaWQge1xuICAgIGxldCBjc3NDbGFzcyA9IHRoaXMuI2xheW91dFxuICAgICAgPyBgJHtMQVlPVVRfQ0xBU1NfUFJFRklYfSR7dGhpcy4jbGF5b3V0fWBcbiAgICAgIDogTEFZT1VUX0NMQVNTX0RFRkFVTFQ7XG5cbiAgICBpZiAodGhpcy4jbGF5b3V0Rm9yQ2hpbGQpIHtcbiAgICAgIGNzc0NsYXNzID0gYCR7Y3NzQ2xhc3N9ICR7TEFZT1VUX0ZPUl9DSElMRF9DTEFTU19QUkVGSVh9JHt0aGlzLiNsYXlvdXRGb3JDaGlsZH1gO1xuICAgIH1cblxuICAgIHRoaXMuY3NzQ2xhc3MgPSBjc3NDbGFzcztcbiAgfVxufVxuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXBhZ2VzLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvc3JjL2xpYi9tb2R1bGVzL3NoYXJlZC9za3ktcGFnZXMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO1FBQzFELDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFO1FBQzdELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN0RCw4QkFBOEIsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRTtRQUM5RCxvQ0FBb0MsRUFBRTtZQUNwQyxPQUFPLEVBQUUsb0NBQW9DO1NBQzlDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsWUFGeEIsYUFBYTtnSEFFWix1QkFBdUIsWUFGeEIsYUFBYTs7NEZBRVosdUJBQXVCO2tCQUhuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktcGFnZXMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3lfYWN0aW9uX2h1Yl9yZWxhdGVkX2xpbmtzOiB7IG1lc3NhZ2U6ICdSZWxhdGVkIGxpbmtzJyB9LFxuICAgIHNreV9hY3Rpb25faHViX3JlY2VudF9saW5rczogeyBtZXNzYWdlOiAnUmVjZW50bHkgYWNjZXNzZWQnIH0sXG4gICAgc2t5X2FjdGlvbl9odWJfc2V0dGluZ3NfbGlua3M6IHsgbWVzc2FnZTogJ1NldHRpbmdzJyB9LFxuICAgIHNreV9hY3Rpb25faHViX25lZWRzX2F0dGVudGlvbjogeyBtZXNzYWdlOiAnTmVlZHMgYXR0ZW50aW9uJyB9LFxuICAgIHNreV9hY3Rpb25faHViX25lZWRzX2F0dGVudGlvbl9lbXB0eToge1xuICAgICAgbWVzc2FnZTogJ05vIGlzc3VlcyBjdXJyZW50bHkgbmVlZCBhdHRlbnRpb24nLFxuICAgIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQYWdlc1Jlc291cmNlc01vZHVsZSB7fVxuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWh1Yi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvYWN0aW9uLWh1Yi9hY3Rpb24taHViLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO2FBQzVDLGlCQUFZLEdBQUcsZ0JBQWdCLENBQUM7SUFFckMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRCxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVELGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUN0QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDdEIsUUFBUSxFQUFFLGdDQUFnQztLQUMzQyxDQUFDLENBQ0gsQ0FBQztJQUNPLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUNyQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDdEIsUUFBUSxFQUFFLGtEQUFrRDtLQUM3RCxDQUFDLENBQ0gsQ0FBQztJQUNPLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUN2QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDdEIsUUFBUSxFQUFFLHNDQUFzQztLQUNqRCxDQUFDLENBQ0gsQ0FBQztJQUVGOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQW1DO1FBRW5DLE9BQU8sbUJBQW1CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVE7UUFDbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JBQXNCO1FBQ2pDLE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHNCQUFzQixDQUNqQyxTQUE4QyxFQUFFO1FBRWhELE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUM3Qiw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQzFDLEVBQUUsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGNBQWM7UUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUxpbmtMaXN0SGFybmVzcyB9IGZyb20gJy4uL2xpbmstbGlzdC9saW5rLWxpc3QtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lOZWVkc0F0dGVudGlvbkhhcm5lc3MgfSBmcm9tICcuLi9uZWVkcy1hdHRlbnRpb24vbmVlZHMtYXR0ZW50aW9uLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzcyB9IGZyb20gJy4uL25lZWRzLWF0dGVudGlvbi9uZWVkcy1hdHRlbnRpb24taXRlbS1oYXJuZXNzJztcbmltcG9ydCB7IFNreU5lZWRzQXR0ZW50aW9uSXRlbUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi4vbmVlZHMtYXR0ZW50aW9uL25lZWRzLWF0dGVudGlvbi1pdGVtLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzcyB9IGZyb20gJy4uL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lBY3Rpb25IdWJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYWN0aW9uLWh1Yi1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gYWN0aW9uIGh1YiBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lBY3Rpb25IdWJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1hY3Rpb24taHViJztcblxuICByZWFkb25seSAjcGFnZUhlYWRlciA9IHRoaXMubG9jYXRvckZvcihTa3lQYWdlSGVhZGVySGFybmVzcyk7XG4gIHJlYWRvbmx5ICNuZWVkc0F0dGVudGlvbiA9IHRoaXMubG9jYXRvckZvcihTa3lOZWVkc0F0dGVudGlvbkhhcm5lc3MpO1xuICByZWFkb25seSAjcmVsYXRlZExpbmtzID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgIFNreUxpbmtMaXN0SGFybmVzcy53aXRoKHtcbiAgICAgIHNlbGVjdG9yOiAnc2t5LXBhZ2UtbGlua3MgPiBza3ktbGluay1saXN0JyxcbiAgICB9KSxcbiAgKTtcbiAgcmVhZG9ubHkgI3JlY2VudExpbmtzID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgIFNreUxpbmtMaXN0SGFybmVzcy53aXRoKHtcbiAgICAgIHNlbGVjdG9yOiAnc2t5LXBhZ2UtbGlua3MgPiBza3ktbGluay1saXN0LXJlY2VudGx5LWFjY2Vzc2VkJyxcbiAgICB9KSxcbiAgKTtcbiAgcmVhZG9ubHkgI3NldHRpbmdzTGlua3MgPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgU2t5TGlua0xpc3RIYXJuZXNzLndpdGgoe1xuICAgICAgc2VsZWN0b3I6ICdza3ktcGFnZS1saW5rcyA+IHNreS1tb2RhbC1saW5rLWxpc3QnLFxuICAgIH0pLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lMaW5rTGlzdEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lBY3Rpb25IdWJIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lBY3Rpb25IdWJIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUFjdGlvbkh1Ykhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRpdGxlIG9mIHRoZSBhY3Rpb24gaHViLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNwYWdlSGVhZGVyKCkpLmdldFBhZ2VUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdGVzdGluZyBoYXJuZXNzIGZvciB0aGUgbmVlZHMgYXR0ZW50aW9uIGJsb2NrLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE5lZWRzQXR0ZW50aW9uQmxvY2soKTogUHJvbWlzZTxTa3lOZWVkc0F0dGVudGlvbkhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jbmVlZHNBdHRlbnRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRlc3RpbmcgaGFybmVzc2VzIGZvciBpdGVtcyB3aXRoaW4gdGhlIG5lZWRzIGF0dGVudGlvbiBibG9jay5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXROZWVkc0F0dGVudGlvbkl0ZW1zKFxuICAgIGZpbHRlcjogU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzc0ZpbHRlcnMgPSB7fSxcbiAgKTogUHJvbWlzZTxTa3lOZWVkc0F0dGVudGlvbkl0ZW1IYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKFxuICAgICAgU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzcy53aXRoKGZpbHRlciksXG4gICAgKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdGVzdGluZyBoYXJuZXNzIGZvciB0aGUgcmVsYXRlZCBsaW5rcyBibG9jay5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRSZWxhdGVkTGlua3MoKTogUHJvbWlzZTxTa3lMaW5rTGlzdEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jcmVsYXRlZExpbmtzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0ZXN0aW5nIGhhcm5lc3MgZm9yIHRoZSByZWNlbnQgbGlua3MgYmxvY2suXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UmVjZW50TGlua3MoKTogUHJvbWlzZTxTa3lMaW5rTGlzdEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jcmVjZW50TGlua3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRlc3RpbmcgaGFybmVzcyBmb3IgdGhlIHNldHRpbmdzIGxpbmtzIGJsb2NrLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNldHRpbmdzTGlua3MoKTogUHJvbWlzZTxTa3lMaW5rTGlzdEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jc2V0dGluZ3NMaW5rcygpO1xuICB9XG59XG4iXX0=
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":"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"}
@@ -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, HostBinding } from '@angular/core';
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, SkyLayoutHostService, SkyHelpService, provideSkyBreakpointObserver, SkyContainerBreakpointObserver } from '@skyux/core';
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
- this.cssClass = LAYOUT_CLASS_DEFAULT;
677
- this.#ngUnsubscribe = new Subject();
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: "14.0.0", version: "18.2.13", type: SkyPageComponent, selector: "sky-page", inputs: { layout: "layout", helpKey: "helpKey" }, host: { properties: { "class": "this.cssClass" } }, providers: [
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: { layout: [{
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 {