@skyux/pages 5.9.4 → 6.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/esm2020/index.mjs +14 -0
  2. package/esm2020/lib/modules/action-hub/action-hub-buttons.component.mjs +20 -0
  3. package/esm2020/lib/modules/action-hub/action-hub-content.component.mjs +14 -0
  4. package/esm2020/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.mjs +100 -0
  5. package/esm2020/lib/modules/action-hub/action-hub-related-links-sort.pipe.mjs +29 -0
  6. package/esm2020/lib/modules/action-hub/action-hub.component.mjs +54 -0
  7. package/esm2020/lib/modules/action-hub/action-hub.module.mjs +92 -0
  8. package/esm2020/lib/modules/action-hub/types/action-hub-needs-attention.mjs +2 -0
  9. package/esm2020/lib/modules/action-hub/types/page-link.mjs +2 -0
  10. package/esm2020/lib/modules/action-hub/types/page-links-input.mjs +2 -0
  11. package/esm2020/lib/modules/action-hub/types/recent-link.mjs +2 -0
  12. package/esm2020/lib/modules/action-hub/types/recent-links-input.mjs +2 -0
  13. package/esm2020/lib/modules/action-hub/types/recent-links-resolved.mjs +2 -0
  14. package/esm2020/lib/modules/link-list/link-list.component.mjs +19 -0
  15. package/esm2020/lib/modules/needs-attention/needs-attention.component.mjs +22 -0
  16. package/esm2020/lib/modules/page-header/page-header.component.mjs +20 -0
  17. package/esm2020/lib/modules/page-header/page-header.module.mjs +41 -0
  18. package/esm2020/lib/modules/shared/sky-pages-resources.module.mjs +52 -0
  19. package/esm2020/skyux-pages.mjs +5 -0
  20. package/fesm2015/skyux-pages.mjs +416 -0
  21. package/fesm2015/skyux-pages.mjs.map +1 -0
  22. package/fesm2020/skyux-pages.mjs +414 -0
  23. package/fesm2020/skyux-pages.mjs.map +1 -0
  24. package/package.json +30 -14
  25. package/bundles/skyux-pages.umd.js +0 -809
  26. package/esm2015/index.js +0 -14
  27. package/esm2015/index.js.map +0 -1
  28. package/esm2015/lib/modules/action-hub/action-hub-buttons.component.js +0 -23
  29. package/esm2015/lib/modules/action-hub/action-hub-buttons.component.js.map +0 -1
  30. package/esm2015/lib/modules/action-hub/action-hub-content.component.js +0 -17
  31. package/esm2015/lib/modules/action-hub/action-hub-content.component.js.map +0 -1
  32. package/esm2015/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.js +0 -100
  33. package/esm2015/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.js.map +0 -1
  34. package/esm2015/lib/modules/action-hub/action-hub-related-links-sort.pipe.js +0 -29
  35. package/esm2015/lib/modules/action-hub/action-hub-related-links-sort.pipe.js.map +0 -1
  36. package/esm2015/lib/modules/action-hub/action-hub.component.js +0 -58
  37. package/esm2015/lib/modules/action-hub/action-hub.component.js.map +0 -1
  38. package/esm2015/lib/modules/action-hub/action-hub.module.js +0 -92
  39. package/esm2015/lib/modules/action-hub/action-hub.module.js.map +0 -1
  40. package/esm2015/lib/modules/action-hub/types/action-hub-needs-attention.js +0 -2
  41. package/esm2015/lib/modules/action-hub/types/action-hub-needs-attention.js.map +0 -1
  42. package/esm2015/lib/modules/action-hub/types/page-link.js +0 -2
  43. package/esm2015/lib/modules/action-hub/types/page-link.js.map +0 -1
  44. package/esm2015/lib/modules/action-hub/types/page-links-input.js +0 -2
  45. package/esm2015/lib/modules/action-hub/types/page-links-input.js.map +0 -1
  46. package/esm2015/lib/modules/action-hub/types/recent-link.js +0 -2
  47. package/esm2015/lib/modules/action-hub/types/recent-link.js.map +0 -1
  48. package/esm2015/lib/modules/action-hub/types/recent-links-input.js +0 -2
  49. package/esm2015/lib/modules/action-hub/types/recent-links-input.js.map +0 -1
  50. package/esm2015/lib/modules/action-hub/types/recent-links-resolved.js +0 -2
  51. package/esm2015/lib/modules/action-hub/types/recent-links-resolved.js.map +0 -1
  52. package/esm2015/lib/modules/link-list/link-list.component.js +0 -23
  53. package/esm2015/lib/modules/link-list/link-list.component.js.map +0 -1
  54. package/esm2015/lib/modules/needs-attention/needs-attention.component.js +0 -26
  55. package/esm2015/lib/modules/needs-attention/needs-attention.component.js.map +0 -1
  56. package/esm2015/lib/modules/page-header/page-header.component.js +0 -24
  57. package/esm2015/lib/modules/page-header/page-header.component.js.map +0 -1
  58. package/esm2015/lib/modules/page-header/page-header.module.js +0 -41
  59. package/esm2015/lib/modules/page-header/page-header.module.js.map +0 -1
  60. package/esm2015/lib/modules/shared/sky-pages-resources.module.js +0 -52
  61. package/esm2015/lib/modules/shared/sky-pages-resources.module.js.map +0 -1
  62. package/esm2015/skyux-pages.js +0 -5
  63. package/esm2015/skyux-pages.js.map +0 -1
  64. package/fesm2015/skyux-pages.js +0 -436
  65. package/fesm2015/skyux-pages.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-pages.mjs","sources":["../../../../../libs/components/pages/src/lib/modules/link-list/link-list.component.ts","../../../../../libs/components/pages/src/lib/modules/link-list/link-list.component.html","../../../../../libs/components/pages/src/lib/modules/needs-attention/needs-attention.component.ts","../../../../../libs/components/pages/src/lib/modules/needs-attention/needs-attention.component.html","../../../../../libs/components/pages/src/lib/modules/page-header/page-header.component.ts","../../../../../libs/components/pages/src/lib/modules/page-header/page-header.component.html","../../../../../libs/components/pages/src/lib/modules/page-header/page-header.module.ts","../../../../../libs/components/pages/src/lib/modules/shared/sky-pages-resources.module.ts","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub-buttons.component.ts","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub-buttons.component.html","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub-content.component.ts","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub-content.component.html","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.ts","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub-related-links-sort.pipe.ts","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub.component.ts","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub.component.html","../../../../../libs/components/pages/src/lib/modules/action-hub/action-hub.module.ts","../../../../../libs/components/pages/src/skyux-pages.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\nimport { SkyPageLinksInput } from '../action-hub/types/page-links-input';\n\n@Component({\n selector: 'sky-link-list',\n templateUrl: './link-list.component.html',\n styleUrls: ['./link-list.component.scss'],\n})\nexport class SkyLinkListComponent {\n @Input()\n public links: SkyPageLinksInput;\n\n @Input()\n public title: string;\n}\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 sky-margin-stacked-sm\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"links?.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul\n class=\"sky-link-list\"\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xl': 'modern'\n }\"\n >\n <li\n *ngFor=\"let link of links\"\n [skyThemeClass]=\"{\n 'sky-margin-stacked-default': 'default',\n 'sky-margin-stacked-sm': 'modern'\n }\"\n >\n <a *ngIf=\"link.permalink.url\" [skyHref]=\"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","import { Component, Input } from '@angular/core';\nimport { SkyFluidGridGutterSizeType } from '@skyux/layout';\n\nimport { SkyActionHubNeedsAttention } from '../action-hub/types/action-hub-needs-attention';\n\n@Component({\n selector: 'sky-needs-attention',\n templateUrl: './needs-attention.component.html',\n styleUrls: ['./needs-attention.component.scss'],\n})\nexport class SkyNeedsAttentionComponent {\n @Input()\n public items: SkyActionHubNeedsAttention[];\n\n public readonly gutterSize: SkyFluidGridGutterSizeType = 'large';\n}\n","<div\n class=\"sky-needs-attention-container\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large sky-shadow': 'default',\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <h2 class=\"sky-font-heading-4\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n <sky-fluid-grid [gutterSize]=\"gutterSize\" [disableMargin]=\"true\">\n <sky-row>\n <sky-column *ngIf=\"items?.length === 0\" [screenXSmall]=\"12\">\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n </sky-column>\n <sky-column\n *ngFor=\"let item of items; let isLast = last\"\n [screenSmall]=\"items.length > 6 ? 6 : 12\"\n [screenXSmall]=\"12\"\n >\n <ng-template #link>\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-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 <sky-key-info\n layout=\"horizontal\"\n class=\"sky-needs-attention-item-key-info\"\n >\n <sky-key-info-label>{{ item.message }}</sky-key-info-label>\n <sky-key-info-value\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-display-4': 'modern'\n }\"\n >\n {{ item.title }}\n </sky-key-info-value>\n </sky-key-info>\n </ng-template>\n <a\n *ngIf=\"item.permalink.route\"\n [skyAppLink]=\"item.permalink.route.commands\"\n [queryParams]=\"item.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n item.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"item.permalink.route.extras?.fragment\"\n [preserveFragment]=\"item.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"item.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"item.permalink.route.extras?.replaceUrl\"\n [state]=\"item.permalink.route.extras?.state\"\n class=\"sky-needs-attention-item sky-padding-vertical-lg sky-border-bottom-row\"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n <a\n *ngIf=\"item.permalink.url\"\n [skyHref]=\"item.permalink.url\"\n class=\"sky-needs-attention-item sky-padding-vertical-lg sky-border-bottom-row\"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n </sky-column>\n </sky-row>\n </sky-fluid-grid>\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { SkyPageLink } from '../action-hub/types/page-link';\n\nlet parentLink: SkyPageLink;\n\n@Component({\n selector: 'sky-page-header',\n templateUrl: './page-header.component.html',\n styleUrls: ['./page-header.component.scss'],\n})\nexport class SkyPageHeaderComponent {\n @Input()\n public parentLink?: typeof parentLink;\n\n @Input()\n public pageTitle!: string;\n}\n","<h1 class=\"sky-page-header\">\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\"\n [skyAppLink]=\"parentLink.permalink.route.commands\"\n [queryParams]=\"parentLink.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n parentLink.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"parentLink.permalink.route.extras?.fragment\"\n [preserveFragment]=\"parentLink.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n parentLink.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"parentLink.permalink.route.extras?.replaceUrl\"\n [state]=\"parentLink.permalink.route.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 *skyThemeIf=\"'default'\" icon=\"chevron-right\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyAppLinkModule, SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyPageHeaderComponent } from './page-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyAppLinkModule,\n SkyIconModule,\n SkyThemeModule,\n SkyHrefModule,\n ],\n declarations: [SkyPageHeaderComponent],\n exports: [SkyPageHeaderComponent],\n})\nexport class SkyPageHeaderModule {}\n","/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-pages' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n sky_action_hub_related_links: { message: 'Related Links' },\n sky_action_hub_recent_links: { message: 'Recently Accessed' },\n sky_action_hub_needs_attention: { message: 'Needs Attention' },\n sky_action_hub_needs_attention_empty: {\n message: 'No issues currently need attention',\n },\n },\n};\n\nexport class SkyPagesResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyPagesResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyPagesResourcesModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Displays buttons after the page title.\n *\n * Example:\n *\n * ```html\n * <a class=\"sky-btn sky-btn-default\" href=\"path/to/new\">New</a>\n * ```\n */\n@Component({\n selector: 'sky-action-hub-buttons',\n templateUrl: 'action-hub-buttons.component.html',\n})\nexport class SkyActionHubButtonsComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n/**\n * Displays additional content after the action items.\n */\n@Component({\n selector: 'sky-action-hub-content',\n templateUrl: 'action-hub-content.component.html',\n})\nexport class SkyActionHubContentComponent {}\n","<ng-content></ng-content>\n","import {\n ChangeDetectorRef,\n OnDestroy,\n Optional,\n Pipe,\n PipeTransform,\n} from '@angular/core';\nimport {\n SkyRecentlyAccessedGetLinksArgs,\n SkyRecentlyAccessedService,\n} from '@skyux/router';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyRecentLink } from './types/recent-link';\nimport { SkyRecentLinksInput } from './types/recent-links-input';\nimport { SkyRecentLinksResolved } from './types/recent-links-resolved';\n\nconst RECENTLY_ACCESSED_LIMIT = 5;\n\nfunction getRecentLinksSorted(\n recentLinks: SkyRecentLinksResolved\n): SkyRecentLinksResolved {\n if (recentLinks === 'loading') {\n return 'loading';\n }\n if (!recentLinks || recentLinks.length === 0) {\n return [];\n }\n return recentLinks\n .slice(0)\n .sort((a, b) => {\n const aTime =\n a.lastAccessed instanceof Date\n ? a.lastAccessed.toISOString()\n : a.lastAccessed;\n const bTime =\n b.lastAccessed instanceof Date\n ? b.lastAccessed.toISOString()\n : b.lastAccessed;\n if (aTime === bTime) {\n return 0;\n }\n return aTime > bTime ? -1 : 1;\n })\n .slice(0, RECENTLY_ACCESSED_LIMIT);\n}\n\n@Pipe({\n name: 'skyActionHubRecentLinksResolve',\n pure: false,\n})\nexport class SkyActionHubRecentLinksResolvePipe\n implements PipeTransform, OnDestroy\n{\n #currentRecentLinks: SkyRecentLinksInput;\n\n #currentRecentLinksResolved: SkyRecentLinksResolved = [];\n\n #recentlyAccessedSub: Subscription;\n\n #ngUnsubscribe = new Subject<void>();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n @Optional() private recentlyAccessedSvc?: SkyRecentlyAccessedService\n ) {}\n\n public transform(recentLinks: SkyRecentLinksInput): SkyRecentLinksResolved {\n if (recentLinks !== this.#currentRecentLinks) {\n if (this.#recentlyAccessedSub) {\n this.#recentlyAccessedSub.unsubscribe();\n }\n\n this.#currentRecentLinks = recentLinks;\n\n const getLinksArgs = recentLinks as SkyRecentlyAccessedGetLinksArgs;\n\n if (getLinksArgs?.requestedRoutes) {\n this.#resolveRequestedRoutes(getLinksArgs);\n } else {\n this.#updateRecentLinksResolved(recentLinks as SkyRecentLinksResolved);\n }\n }\n\n return this.#currentRecentLinksResolved;\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n #resolveRequestedRoutes(args: SkyRecentlyAccessedGetLinksArgs): void {\n if (this.recentlyAccessedSvc) {\n this.#updateRecentLinksResolved('loading');\n\n this.#recentlyAccessedSub = this.recentlyAccessedSvc\n .getLinks(args)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((result) => {\n this.#recentlyAccessedSub = undefined;\n\n const recentLinks: SkyRecentLink[] = result.links.map((item) => ({\n label: item.label,\n lastAccessed: item.lastAccessed,\n permalink: {\n url: item.url,\n },\n }));\n\n this.#updateRecentLinksResolved(recentLinks);\n });\n } else {\n this.#updateRecentLinksResolved([]);\n }\n }\n\n #updateRecentLinksResolved(\n recentLinksResolved: SkyRecentLinksResolved\n ): void {\n this.#currentRecentLinksResolved =\n getRecentLinksSorted(recentLinksResolved);\n\n this.changeDetector.markForCheck();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyPageLinksInput } from './types/page-links-input';\n\n@Pipe({\n name: 'skyActionHubRelatedLinksSort',\n})\nexport class SkyActionHubRelatedLinksSortPipe implements PipeTransform {\n public transform(relatedLinks: SkyPageLinksInput): SkyPageLinksInput {\n if (relatedLinks === 'loading') {\n return 'loading';\n }\n if (!relatedLinks || relatedLinks.length === 0) {\n return [];\n }\n return relatedLinks.slice(0).sort((a, b) => {\n const aLabel = a.label.trim().toUpperCase();\n const bLabel = b.label.trim().toUpperCase();\n if (aLabel === bLabel) {\n return 0;\n }\n return aLabel < bLabel ? -1 : 1;\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyActionHubNeedsAttention } from './types/action-hub-needs-attention';\nimport { SkyPageLink } from './types/page-link';\nimport { SkyPageLinksInput } from './types/page-links-input';\nimport { SkyRecentLinksInput } from './types/recent-links-input';\n\n/**\n * Creates an action hub to direct user attention to important\n * actions and provide quick access to common tasks.\n */\n@Component({\n selector: 'sky-action-hub',\n templateUrl: './action-hub.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyActionHubComponent {\n /**\n * Provides a list of actions that users must perform based on business requirements or best practices, or `\"loading\"` to display a wait indicator.\n */\n @Input()\n public needsAttention: SkyActionHubNeedsAttention[] | 'loading' = [];\n\n /**\n * Links back to a parent page.\n */\n @Input()\n public parentLink: SkyPageLink;\n\n /**\n * Provides a list of recently accessed links, or `\"loading\"` to display a wait indicator.\n */\n @Input()\n public recentLinks: SkyRecentLinksInput = [];\n\n /**\n * Provides a list of related links, or `\"loading\"` to display a wait indicator.\n */\n @Input()\n public relatedLinks: SkyPageLinksInput = [];\n\n /**\n * Specifies the page title.\n * @default \"\"\n */\n @Input()\n public title = '';\n}\n","<ng-template #loadingTemplateRef>\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n</ng-template>\n<sky-fluid-grid>\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\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xl': 'modern'\n }\"\n >\n <ng-content select=\"sky-action-hub-buttons\"></ng-content>\n </div>\n\n <div\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xxl': 'modern'\n }\"\n >\n <ng-container\n *ngIf=\"\n needsAttention === 'loading';\n then loadingTemplateRef;\n else needsAttentionTemplateRef\n \"\n ></ng-container>\n <ng-template #needsAttentionTemplateRef>\n <sky-needs-attention [items]=\"needsAttention\"></sky-needs-attention>\n </ng-template>\n </div>\n\n <div\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xxl': 'modern'\n }\"\n >\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-column>\n </sky-row>\n</sky-fluid-grid>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport {\n SkyIconModule,\n SkyKeyInfoModule,\n SkyWaitModule,\n} from '@skyux/indicators';\nimport { SkyActionButtonModule, SkyFluidGridModule } from '@skyux/layout';\nimport { SkyAppLinkModule, SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLinkListComponent } from '../link-list/link-list.component';\nimport { SkyNeedsAttentionComponent } from '../needs-attention/needs-attention.component';\nimport { SkyPageHeaderModule } from '../page-header/page-header.module';\nimport { SkyPagesResourcesModule } from '../shared/sky-pages-resources.module';\n\nimport { SkyActionHubButtonsComponent } from './action-hub-buttons.component';\nimport { SkyActionHubContentComponent } from './action-hub-content.component';\nimport { SkyActionHubRecentLinksResolvePipe } from './action-hub-recent-links-resolve.pipe';\nimport { SkyActionHubRelatedLinksSortPipe } from './action-hub-related-links-sort.pipe';\nimport { SkyActionHubComponent } from './action-hub.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyPagesResourcesModule,\n RouterModule,\n SkyActionButtonModule,\n SkyAppLinkModule,\n SkyFluidGridModule,\n SkyI18nModule,\n SkyIconModule,\n SkyKeyInfoModule,\n SkyPageHeaderModule,\n SkyThemeModule,\n SkyWaitModule,\n SkyHrefModule,\n ],\n declarations: [\n SkyActionHubButtonsComponent,\n SkyActionHubComponent,\n SkyActionHubContentComponent,\n SkyActionHubRecentLinksResolvePipe,\n SkyActionHubRelatedLinksSortPipe,\n SkyNeedsAttentionComponent,\n SkyLinkListComponent,\n ],\n exports: [\n SkyActionHubButtonsComponent,\n SkyActionHubComponent,\n SkyActionHubContentComponent,\n ],\n})\nexport class SkyActionHubModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","i5","i3","i3.SkyPageHeaderComponent","i4.SkyNeedsAttentionComponent","i5.SkyLinkListComponent","i6","i7","i8.SkyActionHubRelatedLinksSortPipe","i9","i10.SkyActionHubRecentLinksResolvePipe"],"mappings":"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"}
@@ -0,0 +1,414 @@
1
+ import * as i2$1 from '@angular/common';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, Input, NgModule, Pipe, Optional, ChangeDetectionStrategy } from '@angular/core';
5
+ import { RouterModule } from '@angular/router';
6
+ import * as i6 from '@skyux/i18n';
7
+ import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
8
+ import * as i2 from '@skyux/indicators';
9
+ import { SkyIconModule, SkyKeyInfoModule, SkyWaitModule } from '@skyux/indicators';
10
+ import * as i1 from '@skyux/layout';
11
+ import { SkyActionButtonModule, SkyFluidGridModule } from '@skyux/layout';
12
+ import * as i4 from '@skyux/router';
13
+ import { SkyAppLinkModule, SkyHrefModule } from '@skyux/router';
14
+ import * as i3 from '@skyux/theme';
15
+ import { SkyThemeModule } from '@skyux/theme';
16
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
17
+ import { Subject } from 'rxjs';
18
+ import { takeUntil } from 'rxjs/operators';
19
+
20
+ class SkyLinkListComponent {
21
+ }
22
+ SkyLinkListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLinkListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ SkyLinkListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLinkListComponent, selector: "sky-link-list", inputs: { links: "links", title: "title" }, ngImport: i0, template: "<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 sky-margin-stacked-sm\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"links?.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul\n class=\"sky-link-list\"\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xl': 'modern'\n }\"\n >\n <li\n *ngFor=\"let link of links\"\n [skyThemeClass]=\"{\n 'sky-margin-stacked-default': 'default',\n 'sky-margin-stacked-sm': 'modern'\n }\"\n >\n <a *ngIf=\"link.permalink.url\" [skyHref]=\"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: [".sky-link-list{list-style:none;margin-left:0;padding-left:0}\n"], components: [{ type: i2.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i4.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLinkListComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'sky-link-list', template: "<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 sky-margin-stacked-sm\">\n {{ title }}\n </h2>\n</ng-template>\n<ng-template #loadingTemplateRef>\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n</ng-template>\n<ng-template #linksTemplateRef>\n <ng-container *ngIf=\"links?.length > 0\">\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\"></ng-container>\n <ul\n class=\"sky-link-list\"\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xl': 'modern'\n }\"\n >\n <li\n *ngFor=\"let link of links\"\n [skyThemeClass]=\"{\n 'sky-margin-stacked-default': 'default',\n 'sky-margin-stacked-sm': 'modern'\n }\"\n >\n <a *ngIf=\"link.permalink.url\" [skyHref]=\"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: [".sky-link-list{list-style:none;margin-left:0;padding-left:0}\n"] }]
27
+ }], propDecorators: { links: [{
28
+ type: Input
29
+ }], title: [{
30
+ type: Input
31
+ }] } });
32
+
33
+ class SkyNeedsAttentionComponent {
34
+ constructor() {
35
+ this.gutterSize = 'large';
36
+ }
37
+ }
38
+ SkyNeedsAttentionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNeedsAttentionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ SkyNeedsAttentionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyNeedsAttentionComponent, selector: "sky-needs-attention", inputs: { items: "items" }, ngImport: i0, template: "<div\n class=\"sky-needs-attention-container\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large sky-shadow': 'default',\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <h2 class=\"sky-font-heading-4\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n <sky-fluid-grid [gutterSize]=\"gutterSize\" [disableMargin]=\"true\">\n <sky-row>\n <sky-column *ngIf=\"items?.length === 0\" [screenXSmall]=\"12\">\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n </sky-column>\n <sky-column\n *ngFor=\"let item of items; let isLast = last\"\n [screenSmall]=\"items.length > 6 ? 6 : 12\"\n [screenXSmall]=\"12\"\n >\n <ng-template #link>\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-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 <sky-key-info\n layout=\"horizontal\"\n class=\"sky-needs-attention-item-key-info\"\n >\n <sky-key-info-label>{{ item.message }}</sky-key-info-label>\n <sky-key-info-value\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-display-4': 'modern'\n }\"\n >\n {{ item.title }}\n </sky-key-info-value>\n </sky-key-info>\n </ng-template>\n <a\n *ngIf=\"item.permalink.route\"\n [skyAppLink]=\"item.permalink.route.commands\"\n [queryParams]=\"item.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n item.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"item.permalink.route.extras?.fragment\"\n [preserveFragment]=\"item.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"item.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"item.permalink.route.extras?.replaceUrl\"\n [state]=\"item.permalink.route.extras?.state\"\n class=\"sky-needs-attention-item sky-padding-vertical-lg sky-border-bottom-row\"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n <a\n *ngIf=\"item.permalink.url\"\n [skyHref]=\"item.permalink.url\"\n class=\"sky-needs-attention-item sky-padding-vertical-lg sky-border-bottom-row\"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n </sky-column>\n </sky-row>\n </sky-fluid-grid>\n</div>\n", styles: [".sky-needs-attention-container{background-color:#fff}.sky-needs-attention-item{display:flex;flex-wrap:nowrap;align-items:center}.sky-needs-attention-item-icon{color:#686c73}.sky-needs-attention-item-key-info{flex-grow:1}.sky-needs-attention-item-icon{order:1}.sky-needs-attention-item sky-key-info-value{color:#0974a1}.sky-needs-attention-item:hover sky-key-info-value,.sky-needs-attention-item:hover sky-key-info-label{text-decoration:underline}.sky-needs-attention-item:focus{outline:none}.sky-needs-attention-item:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}sky-column:last-child>a{border-bottom:none}\n"], components: [{ type: i1.λ22, selector: "sky-fluid-grid", inputs: ["disableMargin", "gutterSize"] }, { type: i1.λ23, selector: "sky-row", inputs: ["reverseColumnOrder"] }, { type: i1.λ24, selector: "sky-column", inputs: ["screenXSmall", "screenSmall", "screenMedium", "screenLarge"] }, { type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i2.λ8, selector: "sky-key-info", inputs: ["layout"] }, { type: i2.λ6, selector: "sky-key-info-label" }, { type: i2.λ7, selector: "sky-key-info-value" }], directives: [{ type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i4.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }], pipes: { "skyLibResources": i6.SkyLibResourcesPipe } });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNeedsAttentionComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'sky-needs-attention', template: "<div\n class=\"sky-needs-attention-container\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large sky-shadow': 'default',\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <h2 class=\"sky-font-heading-4\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n <sky-fluid-grid [gutterSize]=\"gutterSize\" [disableMargin]=\"true\">\n <sky-row>\n <sky-column *ngIf=\"items?.length === 0\" [screenXSmall]=\"12\">\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n </sky-column>\n <sky-column\n *ngFor=\"let item of items; let isLast = last\"\n [screenSmall]=\"items.length > 6 ? 6 : 12\"\n [screenXSmall]=\"12\"\n >\n <ng-template #link>\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-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 <sky-key-info\n layout=\"horizontal\"\n class=\"sky-needs-attention-item-key-info\"\n >\n <sky-key-info-label>{{ item.message }}</sky-key-info-label>\n <sky-key-info-value\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-display-4': 'modern'\n }\"\n >\n {{ item.title }}\n </sky-key-info-value>\n </sky-key-info>\n </ng-template>\n <a\n *ngIf=\"item.permalink.route\"\n [skyAppLink]=\"item.permalink.route.commands\"\n [queryParams]=\"item.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n item.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"item.permalink.route.extras?.fragment\"\n [preserveFragment]=\"item.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"item.permalink.route.extras?.skipLocationChange\"\n [replaceUrl]=\"item.permalink.route.extras?.replaceUrl\"\n [state]=\"item.permalink.route.extras?.state\"\n class=\"sky-needs-attention-item sky-padding-vertical-lg sky-border-bottom-row\"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n <a\n *ngIf=\"item.permalink.url\"\n [skyHref]=\"item.permalink.url\"\n class=\"sky-needs-attention-item sky-padding-vertical-lg sky-border-bottom-row\"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n </sky-column>\n </sky-row>\n </sky-fluid-grid>\n</div>\n", styles: [".sky-needs-attention-container{background-color:#fff}.sky-needs-attention-item{display:flex;flex-wrap:nowrap;align-items:center}.sky-needs-attention-item-icon{color:#686c73}.sky-needs-attention-item-key-info{flex-grow:1}.sky-needs-attention-item-icon{order:1}.sky-needs-attention-item sky-key-info-value{color:#0974a1}.sky-needs-attention-item:hover sky-key-info-value,.sky-needs-attention-item:hover sky-key-info-label{text-decoration:underline}.sky-needs-attention-item:focus{outline:none}.sky-needs-attention-item:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}sky-column:last-child>a{border-bottom:none}\n"] }]
43
+ }], propDecorators: { items: [{
44
+ type: Input
45
+ }] } });
46
+
47
+ let parentLink;
48
+ class SkyPageHeaderComponent {
49
+ }
50
+ SkyPageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ SkyPageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyPageHeaderComponent, selector: "sky-page-header", inputs: { parentLink: "parentLink", pageTitle: "pageTitle" }, ngImport: i0, template: "<h1 class=\"sky-page-header\">\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\"\n [skyAppLink]=\"parentLink.permalink.route.commands\"\n [queryParams]=\"parentLink.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n parentLink.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"parentLink.permalink.route.extras?.fragment\"\n [preserveFragment]=\"parentLink.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n parentLink.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"parentLink.permalink.route.extras?.replaceUrl\"\n [state]=\"parentLink.permalink.route.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 *skyThemeIf=\"'default'\" icon=\"chevron-right\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\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", styles: [".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}: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"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"] }, { type: i4.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }] });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPageHeaderComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'sky-page-header', template: "<h1 class=\"sky-page-header\">\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\"\n [skyAppLink]=\"parentLink.permalink.route.commands\"\n [queryParams]=\"parentLink.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n parentLink.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"parentLink.permalink.route.extras?.fragment\"\n [preserveFragment]=\"parentLink.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n parentLink.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"parentLink.permalink.route.extras?.replaceUrl\"\n [state]=\"parentLink.permalink.route.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 *skyThemeIf=\"'default'\" icon=\"chevron-right\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\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", styles: [".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}: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"] }]
55
+ }], propDecorators: { parentLink: [{
56
+ type: Input
57
+ }], pageTitle: [{
58
+ type: Input
59
+ }] } });
60
+
61
+ class SkyPageHeaderModule {
62
+ }
63
+ SkyPageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
64
+ SkyPageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPageHeaderModule, declarations: [SkyPageHeaderComponent], imports: [CommonModule,
65
+ RouterModule,
66
+ SkyAppLinkModule,
67
+ SkyIconModule,
68
+ SkyThemeModule,
69
+ SkyHrefModule], exports: [SkyPageHeaderComponent] });
70
+ SkyPageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPageHeaderModule, imports: [[
71
+ CommonModule,
72
+ RouterModule,
73
+ SkyAppLinkModule,
74
+ SkyIconModule,
75
+ SkyThemeModule,
76
+ SkyHrefModule,
77
+ ]] });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPageHeaderModule, decorators: [{
79
+ type: NgModule,
80
+ args: [{
81
+ imports: [
82
+ CommonModule,
83
+ RouterModule,
84
+ SkyAppLinkModule,
85
+ SkyIconModule,
86
+ SkyThemeModule,
87
+ SkyHrefModule,
88
+ ],
89
+ declarations: [SkyPageHeaderComponent],
90
+ exports: [SkyPageHeaderComponent],
91
+ }]
92
+ }] });
93
+
94
+ /**
95
+ * NOTICE: DO NOT MODIFY THIS FILE!
96
+ * The contents of this file were automatically generated by
97
+ * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-pages' schematic.
98
+ * To update this file, simply rerun the command.
99
+ */
100
+ const RESOURCES = {
101
+ 'EN-US': {
102
+ sky_action_hub_related_links: { message: 'Related Links' },
103
+ sky_action_hub_recent_links: { message: 'Recently Accessed' },
104
+ sky_action_hub_needs_attention: { message: 'Needs Attention' },
105
+ sky_action_hub_needs_attention_empty: {
106
+ message: 'No issues currently need attention',
107
+ },
108
+ },
109
+ };
110
+ class SkyPagesResourcesProvider {
111
+ getString(localeInfo, name) {
112
+ return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
113
+ }
114
+ }
115
+ /**
116
+ * Import into any component library module that needs to use resource strings.
117
+ */
118
+ class SkyPagesResourcesModule {
119
+ }
120
+ SkyPagesResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPagesResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
121
+ SkyPagesResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPagesResourcesModule, exports: [SkyI18nModule] });
122
+ SkyPagesResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPagesResourcesModule, providers: [
123
+ {
124
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
125
+ useClass: SkyPagesResourcesProvider,
126
+ multi: true,
127
+ },
128
+ ], imports: [SkyI18nModule] });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPagesResourcesModule, decorators: [{
130
+ type: NgModule,
131
+ args: [{
132
+ exports: [SkyI18nModule],
133
+ providers: [
134
+ {
135
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
136
+ useClass: SkyPagesResourcesProvider,
137
+ multi: true,
138
+ },
139
+ ],
140
+ }]
141
+ }] });
142
+
143
+ /**
144
+ * Displays buttons after the page title.
145
+ *
146
+ * Example:
147
+ *
148
+ * ```html
149
+ * <a class="sky-btn sky-btn-default" href="path/to/new">New</a>
150
+ * ```
151
+ */
152
+ class SkyActionHubButtonsComponent {
153
+ }
154
+ SkyActionHubButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
155
+ SkyActionHubButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyActionHubButtonsComponent, selector: "sky-action-hub-buttons", ngImport: i0, template: "<ng-content></ng-content>\n" });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubButtonsComponent, decorators: [{
157
+ type: Component,
158
+ args: [{ selector: 'sky-action-hub-buttons', template: "<ng-content></ng-content>\n" }]
159
+ }] });
160
+
161
+ /**
162
+ * Displays additional content after the action items.
163
+ */
164
+ class SkyActionHubContentComponent {
165
+ }
166
+ SkyActionHubContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
167
+ SkyActionHubContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyActionHubContentComponent, selector: "sky-action-hub-content", ngImport: i0, template: "<ng-content></ng-content>\n" });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubContentComponent, decorators: [{
169
+ type: Component,
170
+ args: [{ selector: 'sky-action-hub-content', template: "<ng-content></ng-content>\n" }]
171
+ }] });
172
+
173
+ var _SkyActionHubRecentLinksResolvePipe_instances, _SkyActionHubRecentLinksResolvePipe_currentRecentLinks, _SkyActionHubRecentLinksResolvePipe_currentRecentLinksResolved, _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub, _SkyActionHubRecentLinksResolvePipe_ngUnsubscribe, _SkyActionHubRecentLinksResolvePipe_resolveRequestedRoutes, _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved;
174
+ const RECENTLY_ACCESSED_LIMIT = 5;
175
+ function getRecentLinksSorted(recentLinks) {
176
+ if (recentLinks === 'loading') {
177
+ return 'loading';
178
+ }
179
+ if (!recentLinks || recentLinks.length === 0) {
180
+ return [];
181
+ }
182
+ return recentLinks
183
+ .slice(0)
184
+ .sort((a, b) => {
185
+ const aTime = a.lastAccessed instanceof Date
186
+ ? a.lastAccessed.toISOString()
187
+ : a.lastAccessed;
188
+ const bTime = b.lastAccessed instanceof Date
189
+ ? b.lastAccessed.toISOString()
190
+ : b.lastAccessed;
191
+ if (aTime === bTime) {
192
+ return 0;
193
+ }
194
+ return aTime > bTime ? -1 : 1;
195
+ })
196
+ .slice(0, RECENTLY_ACCESSED_LIMIT);
197
+ }
198
+ class SkyActionHubRecentLinksResolvePipe {
199
+ constructor(changeDetector, recentlyAccessedSvc) {
200
+ this.changeDetector = changeDetector;
201
+ this.recentlyAccessedSvc = recentlyAccessedSvc;
202
+ _SkyActionHubRecentLinksResolvePipe_instances.add(this);
203
+ _SkyActionHubRecentLinksResolvePipe_currentRecentLinks.set(this, void 0);
204
+ _SkyActionHubRecentLinksResolvePipe_currentRecentLinksResolved.set(this, []);
205
+ _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub.set(this, void 0);
206
+ _SkyActionHubRecentLinksResolvePipe_ngUnsubscribe.set(this, new Subject());
207
+ }
208
+ transform(recentLinks) {
209
+ if (recentLinks !== __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_currentRecentLinks, "f")) {
210
+ if (__classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub, "f")) {
211
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub, "f").unsubscribe();
212
+ }
213
+ __classPrivateFieldSet(this, _SkyActionHubRecentLinksResolvePipe_currentRecentLinks, recentLinks, "f");
214
+ const getLinksArgs = recentLinks;
215
+ if (getLinksArgs?.requestedRoutes) {
216
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_instances, "m", _SkyActionHubRecentLinksResolvePipe_resolveRequestedRoutes).call(this, getLinksArgs);
217
+ }
218
+ else {
219
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_instances, "m", _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved).call(this, recentLinks);
220
+ }
221
+ }
222
+ return __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_currentRecentLinksResolved, "f");
223
+ }
224
+ ngOnDestroy() {
225
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_ngUnsubscribe, "f").next();
226
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_ngUnsubscribe, "f").complete();
227
+ }
228
+ }
229
+ _SkyActionHubRecentLinksResolvePipe_currentRecentLinks = new WeakMap(), _SkyActionHubRecentLinksResolvePipe_currentRecentLinksResolved = new WeakMap(), _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub = new WeakMap(), _SkyActionHubRecentLinksResolvePipe_ngUnsubscribe = new WeakMap(), _SkyActionHubRecentLinksResolvePipe_instances = new WeakSet(), _SkyActionHubRecentLinksResolvePipe_resolveRequestedRoutes = function _SkyActionHubRecentLinksResolvePipe_resolveRequestedRoutes(args) {
230
+ if (this.recentlyAccessedSvc) {
231
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_instances, "m", _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved).call(this, 'loading');
232
+ __classPrivateFieldSet(this, _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub, this.recentlyAccessedSvc
233
+ .getLinks(args)
234
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_ngUnsubscribe, "f")))
235
+ .subscribe((result) => {
236
+ __classPrivateFieldSet(this, _SkyActionHubRecentLinksResolvePipe_recentlyAccessedSub, undefined, "f");
237
+ const recentLinks = result.links.map((item) => ({
238
+ label: item.label,
239
+ lastAccessed: item.lastAccessed,
240
+ permalink: {
241
+ url: item.url,
242
+ },
243
+ }));
244
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_instances, "m", _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved).call(this, recentLinks);
245
+ }), "f");
246
+ }
247
+ else {
248
+ __classPrivateFieldGet(this, _SkyActionHubRecentLinksResolvePipe_instances, "m", _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved).call(this, []);
249
+ }
250
+ }, _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved = function _SkyActionHubRecentLinksResolvePipe_updateRecentLinksResolved(recentLinksResolved) {
251
+ __classPrivateFieldSet(this, _SkyActionHubRecentLinksResolvePipe_currentRecentLinksResolved, getRecentLinksSorted(recentLinksResolved), "f");
252
+ this.changeDetector.markForCheck();
253
+ };
254
+ SkyActionHubRecentLinksResolvePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubRecentLinksResolvePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i4.SkyRecentlyAccessedService, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
255
+ SkyActionHubRecentLinksResolvePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubRecentLinksResolvePipe, name: "skyActionHubRecentLinksResolve", pure: false });
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubRecentLinksResolvePipe, decorators: [{
257
+ type: Pipe,
258
+ args: [{
259
+ name: 'skyActionHubRecentLinksResolve',
260
+ pure: false,
261
+ }]
262
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i4.SkyRecentlyAccessedService, decorators: [{
263
+ type: Optional
264
+ }] }]; } });
265
+
266
+ class SkyActionHubRelatedLinksSortPipe {
267
+ transform(relatedLinks) {
268
+ if (relatedLinks === 'loading') {
269
+ return 'loading';
270
+ }
271
+ if (!relatedLinks || relatedLinks.length === 0) {
272
+ return [];
273
+ }
274
+ return relatedLinks.slice(0).sort((a, b) => {
275
+ const aLabel = a.label.trim().toUpperCase();
276
+ const bLabel = b.label.trim().toUpperCase();
277
+ if (aLabel === bLabel) {
278
+ return 0;
279
+ }
280
+ return aLabel < bLabel ? -1 : 1;
281
+ });
282
+ }
283
+ }
284
+ SkyActionHubRelatedLinksSortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubRelatedLinksSortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
285
+ SkyActionHubRelatedLinksSortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubRelatedLinksSortPipe, name: "skyActionHubRelatedLinksSort" });
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubRelatedLinksSortPipe, decorators: [{
287
+ type: Pipe,
288
+ args: [{
289
+ name: 'skyActionHubRelatedLinksSort',
290
+ }]
291
+ }] });
292
+
293
+ /**
294
+ * Creates an action hub to direct user attention to important
295
+ * actions and provide quick access to common tasks.
296
+ */
297
+ class SkyActionHubComponent {
298
+ constructor() {
299
+ /**
300
+ * Provides a list of actions that users must perform based on business requirements or best practices, or `"loading"` to display a wait indicator.
301
+ */
302
+ this.needsAttention = [];
303
+ /**
304
+ * Provides a list of recently accessed links, or `"loading"` to display a wait indicator.
305
+ */
306
+ this.recentLinks = [];
307
+ /**
308
+ * Provides a list of related links, or `"loading"` to display a wait indicator.
309
+ */
310
+ this.relatedLinks = [];
311
+ /**
312
+ * Specifies the page title.
313
+ * @default ""
314
+ */
315
+ this.title = '';
316
+ }
317
+ }
318
+ SkyActionHubComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
319
+ SkyActionHubComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyActionHubComponent, selector: "sky-action-hub", inputs: { needsAttention: "needsAttention", parentLink: "parentLink", recentLinks: "recentLinks", relatedLinks: "relatedLinks", title: "title" }, ngImport: i0, template: "<ng-template #loadingTemplateRef>\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n</ng-template>\n<sky-fluid-grid>\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\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xl': 'modern'\n }\"\n >\n <ng-content select=\"sky-action-hub-buttons\"></ng-content>\n </div>\n\n <div\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xxl': 'modern'\n }\"\n >\n <ng-container\n *ngIf=\"\n needsAttention === 'loading';\n then loadingTemplateRef;\n else needsAttentionTemplateRef\n \"\n ></ng-container>\n <ng-template #needsAttentionTemplateRef>\n <sky-needs-attention [items]=\"needsAttention\"></sky-needs-attention>\n </ng-template>\n </div>\n\n <div\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xxl': 'modern'\n }\"\n >\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-column>\n </sky-row>\n</sky-fluid-grid>\n", components: [{ type: i2.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { type: i1.λ22, selector: "sky-fluid-grid", inputs: ["disableMargin", "gutterSize"] }, { type: i1.λ23, selector: "sky-row", inputs: ["reverseColumnOrder"] }, { type: i1.λ24, selector: "sky-column", inputs: ["screenXSmall", "screenSmall", "screenMedium", "screenLarge"] }, { type: SkyPageHeaderComponent, selector: "sky-page-header", inputs: ["parentLink", "pageTitle"] }, { type: SkyNeedsAttentionComponent, selector: "sky-needs-attention", inputs: ["items"] }, { type: SkyLinkListComponent, selector: "sky-link-list", inputs: ["links", "title"] }], directives: [{ type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyActionHubRelatedLinksSort": SkyActionHubRelatedLinksSortPipe, "skyLibResources": i6.SkyLibResourcesPipe, "skyActionHubRecentLinksResolve": SkyActionHubRecentLinksResolvePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubComponent, decorators: [{
321
+ type: Component,
322
+ args: [{ selector: 'sky-action-hub', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #loadingTemplateRef>\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n</ng-template>\n<sky-fluid-grid>\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\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xl': 'modern'\n }\"\n >\n <ng-content select=\"sky-action-hub-buttons\"></ng-content>\n </div>\n\n <div\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xxl': 'modern'\n }\"\n >\n <ng-container\n *ngIf=\"\n needsAttention === 'loading';\n then loadingTemplateRef;\n else needsAttentionTemplateRef\n \"\n ></ng-container>\n <ng-template #needsAttentionTemplateRef>\n <sky-needs-attention [items]=\"needsAttention\"></sky-needs-attention>\n </ng-template>\n </div>\n\n <div\n [skyThemeClass]=\"{\n 'sky-margin-stacked-separate': 'default',\n 'sky-margin-stacked-xxl': 'modern'\n }\"\n >\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-column>\n </sky-row>\n</sky-fluid-grid>\n" }]
323
+ }], propDecorators: { needsAttention: [{
324
+ type: Input
325
+ }], parentLink: [{
326
+ type: Input
327
+ }], recentLinks: [{
328
+ type: Input
329
+ }], relatedLinks: [{
330
+ type: Input
331
+ }], title: [{
332
+ type: Input
333
+ }] } });
334
+
335
+ class SkyActionHubModule {
336
+ }
337
+ SkyActionHubModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
338
+ SkyActionHubModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubModule, declarations: [SkyActionHubButtonsComponent,
339
+ SkyActionHubComponent,
340
+ SkyActionHubContentComponent,
341
+ SkyActionHubRecentLinksResolvePipe,
342
+ SkyActionHubRelatedLinksSortPipe,
343
+ SkyNeedsAttentionComponent,
344
+ SkyLinkListComponent], imports: [CommonModule,
345
+ SkyPagesResourcesModule,
346
+ RouterModule,
347
+ SkyActionButtonModule,
348
+ SkyAppLinkModule,
349
+ SkyFluidGridModule,
350
+ SkyI18nModule,
351
+ SkyIconModule,
352
+ SkyKeyInfoModule,
353
+ SkyPageHeaderModule,
354
+ SkyThemeModule,
355
+ SkyWaitModule,
356
+ SkyHrefModule], exports: [SkyActionHubButtonsComponent,
357
+ SkyActionHubComponent,
358
+ SkyActionHubContentComponent] });
359
+ SkyActionHubModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubModule, imports: [[
360
+ CommonModule,
361
+ SkyPagesResourcesModule,
362
+ RouterModule,
363
+ SkyActionButtonModule,
364
+ SkyAppLinkModule,
365
+ SkyFluidGridModule,
366
+ SkyI18nModule,
367
+ SkyIconModule,
368
+ SkyKeyInfoModule,
369
+ SkyPageHeaderModule,
370
+ SkyThemeModule,
371
+ SkyWaitModule,
372
+ SkyHrefModule,
373
+ ]] });
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyActionHubModule, decorators: [{
375
+ type: NgModule,
376
+ args: [{
377
+ imports: [
378
+ CommonModule,
379
+ SkyPagesResourcesModule,
380
+ RouterModule,
381
+ SkyActionButtonModule,
382
+ SkyAppLinkModule,
383
+ SkyFluidGridModule,
384
+ SkyI18nModule,
385
+ SkyIconModule,
386
+ SkyKeyInfoModule,
387
+ SkyPageHeaderModule,
388
+ SkyThemeModule,
389
+ SkyWaitModule,
390
+ SkyHrefModule,
391
+ ],
392
+ declarations: [
393
+ SkyActionHubButtonsComponent,
394
+ SkyActionHubComponent,
395
+ SkyActionHubContentComponent,
396
+ SkyActionHubRecentLinksResolvePipe,
397
+ SkyActionHubRelatedLinksSortPipe,
398
+ SkyNeedsAttentionComponent,
399
+ SkyLinkListComponent,
400
+ ],
401
+ exports: [
402
+ SkyActionHubButtonsComponent,
403
+ SkyActionHubComponent,
404
+ SkyActionHubContentComponent,
405
+ ],
406
+ }]
407
+ }] });
408
+
409
+ /**
410
+ * Generated bundle index. Do not edit.
411
+ */
412
+
413
+ export { SkyActionHubModule, SkyPageHeaderModule, SkyActionHubComponent as λ1, SkyActionHubButtonsComponent as λ2, SkyActionHubContentComponent as λ3, SkyPageHeaderComponent as λ4 };
414
+ //# sourceMappingURL=skyux-pages.mjs.map