@skyux/pages 8.7.0 → 9.0.0-alpha.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/{esm2020 → esm2022}/lib/modules/action-hub/action-hub-buttons.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/action-hub/action-hub-content.component.mjs +4 -4
- package/esm2022/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.mjs +100 -0
- package/{esm2020 → esm2022}/lib/modules/action-hub/action-hub-related-links-sort.pipe.mjs +4 -4
- package/esm2022/lib/modules/action-hub/action-hub.component.mjs +68 -0
- package/{esm2020 → esm2022}/lib/modules/action-hub/action-hub.module.mjs +31 -31
- package/{esm2020 → esm2022}/lib/modules/link-as/link-as.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/link-as/link-as.pipe.mjs +4 -4
- package/esm2022/lib/modules/link-list/link-list.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/modules/link-list/link-list.module.mjs +17 -17
- package/esm2022/lib/modules/modal-link-list/modal-link-list.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/modules/modal-link-list/modal-link-list.module.mjs +15 -15
- package/esm2022/lib/modules/needs-attention/needs-attention.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/modules/needs-attention/needs-attention.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/modules/page/page-content.component.mjs +4 -4
- package/esm2022/lib/modules/page/page-theme-adapter.service.mjs +40 -0
- package/esm2022/lib/modules/page/page.component.mjs +76 -0
- package/{esm2020 → esm2022}/lib/modules/page/page.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/page-header/page-header-actions.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-header/page-header-alerts.component.mjs +4 -4
- package/esm2022/lib/modules/page-header/page-header-avatar.component.mjs +33 -0
- package/{esm2020 → esm2022}/lib/modules/page-header/page-header-details.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-header/page-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-header/page-header.module.mjs +23 -23
- package/esm2022/lib/modules/shared/sky-pages-resources.module.mjs +53 -0
- package/esm2022/testing/page/page-harness.mjs +44 -0
- package/esm2022/testing/page-header/page-header-harness.mjs +37 -0
- package/{fesm2020 → fesm2022}/skyux-pages-testing.mjs +12 -18
- package/{fesm2020 → fesm2022}/skyux-pages-testing.mjs.map +1 -1
- package/fesm2022/skyux-pages.mjs +849 -0
- package/{fesm2020 → fesm2022}/skyux-pages.mjs.map +1 -1
- package/lib/modules/action-hub/action-hub.component.d.ts +1 -1
- package/lib/modules/link-list/link-list.component.d.ts +1 -1
- package/lib/modules/modal-link-list/modal-link-list.component.d.ts +1 -1
- package/lib/modules/needs-attention/needs-attention.component.d.ts +1 -1
- package/lib/modules/page/page.component.d.ts +1 -1
- package/lib/modules/page-header/page-header.component.d.ts +1 -1
- package/package.json +19 -27
- package/esm2020/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.mjs +0 -101
- package/esm2020/lib/modules/action-hub/action-hub.component.mjs +0 -71
- package/esm2020/lib/modules/link-list/link-list.component.mjs +0 -33
- package/esm2020/lib/modules/modal-link-list/modal-link-list.component.mjs +0 -42
- package/esm2020/lib/modules/needs-attention/needs-attention.component.mjs +0 -41
- package/esm2020/lib/modules/page/page-theme-adapter.service.mjs +0 -43
- package/esm2020/lib/modules/page/page.component.mjs +0 -76
- package/esm2020/lib/modules/page-header/page-header-avatar.component.mjs +0 -36
- package/esm2020/lib/modules/shared/sky-pages-resources.module.mjs +0 -53
- package/esm2020/testing/page/page-harness.mjs +0 -44
- package/esm2020/testing/page-header/page-header-harness.mjs +0 -43
- package/fesm2015/skyux-pages-testing.mjs +0 -100
- package/fesm2015/skyux-pages-testing.mjs.map +0 -1
- package/fesm2015/skyux-pages.mjs +0 -867
- package/fesm2015/skyux-pages.mjs.map +0 -1
- package/fesm2020/skyux-pages.mjs +0 -863
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/action-hub-needs-attention-click-handler.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/action-hub-needs-attention-input.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/action-hub-needs-attention.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/page-link-interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/page-link.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/page-links-input.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/page-modal-link.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/page-modal-links-input.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/recent-link.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/recent-links-input.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-hub/types/recent-links-resolved.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/page/types/page-layout-type.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-pages.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/page/page-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/page-header/page-header-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-pages-testing.mjs +0 -0
|
@@ -0,0 +1,849 @@
|
|
|
1
|
+
import * as i1 from '@angular/common';
|
|
2
|
+
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Pipe, NgModule, Component, Input, inject, Optional, ChangeDetectionStrategy, Injectable, Inject, HostBinding } from '@angular/core';
|
|
5
|
+
import * as i6 from '@skyux/i18n';
|
|
6
|
+
import { SkyI18nModule, getLibStringForLocale, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
7
|
+
import * as i4 from '@skyux/indicators';
|
|
8
|
+
import { SkyWaitModule, SkyIconModule } from '@skyux/indicators';
|
|
9
|
+
import * as i3 from '@skyux/layout';
|
|
10
|
+
import { SkyBoxModule, SkyFluidGridModule } from '@skyux/layout';
|
|
11
|
+
import * as i5 from '@skyux/theme';
|
|
12
|
+
import { SkyThemeModule } from '@skyux/theme';
|
|
13
|
+
import * as i2 from '@skyux/router';
|
|
14
|
+
import { SkyAppLinkModule, SkyHrefModule } from '@skyux/router';
|
|
15
|
+
import * as i1$1 from '@skyux/modals';
|
|
16
|
+
import { SkyLogService, SkyTrimModule, SkyDefaultInputProvider, SkyMediaQueryService, SkyMediaBreakpoints, SkyLayoutHostService } from '@skyux/core';
|
|
17
|
+
import { RouterModule } from '@angular/router';
|
|
18
|
+
import { Subject } from 'rxjs';
|
|
19
|
+
import { takeUntil } from 'rxjs/operators';
|
|
20
|
+
|
|
21
|
+
class LinkAsPipe {
|
|
22
|
+
transform(value, linkAs) {
|
|
23
|
+
const permalink = value?.permalink;
|
|
24
|
+
const permalinkUrl = permalink?.url;
|
|
25
|
+
switch (linkAs) {
|
|
26
|
+
case 'button':
|
|
27
|
+
return !!value?.click && !permalink;
|
|
28
|
+
case 'href':
|
|
29
|
+
return permalinkUrl !== undefined && !permalinkUrl.includes('://');
|
|
30
|
+
case 'skyHref':
|
|
31
|
+
return permalinkUrl !== undefined && permalinkUrl.includes('://');
|
|
32
|
+
case 'skyAppLink':
|
|
33
|
+
return !!(permalink && permalinkUrl === undefined && permalink.route);
|
|
34
|
+
default:
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LinkAsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
39
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: LinkAsPipe, name: "linkAs" }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LinkAsPipe, decorators: [{
|
|
42
|
+
type: Pipe,
|
|
43
|
+
args: [{
|
|
44
|
+
name: 'linkAs',
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
|
|
48
|
+
class LinkAsModule {
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LinkAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
50
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: LinkAsModule, declarations: [LinkAsPipe], exports: [LinkAsPipe] }); }
|
|
51
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LinkAsModule }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LinkAsModule, decorators: [{
|
|
54
|
+
type: NgModule,
|
|
55
|
+
args: [{
|
|
56
|
+
declarations: [LinkAsPipe],
|
|
57
|
+
exports: [LinkAsPipe],
|
|
58
|
+
}]
|
|
59
|
+
}] });
|
|
60
|
+
|
|
61
|
+
class SkyLinkListComponent {
|
|
62
|
+
constructor() {
|
|
63
|
+
this.linksArray = [];
|
|
64
|
+
}
|
|
65
|
+
set links(value) {
|
|
66
|
+
this.#_links = value;
|
|
67
|
+
this.linksArray = Array.isArray(value) ? value : [];
|
|
68
|
+
}
|
|
69
|
+
get links() {
|
|
70
|
+
return this.#_links;
|
|
71
|
+
}
|
|
72
|
+
#_links;
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLinkListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyLinkListComponent, selector: "sky-link-list", inputs: { links: "links", title: "title" }, ngImport: i0, template: "<sky-wait [isWaiting]=\"links === 'loading'\"></sky-wait>\n<ng-container\n *ngIf=\"links === 'loading'; then loadingTemplateRef; else linksTemplateRef\"\n></ng-container>\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"linksArray.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul class=\"sky-link-list\">\n <li *ngFor=\"let link of linksArray\">\n <a *ngIf=\"link | linkAs : 'skyHref'\" [skyHref]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n <a *ngIf=\"link | linkAs : 'href'\" [href]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n <a\n *ngIf=\"link.permalink.route\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"link.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLinkListComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{ selector: 'sky-link-list', template: "<sky-wait [isWaiting]=\"links === 'loading'\"></sky-wait>\n<ng-container\n *ngIf=\"links === 'loading'; then loadingTemplateRef; else linksTemplateRef\"\n></ng-container>\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"linksArray.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul class=\"sky-link-list\">\n <li *ngFor=\"let link of linksArray\">\n <a *ngIf=\"link | linkAs : 'skyHref'\" [skyHref]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n <a *ngIf=\"link | linkAs : 'href'\" [href]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n <a\n *ngIf=\"link.permalink.route\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"link.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"] }]
|
|
79
|
+
}], propDecorators: { links: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], title: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}] } });
|
|
84
|
+
|
|
85
|
+
class SkyLinkListModule {
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLinkListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
87
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyLinkListModule, declarations: [SkyLinkListComponent], imports: [CommonModule,
|
|
88
|
+
SkyAppLinkModule,
|
|
89
|
+
SkyHrefModule,
|
|
90
|
+
SkyI18nModule,
|
|
91
|
+
SkyThemeModule,
|
|
92
|
+
SkyWaitModule,
|
|
93
|
+
LinkAsModule], exports: [SkyLinkListComponent] }); }
|
|
94
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLinkListModule, imports: [CommonModule,
|
|
95
|
+
SkyAppLinkModule,
|
|
96
|
+
SkyHrefModule,
|
|
97
|
+
SkyI18nModule,
|
|
98
|
+
SkyThemeModule,
|
|
99
|
+
SkyWaitModule,
|
|
100
|
+
LinkAsModule] }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyLinkListModule, decorators: [{
|
|
103
|
+
type: NgModule,
|
|
104
|
+
args: [{
|
|
105
|
+
declarations: [SkyLinkListComponent],
|
|
106
|
+
exports: [SkyLinkListComponent],
|
|
107
|
+
imports: [
|
|
108
|
+
CommonModule,
|
|
109
|
+
SkyAppLinkModule,
|
|
110
|
+
SkyHrefModule,
|
|
111
|
+
SkyI18nModule,
|
|
112
|
+
SkyThemeModule,
|
|
113
|
+
SkyWaitModule,
|
|
114
|
+
LinkAsModule,
|
|
115
|
+
],
|
|
116
|
+
}]
|
|
117
|
+
}] });
|
|
118
|
+
|
|
119
|
+
class SkyModalLinkListComponent {
|
|
120
|
+
set links(value) {
|
|
121
|
+
this.#_links = value;
|
|
122
|
+
this.linksArray = Array.isArray(value) ? value : [];
|
|
123
|
+
}
|
|
124
|
+
get links() {
|
|
125
|
+
return this.#_links;
|
|
126
|
+
}
|
|
127
|
+
#_links;
|
|
128
|
+
#modalService;
|
|
129
|
+
constructor(modalService) {
|
|
130
|
+
this.linksArray = [];
|
|
131
|
+
this.#modalService = modalService;
|
|
132
|
+
}
|
|
133
|
+
openModal(link) {
|
|
134
|
+
const modal = link.modal;
|
|
135
|
+
if (modal) {
|
|
136
|
+
this.#modalService.open(modal.component, modal.config);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalLinkListComponent, deps: [{ token: i1$1.SkyModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyModalLinkListComponent, selector: "sky-modal-link-list", inputs: { links: "links", title: "title" }, ngImport: i0, template: "<sky-wait [isWaiting]=\"links === 'loading'\"></sky-wait>\n<ng-container\n *ngIf=\"links === 'loading'; then loadingTemplateRef; else linksTemplateRef\"\n></ng-container>\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"linksArray.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul class=\"sky-link-list\">\n <li *ngFor=\"let link of linksArray\">\n <a *ngIf=\"link | linkAs : 'skyHref'\" [skyHref]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n <a *ngIf=\"link | linkAs : 'href'\" [href]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n <a\n *ngIf=\"link.permalink && link.permalink.route\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"link.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n <button\n *ngIf=\"link.modal\"\n (click)=\"openModal(link)\"\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n >\n {{ link.label }}\n </button>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalLinkListComponent, decorators: [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'sky-modal-link-list', template: "<sky-wait [isWaiting]=\"links === 'loading'\"></sky-wait>\n<ng-container\n *ngIf=\"links === 'loading'; then loadingTemplateRef; else linksTemplateRef\"\n></ng-container>\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"linksArray.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul class=\"sky-link-list\">\n <li *ngFor=\"let link of linksArray\">\n <a *ngIf=\"link | linkAs : 'skyHref'\" [skyHref]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n <a *ngIf=\"link | linkAs : 'href'\" [href]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n <a\n *ngIf=\"link.permalink && link.permalink.route\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"link.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n <button\n *ngIf=\"link.modal\"\n (click)=\"openModal(link)\"\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n >\n {{ link.label }}\n </button>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"] }]
|
|
145
|
+
}], ctorParameters: function () { return [{ type: i1$1.SkyModalService }]; }, propDecorators: { links: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], title: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}] } });
|
|
150
|
+
|
|
151
|
+
class SkyModalLinkListModule {
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalLinkListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
153
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyModalLinkListModule, declarations: [SkyModalLinkListComponent], imports: [CommonModule,
|
|
154
|
+
SkyAppLinkModule,
|
|
155
|
+
SkyHrefModule,
|
|
156
|
+
SkyI18nModule,
|
|
157
|
+
SkyWaitModule,
|
|
158
|
+
LinkAsModule], exports: [SkyModalLinkListComponent] }); }
|
|
159
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalLinkListModule, imports: [CommonModule,
|
|
160
|
+
SkyAppLinkModule,
|
|
161
|
+
SkyHrefModule,
|
|
162
|
+
SkyI18nModule,
|
|
163
|
+
SkyWaitModule,
|
|
164
|
+
LinkAsModule] }); }
|
|
165
|
+
}
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyModalLinkListModule, decorators: [{
|
|
167
|
+
type: NgModule,
|
|
168
|
+
args: [{
|
|
169
|
+
declarations: [SkyModalLinkListComponent],
|
|
170
|
+
exports: [SkyModalLinkListComponent],
|
|
171
|
+
imports: [
|
|
172
|
+
CommonModule,
|
|
173
|
+
SkyAppLinkModule,
|
|
174
|
+
SkyHrefModule,
|
|
175
|
+
SkyI18nModule,
|
|
176
|
+
SkyWaitModule,
|
|
177
|
+
LinkAsModule,
|
|
178
|
+
],
|
|
179
|
+
}]
|
|
180
|
+
}] });
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
184
|
+
* The contents of this file were automatically generated by
|
|
185
|
+
* the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-pages' schematic.
|
|
186
|
+
* To update this file, simply rerun the command.
|
|
187
|
+
*/
|
|
188
|
+
const RESOURCES = {
|
|
189
|
+
'EN-US': {
|
|
190
|
+
sky_action_hub_related_links: { message: 'Related links' },
|
|
191
|
+
sky_action_hub_recent_links: { message: 'Recently accessed' },
|
|
192
|
+
sky_action_hub_settings_links: { message: 'Settings' },
|
|
193
|
+
sky_action_hub_needs_attention: { message: 'Needs attention' },
|
|
194
|
+
sky_action_hub_needs_attention_empty: {
|
|
195
|
+
message: 'No issues currently need attention',
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
class SkyPagesResourcesProvider {
|
|
200
|
+
getString(localeInfo, name) {
|
|
201
|
+
return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Import into any component library module that needs to use resource strings.
|
|
206
|
+
*/
|
|
207
|
+
class SkyPagesResourcesModule {
|
|
208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPagesResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
209
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyPagesResourcesModule, exports: [SkyI18nModule] }); }
|
|
210
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPagesResourcesModule, providers: [
|
|
211
|
+
{
|
|
212
|
+
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
213
|
+
useClass: SkyPagesResourcesProvider,
|
|
214
|
+
multi: true,
|
|
215
|
+
},
|
|
216
|
+
], imports: [SkyI18nModule] }); }
|
|
217
|
+
}
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPagesResourcesModule, decorators: [{
|
|
219
|
+
type: NgModule,
|
|
220
|
+
args: [{
|
|
221
|
+
exports: [SkyI18nModule],
|
|
222
|
+
providers: [
|
|
223
|
+
{
|
|
224
|
+
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
225
|
+
useClass: SkyPagesResourcesProvider,
|
|
226
|
+
multi: true,
|
|
227
|
+
},
|
|
228
|
+
],
|
|
229
|
+
}]
|
|
230
|
+
}] });
|
|
231
|
+
|
|
232
|
+
class SkyNeedsAttentionComponent {
|
|
233
|
+
set items(value) {
|
|
234
|
+
this.#items = value;
|
|
235
|
+
if (value?.some((c) => c.message)) {
|
|
236
|
+
this.#logService.deprecated(`SkyActionHubNeedsAttention.message`, {
|
|
237
|
+
deprecationMajorVersion: 7,
|
|
238
|
+
replacementRecommendation: 'Use `title` instead.',
|
|
239
|
+
moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/action-hub?docs-active-tab=development#interface-skyactionhubneedsattention',
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
get items() {
|
|
244
|
+
return this.#items;
|
|
245
|
+
}
|
|
246
|
+
#items;
|
|
247
|
+
#logService = inject(SkyLogService);
|
|
248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNeedsAttentionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
249
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyNeedsAttentionComponent, selector: "sky-needs-attention", inputs: { items: "items" }, ngImport: i0, template: "<ng-template #itemsTemplate>\n <ul>\n <li\n *ngFor=\"let item of items; let isLast = last\"\n class=\"sky-needs-attention-item-wrapper sky-font-emphasized\"\n [ngClass]=\"{\n 'sky-border-bottom-row': !isLast\n }\"\n >\n <a\n *ngIf=\"\n (item | linkAs : 'skyAppLink') &&\n item.permalink?.route as permalinkRoute\n \"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"permalinkRoute.extras?.queryParamsHandling\"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n class=\"sky-needs-attention-item\"\n >{{ item.title }} {{ item.message }}</a\n >\n <ng-container *ngIf=\"item.permalink as permalink\">\n <a\n *ngIf=\"item | linkAs : 'skyHref'\"\n [skyHref]=\"permalink.url\"\n class=\"sky-needs-attention-item\"\n >{{ item.title }} {{ item.message }}</a\n >\n <a\n *ngIf=\"item | linkAs : 'href'\"\n [href]=\"permalink.url\"\n class=\"sky-needs-attention-item\"\n >{{ item.title }} {{ item.message }}</a\n >\n </ng-container>\n <button\n *ngIf=\"item | linkAs : 'button'\"\n class=\"sky-needs-attention-item sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"item?.click({item})\"\n >\n {{ item.title }} {{ item.message }}\n </button>\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"caret-right\"\n ></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </li>\n </ul>\n</ng-template>\n\n<sky-box>\n <sky-box-header>\n <h2 class=\"sky-font-heading-2\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n </sky-box-header>\n <sky-box-content>\n <ng-container *ngIf=\"items?.length === 0; else itemsTemplate\">{{\n 'sky_action_hub_needs_attention_empty' | skyLibResources\n }}</ng-container>\n </sky-box-content>\n</sky-box>\n", styles: [":host{display:block;margin-bottom:var(--sky-margin-stacked-xl)}h2{margin:0}ul{list-style:none;padding:0;margin:0}ul li{margin:0}.sky-needs-attention-item-wrapper{position:relative;display:grid;grid-template-columns:5fr 1fr;grid-template-areas:\"action icon\"}.sky-needs-attention-item-wrapper:not(:first-child){padding-top:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:not(:last-child){padding-bottom:var(--sky-margin-stacked-lg)}.sky-needs-attention-item{grid-area:action;text-align:left;width:100%;white-space:normal}.sky-needs-attention-item-icon{grid-area:icon;text-align:right;color:#686c73}.sky-needs-attention-item:focus-visible{outline:none}.sky-needs-attention-item:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}.sky-needs-attention-item:before{content:\" \";position:absolute;inset:0;cursor:pointer}button.sky-needs-attention-item.sky-border-bottom-row{border-bottom:1px dotted #cdcfd2}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "component", type: i3.λ41, selector: "sky-box", inputs: ["ariaLabel", "ariaLabelledBy", "ariaRole"] }, { kind: "component", type: i3.λ42, selector: "sky-box-header" }, { kind: "component", type: i3.λ43, selector: "sky-box-content" }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i5.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
|
|
250
|
+
}
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNeedsAttentionComponent, decorators: [{
|
|
252
|
+
type: Component,
|
|
253
|
+
args: [{ selector: 'sky-needs-attention', template: "<ng-template #itemsTemplate>\n <ul>\n <li\n *ngFor=\"let item of items; let isLast = last\"\n class=\"sky-needs-attention-item-wrapper sky-font-emphasized\"\n [ngClass]=\"{\n 'sky-border-bottom-row': !isLast\n }\"\n >\n <a\n *ngIf=\"\n (item | linkAs : 'skyAppLink') &&\n item.permalink?.route as permalinkRoute\n \"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"permalinkRoute.extras?.queryParamsHandling\"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n class=\"sky-needs-attention-item\"\n >{{ item.title }} {{ item.message }}</a\n >\n <ng-container *ngIf=\"item.permalink as permalink\">\n <a\n *ngIf=\"item | linkAs : 'skyHref'\"\n [skyHref]=\"permalink.url\"\n class=\"sky-needs-attention-item\"\n >{{ item.title }} {{ item.message }}</a\n >\n <a\n *ngIf=\"item | linkAs : 'href'\"\n [href]=\"permalink.url\"\n class=\"sky-needs-attention-item\"\n >{{ item.title }} {{ item.message }}</a\n >\n </ng-container>\n <button\n *ngIf=\"item | linkAs : 'button'\"\n class=\"sky-needs-attention-item sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"item?.click({item})\"\n >\n {{ item.title }} {{ item.message }}\n </button>\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"caret-right\"\n ></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </li>\n </ul>\n</ng-template>\n\n<sky-box>\n <sky-box-header>\n <h2 class=\"sky-font-heading-2\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n </sky-box-header>\n <sky-box-content>\n <ng-container *ngIf=\"items?.length === 0; else itemsTemplate\">{{\n 'sky_action_hub_needs_attention_empty' | skyLibResources\n }}</ng-container>\n </sky-box-content>\n</sky-box>\n", styles: [":host{display:block;margin-bottom:var(--sky-margin-stacked-xl)}h2{margin:0}ul{list-style:none;padding:0;margin:0}ul li{margin:0}.sky-needs-attention-item-wrapper{position:relative;display:grid;grid-template-columns:5fr 1fr;grid-template-areas:\"action icon\"}.sky-needs-attention-item-wrapper:not(:first-child){padding-top:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:not(:last-child){padding-bottom:var(--sky-margin-stacked-lg)}.sky-needs-attention-item{grid-area:action;text-align:left;width:100%;white-space:normal}.sky-needs-attention-item-icon{grid-area:icon;text-align:right;color:#686c73}.sky-needs-attention-item:focus-visible{outline:none}.sky-needs-attention-item:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}.sky-needs-attention-item:before{content:\" \";position:absolute;inset:0;cursor:pointer}button.sky-needs-attention-item.sky-border-bottom-row{border-bottom:1px dotted #cdcfd2}\n"] }]
|
|
254
|
+
}], propDecorators: { items: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}] } });
|
|
257
|
+
|
|
258
|
+
class SkyNeedsAttentionModule {
|
|
259
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNeedsAttentionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
260
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyNeedsAttentionModule, declarations: [SkyNeedsAttentionComponent], imports: [CommonModule,
|
|
261
|
+
SkyAppLinkModule,
|
|
262
|
+
SkyBoxModule,
|
|
263
|
+
SkyHrefModule,
|
|
264
|
+
SkyI18nModule,
|
|
265
|
+
SkyIconModule,
|
|
266
|
+
SkyPagesResourcesModule,
|
|
267
|
+
SkyThemeModule,
|
|
268
|
+
SkyTrimModule,
|
|
269
|
+
SkyWaitModule,
|
|
270
|
+
LinkAsModule], exports: [SkyNeedsAttentionComponent] }); }
|
|
271
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNeedsAttentionModule, imports: [CommonModule,
|
|
272
|
+
SkyAppLinkModule,
|
|
273
|
+
SkyBoxModule,
|
|
274
|
+
SkyHrefModule,
|
|
275
|
+
SkyI18nModule,
|
|
276
|
+
SkyIconModule,
|
|
277
|
+
SkyPagesResourcesModule,
|
|
278
|
+
SkyThemeModule,
|
|
279
|
+
SkyTrimModule,
|
|
280
|
+
SkyWaitModule,
|
|
281
|
+
LinkAsModule] }); }
|
|
282
|
+
}
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNeedsAttentionModule, decorators: [{
|
|
284
|
+
type: NgModule,
|
|
285
|
+
args: [{
|
|
286
|
+
declarations: [SkyNeedsAttentionComponent],
|
|
287
|
+
exports: [SkyNeedsAttentionComponent],
|
|
288
|
+
imports: [
|
|
289
|
+
CommonModule,
|
|
290
|
+
SkyAppLinkModule,
|
|
291
|
+
SkyBoxModule,
|
|
292
|
+
SkyHrefModule,
|
|
293
|
+
SkyI18nModule,
|
|
294
|
+
SkyIconModule,
|
|
295
|
+
SkyPagesResourcesModule,
|
|
296
|
+
SkyThemeModule,
|
|
297
|
+
SkyTrimModule,
|
|
298
|
+
SkyWaitModule,
|
|
299
|
+
LinkAsModule,
|
|
300
|
+
],
|
|
301
|
+
}]
|
|
302
|
+
}] });
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Displays buttons within the page header for page actions and applies spacing between buttons.
|
|
306
|
+
* Appears below the page header details.
|
|
307
|
+
*/
|
|
308
|
+
class SkyPageHeaderActionsComponent {
|
|
309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageHeaderActionsComponent, selector: "sky-page-header-actions", ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){margin-top:var(--sky-margin-stacked-xl)}:host:not(:empty) ::ng-deep .sky-btn+.sky-btn{margin-left:var(--sky-margin-inline-sm)}\n"] }); }
|
|
311
|
+
}
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderActionsComponent, decorators: [{
|
|
313
|
+
type: Component,
|
|
314
|
+
args: [{ selector: 'sky-page-header-actions', template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){margin-top:var(--sky-margin-stacked-xl)}:host:not(:empty) ::ng-deep .sky-btn+.sky-btn{margin-left:var(--sky-margin-inline-sm)}\n"] }]
|
|
315
|
+
}] });
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Displays alerts within the page header and applies spacing between alerts. Appears above the page title.
|
|
319
|
+
*/
|
|
320
|
+
class SkyPageHeaderAlertsComponent {
|
|
321
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderAlertsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
322
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageHeaderAlertsComponent, selector: "sky-page-header-alerts", ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){margin-bottom:var(--sky-margin-stacked-lg)}:host:not(:empty) ::ng-deep sky-alert+sky-alert{margin-top:var(--sky-margin-stacked-lg)}\n"] }); }
|
|
323
|
+
}
|
|
324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderAlertsComponent, decorators: [{
|
|
325
|
+
type: Component,
|
|
326
|
+
args: [{ selector: 'sky-page-header-alerts', template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){margin-bottom:var(--sky-margin-stacked-lg)}:host:not(:empty) ::ng-deep sky-alert+sky-alert{margin-top:var(--sky-margin-stacked-lg)}\n"] }]
|
|
327
|
+
}] });
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Displays an avatar within the page header to the left of the page title.
|
|
331
|
+
* If no size is specified for the avatar component it will display at size
|
|
332
|
+
* small on xs breakpoints and size large on small and above breakpoints.
|
|
333
|
+
*/
|
|
334
|
+
class SkyPageHeaderAvatarComponent {
|
|
335
|
+
#defaultInputProvider = inject(SkyDefaultInputProvider);
|
|
336
|
+
#mediaQueryService = inject(SkyMediaQueryService);
|
|
337
|
+
#mediaQuerySubscription;
|
|
338
|
+
constructor() {
|
|
339
|
+
this.#mediaQuerySubscription = this.#mediaQueryService.subscribe((args) => {
|
|
340
|
+
if (args === SkyMediaBreakpoints.xs) {
|
|
341
|
+
this.#defaultInputProvider.setValue('avatar', 'size', 'small');
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
this.#defaultInputProvider.setValue('avatar', 'size', 'large');
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
ngOnDestroy() {
|
|
349
|
+
this.#mediaQuerySubscription.unsubscribe();
|
|
350
|
+
}
|
|
351
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
352
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageHeaderAvatarComponent, selector: "sky-page-header-avatar", providers: [SkyDefaultInputProvider], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){padding-top:5px;margin-right:var(--sky-margin-inline-sm)}@media (min-width: 768px){:host:not(:empty){margin-right:var(--sky-margin-inline-lg)}}:host-context(.sky-responsive-container-sm):not(:empty),:host-context(.sky-responsive-container-md):not(:empty),:host-context(.sky-responsive-container-lg):not(:empty){margin-right:var(--sky-margin-inline-lg)}\n"] }); }
|
|
353
|
+
}
|
|
354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderAvatarComponent, decorators: [{
|
|
355
|
+
type: Component,
|
|
356
|
+
args: [{ selector: 'sky-page-header-avatar', providers: [SkyDefaultInputProvider], template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){padding-top:5px;margin-right:var(--sky-margin-inline-sm)}@media (min-width: 768px){:host:not(:empty){margin-right:var(--sky-margin-inline-lg)}}:host-context(.sky-responsive-container-sm):not(:empty),:host-context(.sky-responsive-container-md):not(:empty),:host-context(.sky-responsive-container-lg):not(:empty){margin-right:var(--sky-margin-inline-lg)}\n"] }]
|
|
357
|
+
}], ctorParameters: function () { return []; } });
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Displays additional information in the page header, like record details.
|
|
361
|
+
* Appears below the title and above the page actions.
|
|
362
|
+
*/
|
|
363
|
+
class SkyPageHeaderDetailsComponent {
|
|
364
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
365
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageHeaderDetailsComponent, selector: "sky-page-header-details", ngImport: i0, template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){margin-top:var(--sky-margin-stacked-sm)}\n"] }); }
|
|
366
|
+
}
|
|
367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderDetailsComponent, decorators: [{
|
|
368
|
+
type: Component,
|
|
369
|
+
args: [{ selector: 'sky-page-header-details', template: "<ng-content />\n", styles: [":host{display:block}:host:not(:empty){margin-top:var(--sky-margin-stacked-sm)}\n"] }]
|
|
370
|
+
}] });
|
|
371
|
+
|
|
372
|
+
let parentLink;
|
|
373
|
+
/**
|
|
374
|
+
* Displays page heading's contents using spacing that corresponds to the parent page's layout
|
|
375
|
+
*/
|
|
376
|
+
class SkyPageHeaderComponent {
|
|
377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
378
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageHeaderComponent, selector: "sky-page-header", inputs: { parentLink: "parentLink", pageTitle: "pageTitle" }, ngImport: i0, template: "<div class=\"sky-page-header\">\n <ng-content select=\"sky-page-header-alerts\"></ng-content>\n <div class=\"sky-page-header-info\">\n <ng-content select=\"sky-page-header-avatar\"></ng-content>\n <div>\n <h1 class=\"sky-page-header-text\">\n <span *ngIf=\"parentLink\" class=\"sky-page-header-parent-link-wrapper\">\n <a\n *ngIf=\"parentLink.permalink?.url\"\n [skyHref]=\"parentLink.permalink.url\"\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n >{{ parentLink.label }}</a\n >\n <a\n *ngIf=\"parentLink.permalink?.route as permalinkRoute\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"permalinkRoute.extras?.queryParamsHandling\"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n >{{ parentLink.label }}</a\n >\n <span class=\"sky-page-header-chevron\">\n <sky-icon icon=\"chevron-right\" iconType=\"skyux\" />\n </span>\n </span>\n <wbr *ngIf=\"parentLink\" />\n <span class=\"sky-page-header-page-title sky-font-heading-1\">\n {{ pageTitle }}\n </span>\n </h1>\n <div class=\"sky-page-header-content\">\n <ng-content select=\"sky-page-header-details\"></ng-content>\n <ng-content select=\"sky-page-header-actions\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{flex-grow:var(--sky-layout-host-header-flex-grow, 0);display:block}.sky-page-header{margin:var(--sky-layout-host-header-spacing, var(--sky-compat-page-header-margin-top-and-bottom, 0) 0)}.sky-page-header-info{display:flex}.sky-page-header-text{margin:0}.sky-page-header-page-title,.sky-page-header-parent-link-wrapper{display:inline-block;block-size:-moz-fit-content;block-size:fit-content}.sky-page-header-parent-link{color:#0974a1}.sky-page-header-chevron{font-size:16px;margin:0 10px}.sky-page-header-chevron,.sky-page-header-parent-link,.sky-page-header-page-title{vertical-align:middle}.sky-page-header-content:empty{display:none}:host-context(.sky-theme-modern) .sky-page-header-parent-link{color:#1870b8}.sky-theme-modern .sky-page-header-parent-link{color:#1870b8}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-page-header-parent-link{color:#009cd1}.sky-theme-modern.sky-theme-mode-dark .sky-page-header-parent-link{color:#009cd1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }] }); }
|
|
379
|
+
}
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderComponent, decorators: [{
|
|
381
|
+
type: Component,
|
|
382
|
+
args: [{ selector: 'sky-page-header', template: "<div class=\"sky-page-header\">\n <ng-content select=\"sky-page-header-alerts\"></ng-content>\n <div class=\"sky-page-header-info\">\n <ng-content select=\"sky-page-header-avatar\"></ng-content>\n <div>\n <h1 class=\"sky-page-header-text\">\n <span *ngIf=\"parentLink\" class=\"sky-page-header-parent-link-wrapper\">\n <a\n *ngIf=\"parentLink.permalink?.url\"\n [skyHref]=\"parentLink.permalink.url\"\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n >{{ parentLink.label }}</a\n >\n <a\n *ngIf=\"parentLink.permalink?.route as permalinkRoute\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"permalinkRoute.extras?.queryParamsHandling\"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n >{{ parentLink.label }}</a\n >\n <span class=\"sky-page-header-chevron\">\n <sky-icon icon=\"chevron-right\" iconType=\"skyux\" />\n </span>\n </span>\n <wbr *ngIf=\"parentLink\" />\n <span class=\"sky-page-header-page-title sky-font-heading-1\">\n {{ pageTitle }}\n </span>\n </h1>\n <div class=\"sky-page-header-content\">\n <ng-content select=\"sky-page-header-details\"></ng-content>\n <ng-content select=\"sky-page-header-actions\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{flex-grow:var(--sky-layout-host-header-flex-grow, 0);display:block}.sky-page-header{margin:var(--sky-layout-host-header-spacing, var(--sky-compat-page-header-margin-top-and-bottom, 0) 0)}.sky-page-header-info{display:flex}.sky-page-header-text{margin:0}.sky-page-header-page-title,.sky-page-header-parent-link-wrapper{display:inline-block;block-size:-moz-fit-content;block-size:fit-content}.sky-page-header-parent-link{color:#0974a1}.sky-page-header-chevron{font-size:16px;margin:0 10px}.sky-page-header-chevron,.sky-page-header-parent-link,.sky-page-header-page-title{vertical-align:middle}.sky-page-header-content:empty{display:none}:host-context(.sky-theme-modern) .sky-page-header-parent-link{color:#1870b8}.sky-theme-modern .sky-page-header-parent-link{color:#1870b8}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-page-header-parent-link{color:#009cd1}.sky-theme-modern.sky-theme-mode-dark .sky-page-header-parent-link{color:#009cd1}\n"] }]
|
|
383
|
+
}], propDecorators: { parentLink: [{
|
|
384
|
+
type: Input
|
|
385
|
+
}], pageTitle: [{
|
|
386
|
+
type: Input
|
|
387
|
+
}] } });
|
|
388
|
+
|
|
389
|
+
class SkyPageHeaderModule {
|
|
390
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
391
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderModule, declarations: [SkyPageHeaderActionsComponent,
|
|
392
|
+
SkyPageHeaderAlertsComponent,
|
|
393
|
+
SkyPageHeaderAvatarComponent,
|
|
394
|
+
SkyPageHeaderComponent,
|
|
395
|
+
SkyPageHeaderDetailsComponent], imports: [CommonModule,
|
|
396
|
+
RouterModule,
|
|
397
|
+
SkyAppLinkModule,
|
|
398
|
+
SkyIconModule,
|
|
399
|
+
SkyThemeModule,
|
|
400
|
+
SkyHrefModule], exports: [SkyPageHeaderActionsComponent,
|
|
401
|
+
SkyPageHeaderAlertsComponent,
|
|
402
|
+
SkyPageHeaderAvatarComponent,
|
|
403
|
+
SkyPageHeaderComponent,
|
|
404
|
+
SkyPageHeaderDetailsComponent] }); }
|
|
405
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderModule, imports: [CommonModule,
|
|
406
|
+
RouterModule,
|
|
407
|
+
SkyAppLinkModule,
|
|
408
|
+
SkyIconModule,
|
|
409
|
+
SkyThemeModule,
|
|
410
|
+
SkyHrefModule] }); }
|
|
411
|
+
}
|
|
412
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageHeaderModule, decorators: [{
|
|
413
|
+
type: NgModule,
|
|
414
|
+
args: [{
|
|
415
|
+
imports: [
|
|
416
|
+
CommonModule,
|
|
417
|
+
RouterModule,
|
|
418
|
+
SkyAppLinkModule,
|
|
419
|
+
SkyIconModule,
|
|
420
|
+
SkyThemeModule,
|
|
421
|
+
SkyHrefModule,
|
|
422
|
+
],
|
|
423
|
+
declarations: [
|
|
424
|
+
SkyPageHeaderActionsComponent,
|
|
425
|
+
SkyPageHeaderAlertsComponent,
|
|
426
|
+
SkyPageHeaderAvatarComponent,
|
|
427
|
+
SkyPageHeaderComponent,
|
|
428
|
+
SkyPageHeaderDetailsComponent,
|
|
429
|
+
],
|
|
430
|
+
exports: [
|
|
431
|
+
SkyPageHeaderActionsComponent,
|
|
432
|
+
SkyPageHeaderAlertsComponent,
|
|
433
|
+
SkyPageHeaderAvatarComponent,
|
|
434
|
+
SkyPageHeaderComponent,
|
|
435
|
+
SkyPageHeaderDetailsComponent,
|
|
436
|
+
],
|
|
437
|
+
}]
|
|
438
|
+
}] });
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Displays buttons after the page title.
|
|
442
|
+
*
|
|
443
|
+
* Example:
|
|
444
|
+
*
|
|
445
|
+
* ```html
|
|
446
|
+
* <a class="sky-btn sky-btn-default" href="path/to/new">New</a>
|
|
447
|
+
* ```
|
|
448
|
+
*/
|
|
449
|
+
class SkyActionHubButtonsComponent {
|
|
450
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
451
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyActionHubButtonsComponent, selector: "sky-action-hub-buttons", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}:host:not(:empty){margin-bottom:var(--sky-margin-stacked-xl)}\n"] }); }
|
|
452
|
+
}
|
|
453
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubButtonsComponent, decorators: [{
|
|
454
|
+
type: Component,
|
|
455
|
+
args: [{ selector: 'sky-action-hub-buttons', template: "<ng-content></ng-content>\n", styles: [":host{display:block}:host:not(:empty){margin-bottom:var(--sky-margin-stacked-xl)}\n"] }]
|
|
456
|
+
}] });
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Displays additional content after the action items.
|
|
460
|
+
*/
|
|
461
|
+
class SkyActionHubContentComponent {
|
|
462
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
463
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyActionHubContentComponent, selector: "sky-action-hub-content", ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
464
|
+
}
|
|
465
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubContentComponent, decorators: [{
|
|
466
|
+
type: Component,
|
|
467
|
+
args: [{ selector: 'sky-action-hub-content', template: "<ng-content></ng-content>\n" }]
|
|
468
|
+
}] });
|
|
469
|
+
|
|
470
|
+
const RECENTLY_ACCESSED_LIMIT = 5;
|
|
471
|
+
function getRecentLinksSorted(recentLinks) {
|
|
472
|
+
if (recentLinks === 'loading') {
|
|
473
|
+
return 'loading';
|
|
474
|
+
}
|
|
475
|
+
if (!recentLinks || recentLinks.length === 0) {
|
|
476
|
+
return [];
|
|
477
|
+
}
|
|
478
|
+
return recentLinks
|
|
479
|
+
.slice(0)
|
|
480
|
+
.sort((a, b) => {
|
|
481
|
+
const aTime = a.lastAccessed instanceof Date
|
|
482
|
+
? a.lastAccessed.toISOString()
|
|
483
|
+
: a.lastAccessed;
|
|
484
|
+
const bTime = b.lastAccessed instanceof Date
|
|
485
|
+
? b.lastAccessed.toISOString()
|
|
486
|
+
: b.lastAccessed;
|
|
487
|
+
if (aTime === bTime) {
|
|
488
|
+
return 0;
|
|
489
|
+
}
|
|
490
|
+
return aTime > bTime ? -1 : 1;
|
|
491
|
+
})
|
|
492
|
+
.slice(0, RECENTLY_ACCESSED_LIMIT);
|
|
493
|
+
}
|
|
494
|
+
class SkyActionHubRecentLinksResolvePipe {
|
|
495
|
+
#currentRecentLinks;
|
|
496
|
+
#currentRecentLinksResolved = [];
|
|
497
|
+
#recentlyAccessedSub;
|
|
498
|
+
#ngUnsubscribe = new Subject();
|
|
499
|
+
#changeDetector;
|
|
500
|
+
#recentlyAccessedSvc;
|
|
501
|
+
constructor(changeDetector, recentlyAccessedSvc) {
|
|
502
|
+
this.#changeDetector = changeDetector;
|
|
503
|
+
this.#recentlyAccessedSvc = recentlyAccessedSvc;
|
|
504
|
+
}
|
|
505
|
+
transform(recentLinks) {
|
|
506
|
+
if (recentLinks !== this.#currentRecentLinks) {
|
|
507
|
+
if (this.#recentlyAccessedSub) {
|
|
508
|
+
this.#recentlyAccessedSub.unsubscribe();
|
|
509
|
+
}
|
|
510
|
+
this.#currentRecentLinks = recentLinks;
|
|
511
|
+
const getLinksArgs = recentLinks;
|
|
512
|
+
if (getLinksArgs?.requestedRoutes) {
|
|
513
|
+
this.#resolveRequestedRoutes(getLinksArgs);
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
this.#updateRecentLinksResolved(recentLinks);
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
return this.#currentRecentLinksResolved;
|
|
520
|
+
}
|
|
521
|
+
ngOnDestroy() {
|
|
522
|
+
this.#ngUnsubscribe.next();
|
|
523
|
+
this.#ngUnsubscribe.complete();
|
|
524
|
+
}
|
|
525
|
+
#resolveRequestedRoutes(args) {
|
|
526
|
+
if (this.#recentlyAccessedSvc) {
|
|
527
|
+
this.#updateRecentLinksResolved('loading');
|
|
528
|
+
this.#recentlyAccessedSub = this.#recentlyAccessedSvc
|
|
529
|
+
.getLinks(args)
|
|
530
|
+
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
531
|
+
.subscribe((result) => {
|
|
532
|
+
this.#recentlyAccessedSub = undefined;
|
|
533
|
+
const recentLinks = result.links.map((item) => ({
|
|
534
|
+
label: item.label,
|
|
535
|
+
lastAccessed: item.lastAccessed,
|
|
536
|
+
permalink: {
|
|
537
|
+
url: item.url,
|
|
538
|
+
},
|
|
539
|
+
}));
|
|
540
|
+
this.#updateRecentLinksResolved(recentLinks);
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
this.#updateRecentLinksResolved([]);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
#updateRecentLinksResolved(recentLinksResolved) {
|
|
548
|
+
this.#currentRecentLinksResolved =
|
|
549
|
+
getRecentLinksSorted(recentLinksResolved);
|
|
550
|
+
this.#changeDetector.markForCheck();
|
|
551
|
+
}
|
|
552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubRecentLinksResolvePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.SkyRecentlyAccessedService, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
553
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubRecentLinksResolvePipe, name: "skyActionHubRecentLinksResolve", pure: false }); }
|
|
554
|
+
}
|
|
555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubRecentLinksResolvePipe, decorators: [{
|
|
556
|
+
type: Pipe,
|
|
557
|
+
args: [{
|
|
558
|
+
name: 'skyActionHubRecentLinksResolve',
|
|
559
|
+
pure: false,
|
|
560
|
+
}]
|
|
561
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i2.SkyRecentlyAccessedService, decorators: [{
|
|
562
|
+
type: Optional
|
|
563
|
+
}] }]; } });
|
|
564
|
+
|
|
565
|
+
class SkyActionHubRelatedLinksSortPipe {
|
|
566
|
+
transform(relatedLinks) {
|
|
567
|
+
if (relatedLinks === 'loading') {
|
|
568
|
+
return 'loading';
|
|
569
|
+
}
|
|
570
|
+
if (!relatedLinks || relatedLinks.length === 0) {
|
|
571
|
+
return [];
|
|
572
|
+
}
|
|
573
|
+
return relatedLinks.slice(0).sort((a, b) => {
|
|
574
|
+
const aLabel = a.label.trim().toUpperCase();
|
|
575
|
+
const bLabel = b.label.trim().toUpperCase();
|
|
576
|
+
if (aLabel === bLabel) {
|
|
577
|
+
return 0;
|
|
578
|
+
}
|
|
579
|
+
return aLabel < bLabel ? -1 : 1;
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubRelatedLinksSortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
583
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubRelatedLinksSortPipe, name: "skyActionHubRelatedLinksSort" }); }
|
|
584
|
+
}
|
|
585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubRelatedLinksSortPipe, decorators: [{
|
|
586
|
+
type: Pipe,
|
|
587
|
+
args: [{
|
|
588
|
+
name: 'skyActionHubRelatedLinksSort',
|
|
589
|
+
}]
|
|
590
|
+
}] });
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
* Creates an action hub to direct user attention to important
|
|
594
|
+
* actions and provide quick access to common tasks.
|
|
595
|
+
*/
|
|
596
|
+
class SkyActionHubComponent {
|
|
597
|
+
constructor() {
|
|
598
|
+
/**
|
|
599
|
+
* The list of recently accessed links, or `"loading"` to display a wait indicator.
|
|
600
|
+
*/
|
|
601
|
+
this.recentLinks = [];
|
|
602
|
+
/**
|
|
603
|
+
* The list of related links, or `"loading"` to display a wait indicator.
|
|
604
|
+
*/
|
|
605
|
+
this.relatedLinks = [];
|
|
606
|
+
/**
|
|
607
|
+
* The list of settings with modal parameters, or `"loading"` to display a wait indicator.
|
|
608
|
+
*/
|
|
609
|
+
this.settingsLinks = [];
|
|
610
|
+
/**
|
|
611
|
+
* The page title.
|
|
612
|
+
* @default ""
|
|
613
|
+
*/
|
|
614
|
+
this.title = '';
|
|
615
|
+
this.needsAttentionArray = [];
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* The list of actions that users must perform based on business requirements or best practices, or `"loading"` to display a wait indicator.
|
|
619
|
+
*/
|
|
620
|
+
set needsAttention(value) {
|
|
621
|
+
this.#_needsAttention = value;
|
|
622
|
+
this.needsAttentionArray = Array.isArray(value) ? value : [];
|
|
623
|
+
}
|
|
624
|
+
get needsAttention() {
|
|
625
|
+
return this.#_needsAttention;
|
|
626
|
+
}
|
|
627
|
+
#_needsAttention;
|
|
628
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
629
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyActionHubComponent, selector: "sky-action-hub", inputs: { needsAttention: "needsAttention", parentLink: "parentLink", recentLinks: "recentLinks", relatedLinks: "relatedLinks", settingsLinks: "settingsLinks", title: "title" }, ngImport: i0, template: "<sky-fluid-grid [disableMargin]=\"true\">\n <sky-row>\n <sky-column>\n <sky-page-header\n [pageTitle]=\"title\"\n [parentLink]=\"parentLink\"\n ></sky-page-header>\n </sky-column>\n </sky-row>\n <sky-row>\n <sky-column [screenLarge]=\"9\" [screenXSmall]=\"12\">\n <div class=\"sky-margin-stacked-xl\">\n <ng-content select=\"sky-action-hub-buttons\"></ng-content>\n </div>\n\n <div class=\"sky-margin-stacked-xl\">\n <sky-wait [isWaiting]=\"needsAttention === 'loading'\"></sky-wait>\n <sky-needs-attention\n *ngIf=\"needsAttention !== 'loading'\"\n [items]=\"needsAttentionArray\"\n ></sky-needs-attention>\n </div>\n\n <div class=\"sky-margin-stacked-xl\">\n <ng-content select=\"sky-action-hub-content\"></ng-content>\n </div>\n </sky-column>\n <sky-column [screenLarge]=\"3\" [screenXSmall]=\"12\">\n <sky-link-list\n [links]=\"relatedLinks | skyActionHubRelatedLinksSort\"\n [title]=\"'sky_action_hub_related_links' | skyLibResources\"\n ></sky-link-list>\n <sky-link-list\n [links]=\"recentLinks | skyActionHubRecentLinksResolve\"\n [title]=\"'sky_action_hub_recent_links' | skyLibResources\"\n ></sky-link-list>\n <sky-modal-link-list\n [links]=\"settingsLinks\"\n [title]=\"'sky_action_hub_settings_links' | skyLibResources\"\n ></sky-modal-link-list>\n </sky-column>\n </sky-row>\n</sky-fluid-grid>\n", styles: [":host{--sky-compat-page-header-margin-top-and-bottom: 0;display:block;margin:var(--sky-padding-even-xl)}[aria-busy=true]{display:block;min-height:60px;margin-bottom:var(--sky-margin-stacked-xl)}sky-page-header{margin:0 0 var(--sky-margin-stacked-lg) 0}.sky-margin-stacked-xl:empty{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.λ23, selector: "sky-row", inputs: ["reverseColumnOrder"] }, { kind: "component", type: i3.λ24, selector: "sky-column", inputs: ["screenXSmall", "screenSmall", "screenMedium", "screenLarge"] }, { kind: "component", type: i3.λ22, selector: "sky-fluid-grid", inputs: ["disableMargin", "gutterSize"] }, { kind: "component", type: SkyLinkListComponent, selector: "sky-link-list", inputs: ["links", "title"] }, { kind: "component", type: SkyModalLinkListComponent, selector: "sky-modal-link-list", inputs: ["links", "title"] }, { kind: "component", type: SkyNeedsAttentionComponent, selector: "sky-needs-attention", inputs: ["items"] }, { kind: "component", type: SkyPageHeaderComponent, selector: "sky-page-header", inputs: ["parentLink", "pageTitle"] }, { kind: "component", type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: SkyActionHubRecentLinksResolvePipe, name: "skyActionHubRecentLinksResolve" }, { kind: "pipe", type: SkyActionHubRelatedLinksSortPipe, name: "skyActionHubRelatedLinksSort" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
630
|
+
}
|
|
631
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubComponent, decorators: [{
|
|
632
|
+
type: Component,
|
|
633
|
+
args: [{ selector: 'sky-action-hub', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-fluid-grid [disableMargin]=\"true\">\n <sky-row>\n <sky-column>\n <sky-page-header\n [pageTitle]=\"title\"\n [parentLink]=\"parentLink\"\n ></sky-page-header>\n </sky-column>\n </sky-row>\n <sky-row>\n <sky-column [screenLarge]=\"9\" [screenXSmall]=\"12\">\n <div class=\"sky-margin-stacked-xl\">\n <ng-content select=\"sky-action-hub-buttons\"></ng-content>\n </div>\n\n <div class=\"sky-margin-stacked-xl\">\n <sky-wait [isWaiting]=\"needsAttention === 'loading'\"></sky-wait>\n <sky-needs-attention\n *ngIf=\"needsAttention !== 'loading'\"\n [items]=\"needsAttentionArray\"\n ></sky-needs-attention>\n </div>\n\n <div class=\"sky-margin-stacked-xl\">\n <ng-content select=\"sky-action-hub-content\"></ng-content>\n </div>\n </sky-column>\n <sky-column [screenLarge]=\"3\" [screenXSmall]=\"12\">\n <sky-link-list\n [links]=\"relatedLinks | skyActionHubRelatedLinksSort\"\n [title]=\"'sky_action_hub_related_links' | skyLibResources\"\n ></sky-link-list>\n <sky-link-list\n [links]=\"recentLinks | skyActionHubRecentLinksResolve\"\n [title]=\"'sky_action_hub_recent_links' | skyLibResources\"\n ></sky-link-list>\n <sky-modal-link-list\n [links]=\"settingsLinks\"\n [title]=\"'sky_action_hub_settings_links' | skyLibResources\"\n ></sky-modal-link-list>\n </sky-column>\n </sky-row>\n</sky-fluid-grid>\n", styles: [":host{--sky-compat-page-header-margin-top-and-bottom: 0;display:block;margin:var(--sky-padding-even-xl)}[aria-busy=true]{display:block;min-height:60px;margin-bottom:var(--sky-margin-stacked-xl)}sky-page-header{margin:0 0 var(--sky-margin-stacked-lg) 0}.sky-margin-stacked-xl:empty{margin-bottom:0}\n"] }]
|
|
634
|
+
}], propDecorators: { needsAttention: [{
|
|
635
|
+
type: Input
|
|
636
|
+
}], parentLink: [{
|
|
637
|
+
type: Input
|
|
638
|
+
}], recentLinks: [{
|
|
639
|
+
type: Input
|
|
640
|
+
}], relatedLinks: [{
|
|
641
|
+
type: Input
|
|
642
|
+
}], settingsLinks: [{
|
|
643
|
+
type: Input
|
|
644
|
+
}], title: [{
|
|
645
|
+
type: Input
|
|
646
|
+
}] } });
|
|
647
|
+
|
|
648
|
+
class SkyActionHubModule {
|
|
649
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
650
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubModule, declarations: [SkyActionHubButtonsComponent,
|
|
651
|
+
SkyActionHubComponent,
|
|
652
|
+
SkyActionHubContentComponent,
|
|
653
|
+
SkyActionHubRecentLinksResolvePipe,
|
|
654
|
+
SkyActionHubRelatedLinksSortPipe], imports: [CommonModule,
|
|
655
|
+
SkyBoxModule,
|
|
656
|
+
SkyFluidGridModule,
|
|
657
|
+
SkyI18nModule,
|
|
658
|
+
SkyLinkListModule,
|
|
659
|
+
SkyModalLinkListModule,
|
|
660
|
+
SkyNeedsAttentionModule,
|
|
661
|
+
SkyPageHeaderModule,
|
|
662
|
+
SkyPagesResourcesModule,
|
|
663
|
+
SkyThemeModule,
|
|
664
|
+
SkyWaitModule], exports: [SkyActionHubButtonsComponent,
|
|
665
|
+
SkyActionHubComponent,
|
|
666
|
+
SkyActionHubContentComponent] }); }
|
|
667
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubModule, imports: [CommonModule,
|
|
668
|
+
SkyBoxModule,
|
|
669
|
+
SkyFluidGridModule,
|
|
670
|
+
SkyI18nModule,
|
|
671
|
+
SkyLinkListModule,
|
|
672
|
+
SkyModalLinkListModule,
|
|
673
|
+
SkyNeedsAttentionModule,
|
|
674
|
+
SkyPageHeaderModule,
|
|
675
|
+
SkyPagesResourcesModule,
|
|
676
|
+
SkyThemeModule,
|
|
677
|
+
SkyWaitModule] }); }
|
|
678
|
+
}
|
|
679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyActionHubModule, decorators: [{
|
|
680
|
+
type: NgModule,
|
|
681
|
+
args: [{
|
|
682
|
+
imports: [
|
|
683
|
+
CommonModule,
|
|
684
|
+
SkyBoxModule,
|
|
685
|
+
SkyFluidGridModule,
|
|
686
|
+
SkyI18nModule,
|
|
687
|
+
SkyLinkListModule,
|
|
688
|
+
SkyModalLinkListModule,
|
|
689
|
+
SkyNeedsAttentionModule,
|
|
690
|
+
SkyPageHeaderModule,
|
|
691
|
+
SkyPagesResourcesModule,
|
|
692
|
+
SkyThemeModule,
|
|
693
|
+
SkyWaitModule,
|
|
694
|
+
],
|
|
695
|
+
declarations: [
|
|
696
|
+
SkyActionHubButtonsComponent,
|
|
697
|
+
SkyActionHubComponent,
|
|
698
|
+
SkyActionHubContentComponent,
|
|
699
|
+
SkyActionHubRecentLinksResolvePipe,
|
|
700
|
+
SkyActionHubRelatedLinksSortPipe,
|
|
701
|
+
],
|
|
702
|
+
exports: [
|
|
703
|
+
SkyActionHubButtonsComponent,
|
|
704
|
+
SkyActionHubComponent,
|
|
705
|
+
SkyActionHubContentComponent,
|
|
706
|
+
],
|
|
707
|
+
}]
|
|
708
|
+
}] });
|
|
709
|
+
|
|
710
|
+
/**
|
|
711
|
+
* Displays page contents using spacing that corresponds to the parent
|
|
712
|
+
* page's layout.
|
|
713
|
+
*/
|
|
714
|
+
class SkyPageContentComponent {
|
|
715
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
716
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageContentComponent, selector: "sky-page-content", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:block;padding:var(--sky-layout-host-content-spacing, 0);flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);position:var(--sky-layout-host-content-position, static)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
717
|
+
}
|
|
718
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageContentComponent, decorators: [{
|
|
719
|
+
type: Component,
|
|
720
|
+
args: [{ selector: 'sky-page-content', template: `<ng-content />`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;padding:var(--sky-layout-host-content-spacing, 0);flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);position:var(--sky-layout-host-content-position, static)}\n"] }]
|
|
721
|
+
}] });
|
|
722
|
+
|
|
723
|
+
/**
|
|
724
|
+
* @internal
|
|
725
|
+
*/
|
|
726
|
+
class SkyPageThemeAdapterService {
|
|
727
|
+
#styleEl;
|
|
728
|
+
#document;
|
|
729
|
+
constructor(document) {
|
|
730
|
+
this.#document = document;
|
|
731
|
+
}
|
|
732
|
+
/**
|
|
733
|
+
* We can't use ViewEncapsulation.None for this behavior because Angular does
|
|
734
|
+
* not remove `style` tags from the HEAD element after route changes.
|
|
735
|
+
* @see https://github.com/angular/angular/issues/16670
|
|
736
|
+
*/
|
|
737
|
+
addTheme() {
|
|
738
|
+
if (!this.#styleEl) {
|
|
739
|
+
this.#styleEl = this.#document.createElement('style');
|
|
740
|
+
this.#styleEl.appendChild(this.#document.createTextNode('body:not(.sky-theme-modern) { background-color: #fff; }'));
|
|
741
|
+
this.#document.head.appendChild(this.#styleEl);
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
removeTheme() {
|
|
745
|
+
if (this.#styleEl) {
|
|
746
|
+
this.#styleEl.remove();
|
|
747
|
+
this.#styleEl = undefined;
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageThemeAdapterService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
751
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageThemeAdapterService }); }
|
|
752
|
+
}
|
|
753
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageThemeAdapterService, decorators: [{
|
|
754
|
+
type: Injectable
|
|
755
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
756
|
+
type: Inject,
|
|
757
|
+
args: [DOCUMENT]
|
|
758
|
+
}] }]; } });
|
|
759
|
+
|
|
760
|
+
const LAYOUT_DEFAULT = 'none';
|
|
761
|
+
const LAYOUT_FOR_CHILD_CLASS_PREFIX = 'sky-layout-host-for-child-';
|
|
762
|
+
const LAYOUT_CLASS_PREFIX = 'sky-layout-host-';
|
|
763
|
+
const LAYOUT_CLASS_DEFAULT = `${LAYOUT_CLASS_PREFIX}${LAYOUT_DEFAULT}`;
|
|
764
|
+
/**
|
|
765
|
+
* Displays a page using the specified layout.
|
|
766
|
+
*/
|
|
767
|
+
class SkyPageComponent {
|
|
768
|
+
constructor() {
|
|
769
|
+
this.cssClass = LAYOUT_CLASS_DEFAULT;
|
|
770
|
+
this.#ngUnsubscribe = new Subject();
|
|
771
|
+
this.#themeAdapter = inject(SkyPageThemeAdapterService);
|
|
772
|
+
this.#layoutHostSvc = inject(SkyLayoutHostService);
|
|
773
|
+
}
|
|
774
|
+
/**
|
|
775
|
+
* The page layout that applies spacing to the page header and content. Use the layout
|
|
776
|
+
* that corresponds with the top-level component type used on the page, our use `fit` to
|
|
777
|
+
* constrain the page contents to the available viewport.
|
|
778
|
+
* Use `none` for custom content that does not adhere to predefined spacing or constraints.
|
|
779
|
+
* @default "none"
|
|
780
|
+
*/
|
|
781
|
+
set layout(value) {
|
|
782
|
+
this.#layout = value;
|
|
783
|
+
this.#updateCssClass();
|
|
784
|
+
}
|
|
785
|
+
#layout;
|
|
786
|
+
#layoutForChild;
|
|
787
|
+
#ngUnsubscribe;
|
|
788
|
+
#themeAdapter;
|
|
789
|
+
#layoutHostSvc;
|
|
790
|
+
ngOnInit() {
|
|
791
|
+
this.#themeAdapter.addTheme();
|
|
792
|
+
this.#layoutHostSvc.hostLayoutForChild
|
|
793
|
+
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
794
|
+
.subscribe((args) => {
|
|
795
|
+
this.#layoutForChild = args.layout;
|
|
796
|
+
this.#updateCssClass();
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
ngOnDestroy() {
|
|
800
|
+
this.#themeAdapter.removeTheme();
|
|
801
|
+
this.#ngUnsubscribe.next();
|
|
802
|
+
this.#ngUnsubscribe.complete();
|
|
803
|
+
}
|
|
804
|
+
#updateCssClass() {
|
|
805
|
+
let cssClass = this.#layout
|
|
806
|
+
? `${LAYOUT_CLASS_PREFIX}${this.#layout}`
|
|
807
|
+
: LAYOUT_CLASS_DEFAULT;
|
|
808
|
+
if (this.#layoutForChild) {
|
|
809
|
+
cssClass = `${cssClass} ${LAYOUT_FOR_CHILD_CLASS_PREFIX}${this.#layoutForChild}`;
|
|
810
|
+
}
|
|
811
|
+
this.cssClass = cssClass;
|
|
812
|
+
}
|
|
813
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
814
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyPageComponent, selector: "sky-page", inputs: { layout: "layout" }, host: { properties: { "class": "this.cssClass" } }, providers: [SkyPageThemeAdapterService, SkyLayoutHostService], ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
815
|
+
}
|
|
816
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageComponent, decorators: [{
|
|
817
|
+
type: Component,
|
|
818
|
+
args: [{
|
|
819
|
+
selector: 'sky-page',
|
|
820
|
+
template: `<ng-content />`,
|
|
821
|
+
providers: [SkyPageThemeAdapterService, SkyLayoutHostService],
|
|
822
|
+
}]
|
|
823
|
+
}], propDecorators: { layout: [{
|
|
824
|
+
type: Input
|
|
825
|
+
}], cssClass: [{
|
|
826
|
+
type: HostBinding,
|
|
827
|
+
args: ['class']
|
|
828
|
+
}] } });
|
|
829
|
+
|
|
830
|
+
class SkyPageModule {
|
|
831
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
832
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyPageModule, declarations: [SkyPageComponent, SkyPageContentComponent], imports: [CommonModule], exports: [SkyPageComponent, SkyPageHeaderModule, SkyPageContentComponent] }); }
|
|
833
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageModule, imports: [CommonModule, SkyPageHeaderModule] }); }
|
|
834
|
+
}
|
|
835
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyPageModule, decorators: [{
|
|
836
|
+
type: NgModule,
|
|
837
|
+
args: [{
|
|
838
|
+
declarations: [SkyPageComponent, SkyPageContentComponent],
|
|
839
|
+
imports: [CommonModule],
|
|
840
|
+
exports: [SkyPageComponent, SkyPageHeaderModule, SkyPageContentComponent],
|
|
841
|
+
}]
|
|
842
|
+
}] });
|
|
843
|
+
|
|
844
|
+
/**
|
|
845
|
+
* Generated bundle index. Do not edit.
|
|
846
|
+
*/
|
|
847
|
+
|
|
848
|
+
export { SkyActionHubModule, SkyPageHeaderModule, SkyPageModule, SkyActionHubComponent as λ1, SkyPageHeaderAvatarComponent as λ10, SkyPageHeaderAlertsComponent as λ11, SkyActionHubButtonsComponent as λ2, SkyActionHubContentComponent as λ3, SkyPageHeaderComponent as λ4, SkyModalLinkListComponent as λ5, SkyPageComponent as λ6, SkyPageContentComponent as λ7, SkyPageHeaderDetailsComponent as λ8, SkyPageHeaderActionsComponent as λ9 };
|
|
849
|
+
//# sourceMappingURL=skyux-pages.mjs.map
|