@skyux/pages 5.8.4 → 5.9.2

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 (31) hide show
  1. package/bundles/skyux-pages.umd.js +455 -45
  2. package/documentation.json +180 -272
  3. package/esm2015/index.js +2 -0
  4. package/esm2015/index.js.map +1 -1
  5. package/esm2015/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.js +100 -0
  6. package/esm2015/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.js.map +1 -0
  7. package/esm2015/lib/modules/action-hub/action-hub-related-links-sort.pipe.js +29 -0
  8. package/esm2015/lib/modules/action-hub/action-hub-related-links-sort.pipe.js.map +1 -0
  9. package/esm2015/lib/modules/action-hub/action-hub.component.js +4 -41
  10. package/esm2015/lib/modules/action-hub/action-hub.component.js.map +1 -1
  11. package/esm2015/lib/modules/action-hub/action-hub.module.js +6 -0
  12. package/esm2015/lib/modules/action-hub/action-hub.module.js.map +1 -1
  13. package/esm2015/lib/modules/action-hub/types/page-links-input.js +2 -0
  14. package/esm2015/lib/modules/action-hub/types/page-links-input.js.map +1 -0
  15. package/esm2015/lib/modules/action-hub/types/recent-links-input.js +2 -0
  16. package/esm2015/lib/modules/action-hub/types/recent-links-input.js.map +1 -0
  17. package/esm2015/lib/modules/action-hub/types/recent-links-resolved.js +2 -0
  18. package/esm2015/lib/modules/action-hub/types/recent-links-resolved.js.map +1 -0
  19. package/esm2015/lib/modules/link-list/link-list.component.js.map +1 -1
  20. package/fesm2015/skyux-pages.js +129 -41
  21. package/fesm2015/skyux-pages.js.map +1 -1
  22. package/index.d.ts +2 -0
  23. package/lib/modules/action-hub/action-hub-recent-links-resolve.pipe.d.ts +15 -0
  24. package/lib/modules/action-hub/action-hub-related-links-sort.pipe.d.ts +8 -0
  25. package/lib/modules/action-hub/action-hub.component.d.ts +4 -5
  26. package/lib/modules/action-hub/action-hub.module.d.ts +14 -12
  27. package/lib/modules/action-hub/types/page-links-input.d.ts +2 -0
  28. package/lib/modules/action-hub/types/recent-links-input.d.ts +6 -0
  29. package/lib/modules/action-hub/types/recent-links-resolved.d.ts +2 -0
  30. package/lib/modules/link-list/link-list.component.d.ts +2 -2
  31. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-pages.js","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.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 { SkyPageLink } from '../action-hub/types/page-link';\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: SkyPageLink[] | 'loading';\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=\"\n sky-needs-attention-item\n sky-padding-vertical-lg\n sky-border-bottom-row\n \"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n <a\n *ngIf=\"item.permalink.url\"\n [skyHref]=\"item.permalink.url\"\n class=\"\n sky-needs-attention-item\n sky-padding-vertical-lg\n sky-border-bottom-row\n \"\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 { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyActionHubNeedsAttention } from './types/action-hub-needs-attention';\nimport { SkyPageLink } from './types/page-link';\nimport { SkyRecentLink } from './types/recent-link';\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: SkyRecentLink[] | 'loading' = [];\n\n /**\n * Provides a list of related links, or `\"loading\"` to display a wait indicator.\n */\n @Input()\n public relatedLinks: SkyPageLink[] | 'loading' = [];\n\n /**\n * Specifies the page title.\n * @default \"\"\n */\n @Input()\n public title = '';\n\n public getRecentLinksSorted(\n recentLinks: SkyRecentLink[] | 'loading',\n limit: number\n ): SkyRecentLink[] | 'loading' {\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, limit);\n }\n\n public getRelatedLinksSorted(\n relatedLinks: SkyPageLink[] | 'loading'\n ): SkyPageLink[] | 'loading' {\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","<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]=\"getRelatedLinksSorted(relatedLinks)\"\n [title]=\"'sky_action_hub_related_links' | skyLibResources\"\n ></sky-link-list>\n <sky-link-list\n [links]=\"getRecentLinksSorted(recentLinks, 5)\"\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 { 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 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":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-pages.js","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=\"\n sky-needs-attention-item\n sky-padding-vertical-lg\n sky-border-bottom-row\n \"\n >\n <ng-container *ngTemplateOutlet=\"link\"></ng-container>\n </a>\n <a\n *ngIf=\"item.permalink.url\"\n [skyHref]=\"item.permalink.url\"\n class=\"\n sky-needs-attention-item\n sky-padding-vertical-lg\n sky-border-bottom-row\n \"\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":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export * from './lib/modules/action-hub/action-hub.module';
2
2
  export * from './lib/modules/action-hub/types/action-hub-needs-attention';
3
3
  export * from './lib/modules/action-hub/types/page-link';
4
+ export * from './lib/modules/action-hub/types/page-links-input';
4
5
  export * from './lib/modules/action-hub/types/recent-link';
6
+ export * from './lib/modules/action-hub/types/recent-links-input';
5
7
  export * from './lib/modules/page-header/page-header.module';
6
8
  export { SkyActionHubComponent as λ1 } from './lib/modules/action-hub/action-hub.component';
7
9
  export { SkyActionHubButtonsComponent as λ2 } from './lib/modules/action-hub/action-hub-buttons.component';
@@ -0,0 +1,15 @@
1
+ import { ChangeDetectorRef, OnDestroy, PipeTransform } from '@angular/core';
2
+ import { SkyRecentlyAccessedService } from '@skyux/router';
3
+ import { SkyRecentLinksInput } from './types/recent-links-input';
4
+ import { SkyRecentLinksResolved } from './types/recent-links-resolved';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SkyActionHubRecentLinksResolvePipe implements PipeTransform, OnDestroy {
7
+ #private;
8
+ private changeDetector;
9
+ private recentlyAccessedSvc?;
10
+ constructor(changeDetector: ChangeDetectorRef, recentlyAccessedSvc?: SkyRecentlyAccessedService);
11
+ transform(recentLinks: SkyRecentLinksInput): SkyRecentLinksResolved;
12
+ ngOnDestroy(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyActionHubRecentLinksResolvePipe, [null, { optional: true; }]>;
14
+ static ɵpipe: i0.ɵɵPipeDeclaration<SkyActionHubRecentLinksResolvePipe, "skyActionHubRecentLinksResolve">;
15
+ }
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { SkyPageLinksInput } from './types/page-links-input';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SkyActionHubRelatedLinksSortPipe implements PipeTransform {
5
+ transform(relatedLinks: SkyPageLinksInput): SkyPageLinksInput;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyActionHubRelatedLinksSortPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<SkyActionHubRelatedLinksSortPipe, "skyActionHubRelatedLinksSort">;
8
+ }
@@ -1,6 +1,7 @@
1
1
  import { SkyActionHubNeedsAttention } from './types/action-hub-needs-attention';
2
2
  import { SkyPageLink } from './types/page-link';
3
- import { SkyRecentLink } from './types/recent-link';
3
+ import { SkyPageLinksInput } from './types/page-links-input';
4
+ import { SkyRecentLinksInput } from './types/recent-links-input';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * Creates an action hub to direct user attention to important
@@ -18,18 +19,16 @@ export declare class SkyActionHubComponent {
18
19
  /**
19
20
  * Provides a list of recently accessed links, or `"loading"` to display a wait indicator.
20
21
  */
21
- recentLinks: SkyRecentLink[] | 'loading';
22
+ recentLinks: SkyRecentLinksInput;
22
23
  /**
23
24
  * Provides a list of related links, or `"loading"` to display a wait indicator.
24
25
  */
25
- relatedLinks: SkyPageLink[] | 'loading';
26
+ relatedLinks: SkyPageLinksInput;
26
27
  /**
27
28
  * Specifies the page title.
28
29
  * @default ""
29
30
  */
30
31
  title: string;
31
- getRecentLinksSorted(recentLinks: SkyRecentLink[] | 'loading', limit: number): SkyRecentLink[] | 'loading';
32
- getRelatedLinksSorted(relatedLinks: SkyPageLink[] | 'loading'): SkyPageLink[] | 'loading';
33
32
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyActionHubComponent, never>;
34
33
  static ɵcmp: i0.ɵɵComponentDeclaration<SkyActionHubComponent, "sky-action-hub", never, { "needsAttention": "needsAttention"; "parentLink": "parentLink"; "recentLinks": "recentLinks"; "relatedLinks": "relatedLinks"; "title": "title"; }, {}, never, ["sky-action-hub-buttons", "sky-action-hub-content"]>;
35
34
  }
@@ -2,19 +2,21 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./action-hub-buttons.component";
3
3
  import * as i2 from "./action-hub.component";
4
4
  import * as i3 from "./action-hub-content.component";
5
- import * as i4 from "../needs-attention/needs-attention.component";
6
- import * as i5 from "../link-list/link-list.component";
7
- import * as i6 from "@angular/common";
8
- import * as i7 from "../shared/sky-pages-resources.module";
9
- import * as i8 from "@angular/router";
10
- import * as i9 from "@skyux/layout";
11
- import * as i10 from "@skyux/router";
12
- import * as i11 from "@skyux/i18n";
13
- import * as i12 from "@skyux/indicators";
14
- import * as i13 from "../page-header/page-header.module";
15
- import * as i14 from "@skyux/theme";
5
+ import * as i4 from "./action-hub-recent-links-resolve.pipe";
6
+ import * as i5 from "./action-hub-related-links-sort.pipe";
7
+ import * as i6 from "../needs-attention/needs-attention.component";
8
+ import * as i7 from "../link-list/link-list.component";
9
+ import * as i8 from "@angular/common";
10
+ import * as i9 from "../shared/sky-pages-resources.module";
11
+ import * as i10 from "@angular/router";
12
+ import * as i11 from "@skyux/layout";
13
+ import * as i12 from "@skyux/router";
14
+ import * as i13 from "@skyux/i18n";
15
+ import * as i14 from "@skyux/indicators";
16
+ import * as i15 from "../page-header/page-header.module";
17
+ import * as i16 from "@skyux/theme";
16
18
  export declare class SkyActionHubModule {
17
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyActionHubModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<SkyActionHubModule, [typeof i1.SkyActionHubButtonsComponent, typeof i2.SkyActionHubComponent, typeof i3.SkyActionHubContentComponent, typeof i4.SkyNeedsAttentionComponent, typeof i5.SkyLinkListComponent], [typeof i6.CommonModule, typeof i7.SkyPagesResourcesModule, typeof i8.RouterModule, typeof i9.SkyActionButtonModule, typeof i10.SkyAppLinkModule, typeof i9.SkyFluidGridModule, typeof i11.SkyI18nModule, typeof i12.SkyIconModule, typeof i12.SkyKeyInfoModule, typeof i13.SkyPageHeaderModule, typeof i14.SkyThemeModule, typeof i12.SkyWaitModule, typeof i10.SkyHrefModule], [typeof i1.SkyActionHubButtonsComponent, typeof i2.SkyActionHubComponent, typeof i3.SkyActionHubContentComponent]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyActionHubModule, [typeof i1.SkyActionHubButtonsComponent, typeof i2.SkyActionHubComponent, typeof i3.SkyActionHubContentComponent, typeof i4.SkyActionHubRecentLinksResolvePipe, typeof i5.SkyActionHubRelatedLinksSortPipe, typeof i6.SkyNeedsAttentionComponent, typeof i7.SkyLinkListComponent], [typeof i8.CommonModule, typeof i9.SkyPagesResourcesModule, typeof i10.RouterModule, typeof i11.SkyActionButtonModule, typeof i12.SkyAppLinkModule, typeof i11.SkyFluidGridModule, typeof i13.SkyI18nModule, typeof i14.SkyIconModule, typeof i14.SkyKeyInfoModule, typeof i15.SkyPageHeaderModule, typeof i16.SkyThemeModule, typeof i14.SkyWaitModule, typeof i12.SkyHrefModule], [typeof i1.SkyActionHubButtonsComponent, typeof i2.SkyActionHubComponent, typeof i3.SkyActionHubContentComponent]>;
19
21
  static ɵinj: i0.ɵɵInjectorDeclaration<SkyActionHubModule>;
20
22
  }
@@ -0,0 +1,2 @@
1
+ import { SkyPageLink } from './page-link';
2
+ export declare type SkyPageLinksInput = SkyPageLink[] | 'loading' | undefined;
@@ -0,0 +1,6 @@
1
+ import { SkyRecentlyAccessedGetLinksArgs } from '@skyux/router';
2
+ import { SkyRecentLink } from './recent-link';
3
+ /**
4
+ * Recently accessed links to display in a link list component.
5
+ */
6
+ export declare type SkyRecentLinksInput = SkyRecentLink[] | 'loading' | SkyRecentlyAccessedGetLinksArgs | undefined;
@@ -0,0 +1,2 @@
1
+ import { SkyRecentLink } from './recent-link';
2
+ export declare type SkyRecentLinksResolved = SkyRecentLink[] | 'loading' | undefined;
@@ -1,7 +1,7 @@
1
- import { SkyPageLink } from '../action-hub/types/page-link';
1
+ import { SkyPageLinksInput } from '../action-hub/types/page-links-input';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SkyLinkListComponent {
4
- links: SkyPageLink[] | 'loading';
4
+ links: SkyPageLinksInput;
5
5
  title: string;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyLinkListComponent, never>;
7
7
  static ɵcmp: i0.ɵɵComponentDeclaration<SkyLinkListComponent, "sky-link-list", never, { "links": "links"; "title": "title"; }, {}, never, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/pages",
3
- "version": "5.8.4",
3
+ "version": "5.9.2",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -19,11 +19,11 @@
19
19
  "@angular/common": "^12.2.16",
20
20
  "@angular/core": "^12.2.16",
21
21
  "@angular/router": "^12.2.16",
22
- "@skyux/i18n": "5.8.4",
23
- "@skyux/indicators": "5.8.4",
24
- "@skyux/layout": "5.8.4",
25
- "@skyux/router": "5.8.4",
26
- "@skyux/theme": "5.8.4"
22
+ "@skyux/i18n": "5.9.2",
23
+ "@skyux/indicators": "5.9.2",
24
+ "@skyux/layout": "5.9.2",
25
+ "@skyux/router": "5.9.2",
26
+ "@skyux/theme": "5.9.2"
27
27
  },
28
28
  "dependencies": {
29
29
  "tslib": "^2.3.1"