@skyux/layout 12.11.3 → 12.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-layout.mjs","sources":["../../../../../libs/components/layout/src/lib/modules/action-button/action-button-adapter-service.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-container.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-container.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-details.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-details.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-header.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-header.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-icon.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-icon.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.module.ts","../../../../../libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.component.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.component.html","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/models/back-to-top-message-type.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.directive.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.module.ts","../../../../../libs/components/layout/src/lib/modules/box/box-content.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-content.component.html","../../../../../libs/components/layout/src/lib/modules/box/box-header-id-token.ts","../../../../../libs/components/layout/src/lib/modules/box/box-controls.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-controls.component.html","../../../../../libs/components/layout/src/lib/modules/box/box-header.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-header.component.html","../../../../../libs/components/layout/src/lib/modules/box/box.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box.component.html","../../../../../libs/components/layout/src/lib/modules/box/box.module.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete-type.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.component.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.component.html","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.module.ts","../../../../../libs/components/layout/src/lib/modules/card/card-actions.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-actions.component.html","../../../../../libs/components/layout/src/lib/modules/card/card-content.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-content.component.html","../../../../../libs/components/layout/src/lib/modules/card/card-title.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-title.component.html","../../../../../libs/components/layout/src/lib/modules/card/card.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card.component.html","../../../../../libs/components/layout/src/lib/modules/card/card.module.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-content.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-content.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-heading.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-heading.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.service.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-label.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-label.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-value.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-value.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.module.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.service.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-description.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-description.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-term.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-term.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-content.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-content.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-adapter-service.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.module.ts","../../../../../libs/components/layout/src/lib/modules/description-list/types/description-list-mode.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/column.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/column.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/row.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/row.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.module.ts","../../../../../libs/components/layout/src/lib/modules/format/format.component.ts","../../../../../libs/components/layout/src/lib/modules/format/format.component.html","../../../../../libs/components/layout/src/lib/modules/format/format.module.ts","../../../../../libs/components/layout/src/lib/modules/page/page-theme-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/page/page.component.ts","../../../../../libs/components/layout/src/lib/modules/page/page.component.html","../../../../../libs/components/layout/src/lib/modules/page/page.module.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-alert.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-alert.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-content.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-content.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-image.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-image.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-key-info.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-key-info.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-status.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-status.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-subtitle.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-subtitle.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-title.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-title.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.module.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal-context-token.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.module.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.module.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-item.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-item.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-section.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-section.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-view-actions.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-view-actions.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.module.ts","../../../../../libs/components/layout/src/skyux-layout.ts"],"sourcesContent":["import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nconst RESPONSIVE_CLASS_SM = 'sky-action-button-container-sm';\nconst RESPONSIVE_CLASS_MD = 'sky-action-button-container-md';\nconst RESPONSIVE_CLASS_LG = 'sky-action-button-container-lg';\n\nconst BREAKPOINT_MD = 912;\nconst BREAKPOINT_LG = 1378;\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyActionButtonAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getParentWidth(element: ElementRef): number | undefined {\n return (\n element.nativeElement as HTMLElement\n ).parentElement?.getBoundingClientRect().width;\n }\n\n public setResponsiveClass(element: ElementRef, width = 0): void {\n const el: any = element.nativeElement;\n const className = this.#getResponsiveClassName(width);\n\n this.#renderer.removeClass(el, RESPONSIVE_CLASS_SM);\n this.#renderer.removeClass(el, RESPONSIVE_CLASS_MD);\n this.#renderer.removeClass(el, RESPONSIVE_CLASS_LG);\n\n this.#renderer.addClass(el, className);\n }\n\n #getResponsiveClassName(width: number): string {\n if (width < BREAKPOINT_MD) {\n return RESPONSIVE_CLASS_SM;\n } else if (width >= BREAKPOINT_MD && width < BREAKPOINT_LG) {\n return RESPONSIVE_CLASS_MD;\n } else {\n return RESPONSIVE_CLASS_LG;\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n SkipSelf,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SkyHrefChange } from '@skyux/router';\n\nimport { SkyActionButtonPermalink } from './action-button-permalink';\n\n/**\n * Creates a button to present users with an option to move forward with tasks.\n */\n@Component({\n selector: 'sky-action-button',\n styleUrls: [\n './action-button.default.component.scss',\n './action-button.modern.component.scss',\n ],\n templateUrl: './action-button.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyActionButtonComponent {\n @HostBinding('hidden')\n public hidden = false;\n\n /**\n * The link for the action button.\n */\n @Input()\n public permalink: SkyActionButtonPermalink | undefined;\n\n /**\n * Fires when users select the action button.\n */\n @Output()\n public actionClick = new EventEmitter<any>();\n\n #changeDetector: ChangeDetectorRef;\n\n constructor(@SkipSelf() changeDetector: ChangeDetectorRef) {\n this.#changeDetector = changeDetector;\n }\n\n public buttonClicked() {\n this.actionClick.emit();\n }\n\n public enterPress() {\n this.actionClick.emit();\n }\n\n public onSkyHrefDisplayChange($event: SkyHrefChange) {\n if (this.hidden === $event.userHasAccess) {\n setTimeout(() => {\n this.hidden = !$event.userHasAccess;\n this.#changeDetector.markForCheck();\n });\n }\n }\n}\n","@if (!!permalink?.route?.commands) {\n <a\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [fragment]=\"permalink?.route?.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n [queryParams]=\"permalink?.route?.extras?.queryParams\"\n [queryParamsHandling]=\"permalink?.route?.extras?.queryParamsHandling\"\n [routerLink]=\"permalink?.route?.commands\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </a>\n} @else if (!permalink?.route && permalink?.url) {\n @if (\n !permalink?.url?.includes('://') || permalink?.url?.startsWith('https://')\n ) {\n <a\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [href]=\"permalink?.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </a>\n } @else {\n <a\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [skyHref]=\"permalink?.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </a>\n }\n} @else {\n <div\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n role=\"button\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (click)=\"buttonClicked()\"\n (keydown.enter)=\"enterPress()\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </div>\n}\n\n<ng-template #actionButtonContent>\n <ng-container *skyThemeIf=\"'default'\">\n <div class=\"sky-action-button-icon-header-container\">\n <ng-container *ngTemplateOutlet=\"icon\" />\n <ng-container *ngTemplateOutlet=\"header\" />\n </div>\n <ng-container *ngTemplateOutlet=\"details\" />\n </ng-container>\n\n <ng-container *skyThemeIf=\"'modern'\">\n <ng-container *ngTemplateOutlet=\"icon\" />\n <div class=\"sky-action-button-content\">\n <ng-container *ngTemplateOutlet=\"header\" />\n <div\n class=\"sky-action-button-details\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"details\" />\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"sky-action-button-icon\" />\n</ng-template>\n\n<ng-template #header>\n <ng-content select=\"sky-action-button-header\" />\n</ng-template>\n\n<ng-template #details>\n <ng-content select=\"sky-action-button-details\" />\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport { SkyThemeComponentClassDirective, SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyActionButtonAdapterService } from './action-button-adapter-service';\nimport { SkyActionButtonComponent } from './action-button.component';\nimport { SkyActionButtonContainerAlignItemsType } from './types/action-button-container-align-items-type';\n\n/**\n * Wraps action buttons to ensures that they have consistent height and spacing.\n * @required\n */\n@Component({\n selector: 'sky-action-button-container',\n styleUrls: [\n './action-button-container.default.component.scss',\n './action-button-container.modern.component.scss',\n ],\n templateUrl: './action-button-container.component.html',\n providers: [SkyActionButtonAdapterService],\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyActionButtonContainerComponent\n implements AfterViewInit, OnDestroy, OnInit\n{\n /**\n * How to display the action buttons inside the action button container.\n * Options are `\"center\"` or `\"left\"`.\n * @default \"center\"\n */\n @Input()\n public set alignItems(\n value: SkyActionButtonContainerAlignItemsType | undefined,\n ) {\n this.#_alignItems = value ?? 'center';\n }\n\n public get alignItems(): SkyActionButtonContainerAlignItemsType {\n return this.#_alignItems;\n }\n\n @ContentChildren(SkyActionButtonComponent)\n public actionButtons: QueryList<SkyActionButtonComponent> | undefined;\n\n @ViewChild('container', {\n read: ElementRef,\n static: true,\n })\n public containerRef: ElementRef | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #syncMaxHeightTimeout?: number;\n\n set #themeName(value: string) {\n this.#_themeName = value;\n this.#updateResponsiveClass();\n this.#updateHeight();\n }\n\n #_alignItems: SkyActionButtonContainerAlignItemsType = 'center';\n\n #_themeName: string | undefined;\n\n #viewInitialized = false;\n\n #actionButtonAdapterService: SkyActionButtonAdapterService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #hostElRef: ElementRef;\n #themeSvc: SkyThemeService | undefined;\n\n constructor(\n actionButtonAdapterService: SkyActionButtonAdapterService,\n changeDetector: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n hostElRef: ElementRef,\n @Optional() themeSvc?: SkyThemeService,\n ) {\n this.#actionButtonAdapterService = actionButtonAdapterService;\n this.#changeDetector = changeDetector;\n this.#coreAdapterService = coreAdapterService;\n this.#hostElRef = hostElRef;\n this.#themeSvc = themeSvc;\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n this.#themeName = themeSettings.currentSettings.theme.name;\n this.#changeDetector.markForCheck();\n });\n }\n\n // Wait for children components to complete rendering before container width is determined.\n setTimeout(() => {\n this.#updateResponsiveClass();\n });\n }\n\n public ngAfterViewInit(): void {\n // Watch for dynamic action button changes and recalculate height.\n /* istanbul ignore else */\n if (this.actionButtons) {\n this.actionButtons.changes\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#updateHeight();\n });\n }\n this.#viewInitialized = true;\n this.#updateHeight();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onContentChange(): void {\n this.#updateHeight();\n }\n\n @HostListener('window:resize')\n public onWindowResize(): void {\n this.#updateResponsiveClass();\n }\n\n #updateHeight(delay = 0): void {\n const ref = this.containerRef;\n if (ref && this.#viewInitialized) {\n this.#coreAdapterService.resetHeight(ref, '.sky-action-button');\n if (this.#_themeName === 'modern') {\n // Wait for children components to complete rendering before height is determined.\n clearTimeout(this.#syncMaxHeightTimeout);\n this.#syncMaxHeightTimeout = setTimeout(() => {\n const selector = '.sky-action-button:not([hidden])';\n const button = ref.nativeElement.querySelector(selector);\n if (button && button.offsetHeight > 0) {\n this.#coreAdapterService.syncMaxHeight(ref, selector);\n } else if (delay < 200) {\n // Wait progressively longer between retries.\n this.#updateHeight(delay + 50);\n }\n }, delay) as unknown as number;\n }\n }\n }\n\n #updateResponsiveClass(): void {\n if (this.containerRef) {\n const parentWidth = this.#actionButtonAdapterService.getParentWidth(\n this.#hostElRef,\n );\n this.#actionButtonAdapterService.setResponsiveClass(\n this.containerRef,\n parentWidth,\n );\n }\n }\n}\n","<div #container class=\"sky-action-button-container\">\n <div\n class=\"sky-action-button-flex\"\n [ngClass]=\"{\n 'sky-action-button-flex-align-left': alignItems === 'left',\n 'sky-action-button-flex-align-center': alignItems === 'center'\n }\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n <ng-content />\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a description to display on an action button.\n */\n@Component({\n selector: 'sky-action-button-details',\n templateUrl: './action-button-details.component.html',\n standalone: false,\n})\nexport class SkyActionButtonDetailsComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Specifies a header to display on an action button.\n */\n@Component({\n selector: 'sky-action-button-header',\n styleUrls: [\n './action-button-header.default.component.scss',\n './action-button-header.modern.component.scss',\n ],\n templateUrl: './action-button-header.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyActionButtonHeaderComponent {}\n","<div\n class=\"sky-action-button-header\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern',\n 'sky-font-heading-2': 'default'\n }\"\n>\n <ng-content />\n</div>\n","import { Component, Input, computed, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nconst FONTSIZECLASS_SMALL = '2x';\nconst FONTSIZECLASS_LARGE = '3x';\n\n/**\n * Specifies an icon to display on the action button.\n */\n@Component({\n selector: 'sky-action-button-icon',\n styleUrls: [\n './action-button-icon.default.component.scss',\n './action-button-icon.modern.component.scss',\n ],\n templateUrl: './action-button-icon.component.html',\n imports: [SkyIconModule, SkyThemeModule],\n})\nexport class SkyActionButtonIconComponent {\n /**\n * The icon from the\n * [Font Awesome library](https://fontawesome.com/v4.7.0/).\n * For example, to display the `fa-filter` icon on the action button,\n * set `iconType` to `filter`. SKY UX supports version 4.7.0 of Font Awesome.\n * For more information about icons in SKY UX, see the\n * [icon component](https://developer.blackbaud.com/skyux/components/icon).\n * @deprecated Use `iconName` instead.\n */\n @Input()\n public iconType: string | undefined;\n\n /**\n * The name of the Blackbaud SVG icon to display.\n */\n @Input()\n public iconName: string | undefined;\n\n protected readonly breakpoint = toSignal(\n inject(SkyMediaQueryService).breakpointChange,\n );\n\n protected fontSizeClass = computed(() => {\n return this.breakpoint() === 'xs'\n ? FONTSIZECLASS_SMALL\n : FONTSIZECLASS_LARGE;\n });\n}\n","<div aria-hidden=\"true\" class=\"sky-action-button-icon-container\">\n @if (iconName) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-action-button-icon\"\n [iconSize]=\"breakpoint() === 'xs' ? 'xl' : 'xxxl'\"\n [iconName]=\"iconName\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-action-button-icon\"\n iconSize=\"l\"\n [iconName]=\"iconName\"\n />\n } @else if (iconType) {\n <sky-icon\n class=\"sky-action-button-icon\"\n [icon]=\"iconType\"\n [size]=\"fontSizeClass()\"\n />\n }\n</div>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyActionButtonContainerComponent } from './action-button-container.component';\nimport { SkyActionButtonDetailsComponent } from './action-button-details.component';\nimport { SkyActionButtonHeaderComponent } from './action-button-header.component';\nimport { SkyActionButtonIconComponent } from './action-button-icon.component';\nimport { SkyActionButtonComponent } from './action-button.component';\n\n@NgModule({\n declarations: [\n SkyActionButtonComponent,\n SkyActionButtonContainerComponent,\n SkyActionButtonDetailsComponent,\n SkyActionButtonHeaderComponent,\n ],\n imports: [\n CommonModule,\n ObserversModule,\n RouterModule,\n SkyActionButtonIconComponent,\n SkyHrefModule,\n SkyThemeModule,\n ],\n exports: [\n SkyActionButtonComponent,\n SkyActionButtonContainerComponent,\n SkyActionButtonDetailsComponent,\n SkyActionButtonHeaderComponent,\n SkyActionButtonIconComponent,\n ],\n})\nexport class SkyActionButtonModule {}\n","/* istanbul ignore file */\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-layout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_back_to_top: { message: 'Back to top' },\n skyux_card_checkbox_label: { message: 'Select card' },\n skyux_definition_list_none_found: { message: 'None found.' },\n skyux_description_list_none_found: { message: 'None found.' },\n skyux_inline_delete_assistive_text: {\n message: 'Are you sure you want to delete this item?',\n },\n skyux_inline_delete_cancel: { message: 'Cancel' },\n skyux_inline_delete_confirm_deletion: { message: 'Confirm deletion' },\n skyux_inline_delete_delete: { message: 'Delete' },\n skyux_text_expand_close_text: { message: 'Close' },\n skyux_text_expand_modal_title: { message: 'Expanded view' },\n skyux_text_expand_see_less: { message: 'See less' },\n skyux_text_expand_see_more: { message: 'See more' },\n },\n 'FR-CA': {\n skyux_back_to_top: { message: 'Retour en haut' },\n skyux_card_checkbox_label: { message: 'Sélectionner la carte' },\n skyux_definition_list_none_found: { message: 'Aucun trouvé.' },\n skyux_description_list_none_found: { message: 'Aucun trouvé.' },\n skyux_inline_delete_assistive_text: {\n message: 'Êtes-vous certain de vouloir supprimer cet élément?',\n },\n skyux_inline_delete_cancel: { message: 'Annuler' },\n skyux_inline_delete_confirm_deletion: {\n message: 'Confirmer la suppression',\n },\n skyux_inline_delete_delete: { message: 'Supprimer' },\n skyux_text_expand_close_text: { message: 'Fermer' },\n skyux_text_expand_modal_title: { message: 'Vue agrandie' },\n skyux_text_expand_see_less: { message: 'Voir moins' },\n skyux_text_expand_see_more: { message: 'Voir plus' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyLayoutResourcesModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-back-to-top',\n templateUrl: './back-to-top.component.html',\n styleUrls: ['./back-to-top.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyBackToTopComponent {\n public get scrollToTopClick(): Observable<void> {\n return this.#_scrollToTopClick.asObservable();\n }\n\n #_scrollToTopClick = new Subject<void>();\n\n public onScrollToTopClick(): void {\n this.#_scrollToTopClick.next();\n this.#_scrollToTopClick.complete();\n }\n}\n","<div\n class=\"sky-back-to-top\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-3': 'modern'\n }\"\n>\n <button\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"onScrollToTopClick()\"\n >\n {{ 'skyux_back_to_top' | skyLibResources }}\n </button>\n</div>\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { SkyAppWindowRef, SkyScrollableHostService } from '@skyux/core';\n\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyBackToTopDomAdapterService implements OnDestroy {\n #ngUnsubscribe = new Subject<void>();\n #scrollableHostScrollEventUnsubscribe = new Subject<void>();\n #scrollableHostService: SkyScrollableHostService;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n windowRef: SkyAppWindowRef,\n scrollableHostService: SkyScrollableHostService,\n ) {\n this.#windowRef = windowRef;\n this.#scrollableHostService = scrollableHostService;\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#scrollableHostScrollEventUnsubscribe.next();\n this.#scrollableHostScrollEventUnsubscribe.complete();\n }\n\n /**\n * This event returns a boolean on scroll indicating whether the provided element is in view.\n * @param elementRef The target element reference.\n */\n public elementInViewOnScroll(elementRef: ElementRef): Observable<boolean> {\n const scrollableHostObservable =\n this.#scrollableHostService.watchScrollableHostScrollEvents(elementRef);\n\n const isInitiallyInView = this.isElementScrolledInView(elementRef);\n const returnedObservable = new BehaviorSubject<boolean>(isInitiallyInView);\n\n scrollableHostObservable\n .pipe(takeUntil(this.#scrollableHostScrollEventUnsubscribe))\n .subscribe(() => {\n const isInView = this.isElementScrolledInView(elementRef);\n returnedObservable.next(isInView);\n });\n\n return returnedObservable;\n }\n\n /**\n * Scrolls the window or scrollable parent to the provided element.\n * @param elementRef The target element reference.\n */\n public scrollToElement(elementRef: ElementRef): void {\n /* sanity check */\n /* istanbul ignore if */\n if (!elementRef || !elementRef.nativeElement) {\n return;\n }\n\n const scrollableHost =\n this.#scrollableHostService.getScrollableHost(elementRef);\n\n if (scrollableHost instanceof Window) {\n // Scroll to top of window, but account for the body margin that allows for the omnibar if it exists.\n const bodyMarginOffset = parseInt(\n getComputedStyle(document.body).marginTop,\n 10,\n );\n const newOffsetTop =\n elementRef.nativeElement.offsetTop - bodyMarginOffset;\n this.#windowRef.nativeWindow.scrollTo(\n elementRef.nativeElement.offsetLeft,\n newOffsetTop,\n );\n } else {\n // Scroll to top of parent element.\n scrollableHost.scrollTop =\n scrollableHost.offsetTop - elementRef.nativeElement.offsetTop;\n }\n }\n\n public isElementScrolledInView(element: ElementRef): boolean {\n const parentElement =\n this.#scrollableHostService.getScrollableHost(element);\n\n if (!element.nativeElement.offsetParent) {\n return true;\n }\n const buffer = 25;\n const elementRect = element.nativeElement.getBoundingClientRect();\n\n if (parentElement instanceof HTMLElement) {\n const parentRect = parentElement.getBoundingClientRect();\n return elementRect.top > parentRect.top - buffer;\n } else {\n return elementRect.top > -buffer;\n }\n }\n}\n","/**\n * The type of message to send to the back to top component.\n */\nexport enum SkyBackToTopMessageType {\n /**\n * Scrolls the element back to the top.\n */\n BackToTop = 0,\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport { SkyDockItem, SkyDockService } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyBackToTopDomAdapterService } from './back-to-top-adapter.service';\nimport { SkyBackToTopComponent } from './back-to-top.component';\nimport { SkyBackToTopMessage } from './models/back-to-top-message';\nimport { SkyBackToTopMessageType } from './models/back-to-top-message-type';\nimport { SkyBackToTopOptions } from './models/back-to-top-options';\n\n/**\n * Associates a button with an element on the page and displays that button\n * to return to the element after users scroll away.\n */\n@Directive({\n selector: '[skyBackToTop]',\n providers: [SkyBackToTopDomAdapterService],\n standalone: false,\n})\nexport class SkyBackToTopDirective implements AfterViewInit, OnDestroy {\n /**\n * Configuration options for the back to top component.\n */\n @Input()\n public set skyBackToTop(value: SkyBackToTopOptions | '' | undefined) {\n this.#buttonHidden = !!(value && value?.buttonHidden);\n\n this.#handleBackToTopButton(this.#elementInView);\n }\n\n /**\n * The observable to send commands to the back to top component.\n * The commands respect the `SkyBackToTopMessage` type.\n */\n @Input()\n public set skyBackToTopMessageStream(\n value: Subject<SkyBackToTopMessage> | undefined,\n ) {\n if (this.#_skyBackToTopMessageStream) {\n this.#_skyBackToTopMessageStream.unsubscribe();\n }\n this.#_skyBackToTopMessageStream = value;\n this.#_skyBackToTopMessageStream\n ?.pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyBackToTopMessage) =>\n this.#handleIncomingMessages(message),\n );\n }\n\n #buttonHidden = false;\n #dockItem: SkyDockItem<SkyBackToTopComponent> | undefined;\n #dockService: SkyDockService;\n #domAdapter: SkyBackToTopDomAdapterService;\n #elementInView = false;\n #elementRef: ElementRef;\n\n #ngUnsubscribe = new Subject<void>();\n #_skyBackToTopMessageStream: Subject<SkyBackToTopMessage> | undefined;\n\n constructor(\n dockService: SkyDockService,\n domAdapter: SkyBackToTopDomAdapterService,\n elementRef: ElementRef,\n ) {\n this.#dockService = dockService;\n this.#domAdapter = domAdapter;\n this.#elementRef = elementRef;\n }\n\n public ngAfterViewInit(): void {\n this.#elementInView = this.#domAdapter.isElementScrolledInView(\n this.#elementRef,\n );\n\n this.#handleBackToTopButton(this.#elementInView);\n this.#setBackToTopListeners();\n }\n\n public ngOnDestroy(): void {\n if (this.#dockItem) {\n this.#dockItem.destroy();\n }\n }\n\n #handleBackToTopButton(elementInView: boolean): void {\n // Add back to top button if user scrolls down and button is not hidden.\n if (\n !this.#dockItem &&\n elementInView !== undefined &&\n !elementInView &&\n !this.#buttonHidden\n ) {\n this.#addBackToTop();\n }\n // Remove back to top button if user scrolls back up.\n if (elementInView || this.#buttonHidden) {\n this.#destroyBackToTop();\n }\n }\n\n #addBackToTop(): void {\n this.#dockItem = this.#dockService.insertComponent(SkyBackToTopComponent);\n\n // Listen for clicks on the \"back to top\" button so we know when to scroll up.\n this.#dockItem.componentInstance.scrollToTopClick\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#domAdapter.scrollToElement(this.#elementRef);\n });\n }\n\n #handleIncomingMessages(message: SkyBackToTopMessage): void {\n /* istanbul ignore else */\n if (message.type === SkyBackToTopMessageType.BackToTop) {\n this.#domAdapter.scrollToElement(this.#elementRef);\n }\n }\n\n #setBackToTopListeners(): void {\n /* istanbul ignore else */\n if (this.#elementRef) {\n this.#domAdapter\n .elementInViewOnScroll(this.#elementRef)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((elementInView: boolean) => {\n this.#elementInView = elementInView;\n\n this.#handleBackToTopButton(elementInView);\n });\n }\n }\n\n #destroyBackToTop(): void {\n /* istanbul ignore else */\n if (this.#dockItem) {\n this.#dockItem.destroy();\n this.#dockItem = undefined;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyBackToTopComponent } from './back-to-top.component';\nimport { SkyBackToTopDirective } from './back-to-top.directive';\n\n@NgModule({\n declarations: [SkyBackToTopComponent, SkyBackToTopDirective],\n imports: [SkyLayoutResourcesModule, SkyThemeModule],\n exports: [SkyBackToTopComponent, SkyBackToTopDirective],\n})\nexport class SkyBackToTopModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies the body content to display inside the box and provides padding around that content.\n */\n@Component({\n selector: 'sky-box-content',\n templateUrl: './box-content.component.html',\n standalone: false,\n})\nexport class SkyBoxContentComponent {}\n","<div class=\"sky-box-content\">\n <ng-content />\n</div>\n","import { InjectionToken } from '@angular/core';\n\nexport const SKY_BOX_HEADER_ID = new InjectionToken<string>(\n 'SKY_BOX_HEADER_ID',\n);\n","import { Component, inject } from '@angular/core';\nimport { SkyContentInfoProvider } from '@skyux/core';\n\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\n\n/**\n * Specifies the controls to display in upper right corner of the box. These buttons typically let users edit the box content.\n */\n@Component({\n selector: 'sky-box-controls',\n templateUrl: './box-controls.component.html',\n providers: [SkyContentInfoProvider],\n standalone: false,\n})\nexport class SkyBoxControlsComponent {\n public boxHasHeader(value: boolean): void {\n if (value) {\n this.#contentInfoProvider.patchInfo({\n descriptor: { type: 'elementId', value: this.#boxHeaderId },\n });\n } else {\n this.#contentInfoProvider.patchInfo({ descriptor: undefined });\n }\n }\n\n readonly #contentInfoProvider = inject(SkyContentInfoProvider);\n readonly #boxHeaderId = inject(SKY_BOX_HEADER_ID);\n}\n","<div class=\"sky-box-controls\">\n <ng-content />\n</div>\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\n\n/**\n * Specifies a header for the box.\n * @deprecated Use `headingText` input on the `sky-box` component instead.\n */\n@Component({\n selector: 'sky-box-header',\n templateUrl: './box-header.component.html',\n styleUrls: ['./box-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyBoxHeaderComponent {\n protected readonly boxHeaderId = inject(SKY_BOX_HEADER_ID);\n\n constructor() {\n inject(SkyLogService).deprecated('SkyBoxHeaderComponent', {\n deprecationMajorVersion: 10,\n replacementRecommendation:\n 'To add a header to box, use the `headerText` input on the box component instead.',\n });\n }\n}\n","<div class=\"sky-box-header\">\n <span skyTrim [id]=\"boxHeaderId\"><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n</div>\n","import {\n Component,\n ContentChild,\n ElementRef,\n Input,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute,\n} from '@angular/core';\nimport { SkyIdService } from '@skyux/core';\n\nimport { SkyBoxControlsComponent } from './box-controls.component';\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\nimport { SkyBoxHeaderComponent } from './box-header.component';\nimport { SkyBoxHeadingLevel } from './box-heading-level';\nimport { SkyBoxHeadingStyle } from './box-heading-style';\n\nfunction numberAttribute2(value: unknown): number {\n return numberAttribute(value, 2);\n}\n\n/**\n * Provides a common look-and-feel for box content with options to display a common box header, specify body content, and display common box controls.\n */\n@Component({\n selector: 'sky-box',\n templateUrl: './box.component.html',\n styleUrls: ['./box.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: SKY_BOX_HEADER_ID,\n useFactory(): string {\n const idService = inject(SkyIdService);\n return idService.generateId();\n },\n },\n ],\n standalone: false,\n})\nexport class SkyBoxComponent {\n /**\n * The text to display as the box's heading.\n */\n @Input()\n public set headingText(value: string | undefined) {\n this.#_headingText = value;\n\n if (this.#boxControls) {\n this.#boxControls.boxHasHeader(!!value);\n }\n }\n\n public get headingText(): string | undefined {\n return this.#_headingText;\n }\n\n /**\n * Indicates whether to hide the `headingText`.\n */\n @Input({ transform: booleanAttribute })\n public headingHidden = false;\n\n /**\n * The semantic heading level in the document structure. The default is 2.\n * @default 2\n */\n @Input({ transform: numberAttribute2 })\n public headingLevel: SkyBoxHeadingLevel = 2;\n\n /**\n * The heading [font style](https://developer.blackbaud.com/skyux/design/styles/typography#headings).\n * @default 2\n */\n @Input({ transform: numberAttribute2 })\n public set headingStyle(value: SkyBoxHeadingStyle) {\n this.headingClass = `sky-font-heading-${value}`;\n }\n\n /**\n * The content of the help popover. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the box heading. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title. This property only applies when `headingText` is also specified.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * A help key that identifies the global help content to display. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is placed beside the box heading. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n * as configured by the application. This property only applies when `headingText` is also specified.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The ARIA label for the box. This sets the box's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If the box includes a visible label, use `ariaLabelledBy` instead.\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n * @deprecated Use `headingText` instead.\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * The HTML element ID of the element that labels\n * the box. This sets the box's `aria-labelledby` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If the box does not include a visible label, use `ariaLabel` instead.\n * For more information about the `aria-labelledby` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-labelledby).\n * @deprecated Use `headingText` instead.\n */\n @Input()\n public ariaLabelledBy: string | undefined;\n\n /**\n * The ARIA role for the box\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n * by indicating what the box contains. For information about\n * how an ARIA role indicates what an item represents on a web page,\n * see the [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).\n */\n @Input()\n public ariaRole: string | undefined;\n\n @ContentChild(SkyBoxHeaderComponent, { read: ElementRef })\n public set boxHeaderRef(value: ElementRef | undefined) {\n this.#boxHeaderRef = value;\n if (this.#boxControls) {\n this.#boxControls.boxHasHeader(!!value);\n }\n }\n\n @ContentChild(SkyBoxControlsComponent)\n public set boxControls(value: SkyBoxControlsComponent | undefined) {\n this.#boxControls = value;\n\n if (value) {\n value.boxHasHeader(!!this.headingText || !!this.#boxHeaderRef);\n }\n }\n\n public headerId = inject(SKY_BOX_HEADER_ID);\n\n protected headingClass = 'sky-font-heading-2';\n\n #_headingText: string | undefined;\n\n #boxControls: SkyBoxControlsComponent | undefined;\n #boxHeaderRef: ElementRef | undefined;\n}\n","<section\n class=\"sky-box\"\n [attr.aria-label]=\"headingText || ariaLabel\"\n [attr.aria-labelledby]=\"headingText ? headerId : ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n [skyThemeClass]=\"{\n 'sky-shadow sky-border-dark': 'default',\n 'sky-elevation-1-bordered': 'modern'\n }\"\n>\n <div class=\"sky-box-header-content\">\n @if (headingText) {\n <div class=\"sky-box-header-right\">\n @switch (headingLevel) {\n @case (3) {\n <!-- display: inline -->\n <h3\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h3\n >\n }\n @case (4) {\n <!-- display: inline -->\n <h4\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h4\n >\n }\n @case (5) {\n <!-- display: inline -->\n <h5\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h5\n >\n }\n @default {\n <!-- display: inline -->\n <h2\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h2\n >\n }\n }\n @if ((helpPopoverContent || helpKey) && !headingHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"headingText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n </div>\n } @else {\n <ng-content select=\"sky-box-header\" />\n }\n <ng-content select=\"sky-box-controls\" />\n </div>\n <ng-content />\n</section>\n","import { NgModule } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyBoxContentComponent } from './box-content.component';\nimport { SkyBoxControlsComponent } from './box-controls.component';\nimport { SkyBoxHeaderComponent } from './box-header.component';\nimport { SkyBoxComponent } from './box.component';\n\n@NgModule({\n declarations: [\n SkyBoxComponent,\n SkyBoxHeaderComponent,\n SkyBoxContentComponent,\n SkyBoxControlsComponent,\n ],\n imports: [SkyHelpInlineModule, SkyThemeModule, SkyTrimModule],\n exports: [\n SkyBoxComponent,\n SkyBoxHeaderComponent,\n SkyBoxContentComponent,\n SkyBoxControlsComponent,\n ],\n})\nexport class SkyBoxModule {}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineDeleteAdapterService {\n #element: HTMLElement | undefined;\n #focusableElements: HTMLElement[] | undefined;\n #parentEl: HTMLElement | null | undefined;\n #parentElClearListenerFn: (() => void) | undefined;\n #renderer: Renderer2;\n\n #coreAdapterService: SkyCoreAdapterService;\n\n constructor(\n coreAdapterService: SkyCoreAdapterService,\n rendererFactory: RendererFactory2,\n ) {\n this.#coreAdapterService = coreAdapterService;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public clearListeners(): void {\n /* istanbul ignore else */\n if (this.#parentElClearListenerFn) {\n this.#parentElClearListenerFn();\n }\n }\n\n public setEl(element: HTMLElement): void {\n this.#element = element;\n this.#parentEl = element.parentElement;\n\n /* istanbul ignore else */\n if (this.#parentEl) {\n this.#parentElClearListenerFn = this.#renderer.listen(\n this.#parentEl,\n 'focusin',\n (event: FocusEvent) => {\n if (this.#element) {\n const target: any = event.target;\n if (!this.#element.contains(target) && this.#parentEl !== target) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n\n target.blur();\n this.#focusNextElement(target, this.#isShift(event));\n }\n }\n },\n );\n }\n }\n\n #focusNextElement(targetElement: HTMLElement, shiftKey: boolean): void {\n const focusable = this.#getFocusableElements();\n\n // If shift tab, go in the other direction\n const modifier = shiftKey ? -1 : 1;\n\n // Find the next navigable element that isn't waiting\n const startingIndex = focusable.indexOf(targetElement);\n let curIndex = startingIndex + modifier;\n while (\n focusable[curIndex] &&\n this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n curIndex += modifier;\n }\n\n if (\n focusable[curIndex] &&\n !this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // Try wrapping the navigation\n /* istanbul ignore next */\n curIndex = modifier > 0 ? 0 : focusable.length - 1;\n\n /* istanbul ignore next */\n while (\n curIndex !== startingIndex &&\n focusable[curIndex] &&\n this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n curIndex += modifier;\n }\n\n /* istanbul ignore else */\n /* sanity check */\n if (\n focusable[curIndex] &&\n !this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // No valid target, wipe focus\n // This should never happen in practice due to the multiple inline delete buttons\n if (document.activeElement && (document.activeElement as any).blur) {\n (document.activeElement as any).blur();\n }\n document.body.focus();\n }\n }\n\n // clear focusableElements list so that if things change between tabbing we know about it\n this.#focusableElements = undefined;\n }\n\n #getFocusableElements(): HTMLElement[] {\n // Keep this cached so we can reduce queries\n if (this.#focusableElements) {\n return this.#focusableElements;\n }\n\n this.#focusableElements = this.#coreAdapterService.getFocusableChildren(\n document.body,\n );\n\n return this.#focusableElements;\n }\n\n #isElementHiddenOrCovered(element: any): boolean {\n // Check if the element is hidden by css, not within the inline delete, or a wait is covering it\n return (\n this.#isElementHidden(element) ||\n (!!this.#parentEl &&\n this.#parentEl.contains(element) &&\n (!this.#element?.contains(element) ||\n this.#parentEl.querySelector('.sky-wait-mask') !== null))\n );\n }\n\n #isElementHidden(element: any): boolean {\n const style = window.getComputedStyle(element);\n return style.display === 'none' || style.visibility === 'hidden';\n }\n\n #isShift(event: Event): boolean {\n // Determine if shift+tab was used based on element order\n const elements = this.#getFocusableElements().filter(\n (elem) => !this.#isElementHidden(elem),\n );\n\n const previousInd = elements.indexOf((event as any).relatedTarget);\n const currentInd = elements.indexOf(event.target as HTMLElement);\n\n /* istanbul ignore next */\n return (\n previousInd === currentInd + 1 ||\n (previousInd === 0 && currentInd === elements.length - 1) ||\n previousInd > currentInd ||\n !(event as any).relatedTarget\n );\n }\n}\n","/**\n * The type of inline delete that is shown.\n * @internal\n */\nexport enum SkyInlineDeleteType {\n /**\n * The standard styling for inline deletes.\n */\n Standard = 'standard',\n /**\n * The styling for inline delete components which are used in card components.\n */\n Card = 'card',\n}\n","import {\n AnimationEvent,\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\n\nimport { SkyInlineDeleteAdapterService } from './inline-delete-adapter.service';\nimport { SkyInlineDeleteType } from './inline-delete-type';\n\n/**\n * Auto-incrementing integer used to generate unique ids for inline delete components.\n */\nlet nextId = 0;\n\n@Component({\n selector: 'sky-inline-delete',\n styleUrls: ['./inline-delete.component.scss'],\n templateUrl: './inline-delete.component.html',\n animations: [\n trigger('inlineDeleteAnimation', [\n transition('* => shown', [\n style({\n opacity: 0,\n }),\n query(\n '.sky-inline-delete-content-animation-container',\n style({ transform: 'scale(0.0)' }),\n ),\n group([\n animate('300ms ease-in-out', style({ opacity: 1 })),\n query(\n '.sky-inline-delete-content-animation-container',\n animate(\n '300ms ease-in-out',\n style({\n transform: 'scale(1)',\n }),\n ),\n ),\n ]),\n ]),\n transition(`shown <=> *`, [\n query(\n '.sky-inline-delete-content-animation-container',\n style({ transform: 'scale(1)' }),\n ),\n group([\n animate(\n '300ms ease-in-out',\n style({\n opacity: 0,\n }),\n ),\n query(\n '.sky-inline-delete-content-animation-container',\n animate(\n '300ms ease-in-out',\n style({\n transform: 'scale(0.0)',\n }),\n ),\n ),\n ]),\n ]),\n ]),\n ],\n providers: [SkyCoreAdapterService, SkyInlineDeleteAdapterService],\n standalone: false,\n})\nexport class SkyInlineDeleteComponent implements OnDestroy, OnInit {\n /**\n * Whether the deletion is pending.\n * @default false\n */\n @Input()\n public pending: boolean | undefined = false;\n\n /**\n * Fires when users click the cancel button.\n */\n @Output()\n public cancelTriggered = new EventEmitter<void>();\n\n /**\n * Fires when users click the delete button.\n */\n @Output()\n public deleteTriggered = new EventEmitter<void>();\n\n public animationState = 'shown';\n\n public assistiveTextId = `sky-inline-delete-assistive-text-${++nextId}`;\n\n public type: SkyInlineDeleteType = SkyInlineDeleteType.Standard;\n\n @ViewChild('delete', {\n read: ElementRef,\n static: false,\n })\n public deleteButton: ElementRef | undefined;\n\n #adapterService: SkyInlineDeleteAdapterService;\n #changeDetector: ChangeDetectorRef;\n #elRef: ElementRef;\n\n constructor(\n adapterService: SkyInlineDeleteAdapterService,\n changeDetector: ChangeDetectorRef,\n elRef: ElementRef,\n ) {\n this.#adapterService = adapterService;\n this.#changeDetector = changeDetector;\n this.#elRef = elRef;\n }\n\n /**\n * Initialization lifecycle hook\n * @internal\n */\n public ngOnInit(): void {\n this.animationState = 'shown';\n }\n\n /**\n * Destruction lifecycle hook\n * @internal\n */\n public ngOnDestroy(): void {\n this.#adapterService.clearListeners();\n this.cancelTriggered.complete();\n this.deleteTriggered.complete();\n }\n\n /**\n * @internal\n */\n public onCancelClick(): void {\n this.animationState = 'hidden';\n }\n\n /**\n * @internal\n */\n public onDeleteClick(): void {\n this.deleteTriggered.emit();\n }\n\n /**\n * Sets the inline delete to one of its predefined types.\n * @param type The inline delete type\n * @internal\n */\n public setType(type: SkyInlineDeleteType): void {\n this.type = type;\n this.#changeDetector.detectChanges();\n }\n\n /**\n * Handles actions that should be taken after the inline delete animates\n * @param event The animation event\n * @internal\n */\n public onAnimationDone(event: AnimationEvent): void {\n if (event.toState === 'hidden') {\n this.cancelTriggered.emit();\n } else {\n this.deleteButton?.nativeElement.focus();\n /* istanbul ignore else */\n if (this.#elRef) {\n this.#adapterService.setEl(this.#elRef.nativeElement);\n }\n }\n }\n}\n","<div\n class=\"sky-inline-delete sky-inline-delete-{{ type }}\"\n role=\"alertdialog\"\n [@inlineDeleteAnimation]=\"animationState\"\n [attr.aria-describedby]=\"assistiveTextId\"\n [attr.aria-label]=\"'skyux_inline_delete_confirm_deletion' | skyLibResources\"\n (@inlineDeleteAnimation.done)=\"onAnimationDone($event)\"\n>\n <span\n class=\"sky-inline-delete-assistive-text sky-screen-reader-only\"\n [id]=\"assistiveTextId\"\n >\n {{ 'skyux_inline_delete_assistive_text' | skyLibResources }}\n </span>\n <sky-wait class=\"sky-inline-delete-wait\" [isWaiting]=\"pending\" />\n <div class=\"sky-inline-delete-content\">\n <div class=\"sky-inline-delete-content-animation-container\">\n <button\n #delete\n class=\"sky-btn sky-btn-danger sky-inline-delete-button\"\n type=\"button\"\n (click)=\"onDeleteClick()\"\n >\n {{ 'skyux_inline_delete_delete' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_inline_delete_cancel' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SkyWaitModule } from '@skyux/indicators';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyInlineDeleteComponent } from './inline-delete.component';\n\n@NgModule({\n declarations: [SkyInlineDeleteComponent],\n imports: [SkyLayoutResourcesModule, SkyWaitModule],\n exports: [SkyInlineDeleteComponent],\n})\nexport class SkyInlineDeleteModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies an action that users can perform on the card.\n * @deprecated\n */\n@Component({\n selector: 'sky-card-actions',\n templateUrl: './card-actions.component.html',\n styleUrls: ['./card-actions.component.scss'],\n standalone: false,\n})\nexport class SkyCardActionsComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Specifies the content to display in the body of the card.\n * @deprecated\n */\n@Component({\n selector: 'sky-card-content',\n templateUrl: './card-content.component.html',\n standalone: false,\n})\nexport class SkyCardContentComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a title to identify what the card represents.\n * @deprecated\n */\n@Component({\n selector: 'sky-card-title',\n templateUrl: './card-title.component.html',\n standalone: false,\n})\nexport class SkyCardTitleComponent {}\n","<ng-content />\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyInlineDeleteType } from '../inline-delete/inline-delete-type';\nimport { SkyInlineDeleteComponent } from '../inline-delete/inline-delete.component';\n\nimport { SkyCardTitleComponent } from './card-title.component';\n\n/**\n * Creates a a small container to highlight important information.\n * @deprecated `SkyCardComponent` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.\n */\n@Component({\n selector: 'sky-card',\n styleUrls: ['./card.component.scss'],\n templateUrl: './card.component.html',\n standalone: false,\n})\nexport class SkyCardComponent implements AfterContentInit, OnDestroy {\n /**\n * The size of the card. The valid options are `\"large\"` and `\"small\"`.\n * @default \"large\"\n */\n @Input()\n public set size(value: string | undefined) {\n this.#_size = value ?? 'large';\n }\n\n public get size(): string {\n return this.#_size;\n }\n\n /**\n * Whether to display a checkbox to the right of the card title.\n * Users can select multiple checkboxes and perform actions on the selected cards.\n * @default false\n */\n @Input()\n public selectable: boolean | undefined = false;\n\n /**\n * Whether the card is selected. This only applies to card where\n * `selectable` is set to `true`.\n * @default false\n */\n @Input()\n public selected: boolean | undefined = false;\n\n /**\n * Fires when users select or deselect the card.\n */\n @Output()\n public selectedChange = new EventEmitter<boolean>();\n\n @ContentChildren(SkyInlineDeleteComponent)\n public inlineDeleteComponent: QueryList<SkyInlineDeleteComponent> | undefined;\n\n @ContentChildren(SkyCardTitleComponent)\n public titleComponent: QueryList<SkyCardTitleComponent> | undefined;\n\n public showTitle = true;\n\n #subscription: Subscription | undefined;\n #_size = 'large';\n\n constructor(logger: SkyLogService) {\n logger.deprecated('SkyCardComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/design/guidelines/content-containers',\n replacementRecommendation:\n 'For other SKY UX components that group and list content, see the content containers guidelines.',\n });\n }\n\n public ngAfterContentInit() {\n this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;\n\n this.#subscription = this.titleComponent?.changes.subscribe(() => {\n this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;\n });\n\n this.inlineDeleteComponent?.forEach((item) => {\n item.setType(SkyInlineDeleteType.Card);\n });\n\n this.inlineDeleteComponent?.changes.subscribe(() => {\n this.inlineDeleteComponent?.forEach((item) => {\n item.setType(SkyInlineDeleteType.Card);\n });\n });\n }\n\n public contentClick() {\n if (this.selectable) {\n this.selected = !this.selected;\n this.selectedChange.emit(this.selected);\n }\n }\n\n public onCheckboxChange(newValue: boolean) {\n if (this.selectable && this.selected !== newValue) {\n this.selected = newValue;\n this.selectedChange.emit(this.selected);\n }\n }\n\n public ngOnDestroy() {\n /* istanbul ignore else */\n /* sanity check */\n if (this.#subscription) {\n this.#subscription.unsubscribe();\n }\n }\n}\n","<section\n class=\"sky-card sky-shadow\"\n [ngClass]=\"\n {\n 'sky-card-small': size === 'small',\n 'sky-card-selectable': selectable,\n 'sky-card-selected': selectable &amp;&amp; selected\n }\"\n>\n <ng-content select=\"sky-inline-delete\" />\n <header>\n @if (selectable || showTitle) {\n <div class=\"sky-card-header\" (click)=\"contentClick()\">\n <div class=\"sky-card-heading-middle\">\n @if (showTitle) {\n <h1 class=\"sky-card-title sky-section-heading\">\n <ng-content select=\"sky-card-title\" />\n </h1>\n }\n </div>\n @if (selectable) {\n <div class=\"sky-card-check\">\n <sky-checkbox\n [label]=\"'skyux_card_checkbox_label' | skyLibResources\"\n [ngModel]=\"selected\"\n (click)=\"$event.stopPropagation()\"\n (ngModelChange)=\"onCheckboxChange($event)\"\n />\n </div>\n }\n </div>\n }\n </header>\n <div\n class=\"sky-card-content sky-padding-even-default\"\n (click)=\"contentClick()\"\n >\n <ng-content select=\"sky-card-content\" />\n </div>\n <div\n #actionsEl\n class=\"sky-card-actions\"\n [hidden]=\"actionsEl.children.length === 0\"\n >\n <ng-content select=\"sky-card-actions\" />\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyInlineDeleteModule } from '../inline-delete/inline-delete.module';\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyCardActionsComponent } from './card-actions.component';\nimport { SkyCardContentComponent } from './card-content.component';\nimport { SkyCardTitleComponent } from './card-title.component';\nimport { SkyCardComponent } from './card.component';\n\n/**\n * @deprecated `SkyCardModule` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.\n */\n@NgModule({\n declarations: [\n SkyCardActionsComponent,\n SkyCardComponent,\n SkyCardContentComponent,\n SkyCardTitleComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SkyCheckboxModule,\n SkyLayoutResourcesModule,\n SkyInlineDeleteModule,\n ],\n exports: [\n SkyCardActionsComponent,\n SkyCardComponent,\n SkyCardContentComponent,\n SkyCardTitleComponent,\n ],\n})\nexport class SkyCardModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Wraps the label-value pairs in the definition list.\n * @deprecated Use `SkyDescriptionListContentComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list-content',\n templateUrl: './definition-list-content.component.html',\n styleUrls: ['./definition-list-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListContentComponent {}\n","<div class=\"sky-definition-list-content\">\n <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a title for the definition list.\n * @deprecated\n */\n@Component({\n selector: 'sky-definition-list-heading',\n templateUrl: './definition-list-heading.component.html',\n styleUrls: ['./definition-list-heading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListHeadingComponent {}\n","<div class=\"sky-subsection-heading sky-definition-list-heading\">\n <ng-content />\n</div>\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDefinitionListService {\n public labelWidth = new BehaviorSubject<string | undefined>('');\n\n public defaultValue = new BehaviorSubject<string | undefined>('');\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Specifies the label in a label-value pair.\n * @deprecated Use `SkyDescriptionListTermComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list-label',\n templateUrl: './definition-list-label.component.html',\n styleUrls: ['./definition-list-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListLabelComponent {\n public labelWidth: number | undefined;\n\n constructor(public service: SkyDefinitionListService) {}\n}\n","<div\n class=\"sky-field-label sky-definition-list-label\"\n [ngStyle]=\"{\n width: (service.labelWidth | async) || ''\n }\"\n>\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Specifies the value in a label-value pair.\n * @deprecated Use `SkyDescriptionListDescriptionComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list-value',\n templateUrl: './definition-list-value.component.html',\n styleUrls: ['./definition-list-value.component.scss'],\n standalone: false,\n})\nexport class SkyDefinitionListValueComponent {\n public defaultValue: string | undefined;\n\n constructor(public service: SkyDefinitionListService) {}\n}\n","<div class=\"sky-definition-list-value\">\n <span #valueEl>\n <ng-content />\n </span>\n @if (!valueEl.textContent?.trim()) {\n <span class=\"sky-deemphasized\">\n {{\n (service.defaultValue | async) ||\n ('skyux_definition_list_none_found' | skyLibResources)\n }}\n </span>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Creates a definition list to display label-value pairs.\n * @deprecated Use `SkyDescriptionListComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list',\n templateUrl: './definition-list.component.html',\n styleUrls: ['./definition-list.component.scss'],\n providers: [SkyDefinitionListService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListComponent {\n /**\n * The width of the label portion of the definition list.\n * @default \"90px\"\n */\n @Input()\n public set labelWidth(value: string | undefined) {\n this.service.labelWidth.next(value);\n }\n\n /**\n * The default value to display when no value is provided\n * for a label-value pair.\n * @default \"None found\"\n */\n @Input()\n public set defaultValue(value: string | undefined) {\n this.service.defaultValue.next(value);\n }\n\n constructor(\n public service: SkyDefinitionListService,\n logger: SkyLogService,\n ) {\n logger.deprecated('SkyDefinitionListComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/description-list',\n replacementRecommendation: 'Use `SkyDescriptionListComponent` instead.',\n });\n }\n}\n","<div class=\"sky-definition-list\">\n <ng-content select=\"sky-definition-list-heading\" />\n <ng-content select=\"sky-definition-list-content\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyDefinitionListContentComponent } from './definition-list-content.component';\nimport { SkyDefinitionListHeadingComponent } from './definition-list-heading.component';\nimport { SkyDefinitionListLabelComponent } from './definition-list-label.component';\nimport { SkyDefinitionListValueComponent } from './definition-list-value.component';\nimport { SkyDefinitionListComponent } from './definition-list.component';\n\n/**\n * @deprecated Use `SkyDescriptionListModule` instead.\n */\n@NgModule({\n declarations: [\n SkyDefinitionListComponent,\n SkyDefinitionListContentComponent,\n SkyDefinitionListHeadingComponent,\n SkyDefinitionListLabelComponent,\n SkyDefinitionListValueComponent,\n ],\n imports: [CommonModule, SkyLayoutResourcesModule],\n exports: [\n SkyDefinitionListComponent,\n SkyDefinitionListContentComponent,\n SkyDefinitionListHeadingComponent,\n SkyDefinitionListLabelComponent,\n SkyDefinitionListValueComponent,\n ],\n})\nexport class SkyDefinitionListModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDescriptionListService implements OnDestroy {\n public get defaultDescription(): Observable<string> {\n return this.#_defaultDescription.asObservable();\n }\n\n #_defaultDescription = new BehaviorSubject<string>('');\n\n public ngOnDestroy(): void {\n this.#_defaultDescription.complete();\n }\n\n public updateDefaultDescription(value: string): void {\n this.#_defaultDescription.next(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDescriptionListService } from './description-list.service';\n\n/**\n * Specifies the description in a term-description pair.\n */\n@Component({\n selector: 'sky-description-list-description',\n templateUrl: './description-list-description.component.html',\n styleUrls: ['./description-list-description.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDescriptionListDescriptionComponent\n implements OnDestroy, OnInit\n{\n public defaultDescription: string | undefined;\n\n public themeName: string | undefined;\n\n @ViewChild('descriptionTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public templateRef!: TemplateRef<unknown> | undefined;\n\n #changeDetector: ChangeDetectorRef;\n #ngUnsubscribe = new Subject<void>();\n #themeSvc: SkyThemeService | undefined;\n\n constructor(\n public service: SkyDescriptionListService,\n changeDetector: ChangeDetectorRef,\n @Optional() themeSvc?: SkyThemeService,\n ) {\n this.#changeDetector = changeDetector;\n this.#themeSvc = themeSvc;\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n this.themeName = themeSettings.currentSettings.theme.name;\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<ng-template #descriptionTemplateRef>\n <span skyTrim class=\"sky-description-list-description\"\n ><ng-content></ng-content\n ></span>\n <span\n class=\"sky-description-list-default-value\"\n data-sky-id=\"sky-description-list-default-value\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{\n (service.defaultDescription | async) ||\n ('skyux_description_list_none_found' | skyLibResources)\n }}\n </span>\n</ng-template>\n","import { Component, TemplateRef, ViewChild, inject } from '@angular/core';\n\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\n\n/**\n * Specifies the term in a term-description pair. To display a help button beside\n * the term, include a help button element in the sky-description-list-term element\n * and a sky-control-help CSS class on that element.\n */\n@Component({\n selector: 'sky-description-list-term',\n templateUrl: './description-list-term.component.html',\n styleUrl: './description-list-term.component.scss',\n standalone: false,\n})\nexport class SkyDescriptionListTermComponent {\n @ViewChild('termTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public templateRef: TemplateRef<unknown> | undefined;\n\n protected readonly content = inject(SkyDescriptionListContentComponent, {\n optional: true,\n });\n}\n","<ng-template #termTemplateRef\n ><span #term=\"skyId\" skyTrim skyId class=\"description-list-term\"\n ><ng-content /></span\n ><span class=\"sky-control-help-container\">\n @if (content?.helpPopoverContent || content?.helpKey) {\n <sky-help-inline\n [labelledBy]=\"term.id\"\n [helpKey]=\"content?.helpKey\"\n [popoverTitle]=\"content?.helpPopoverTitle\"\n [popoverContent]=\"content?.helpPopoverContent\"\n />\n } @else {\n <ng-content select=\".sky-control-help\" />\n }</span\n></ng-template>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\n\nimport { SkyDescriptionListDescriptionComponent } from './description-list-description.component';\nimport { SkyDescriptionListTermComponent } from './description-list-term.component';\n\n/**\n * Wraps the term-description pairs in the description list.\n */\n@Component({\n selector: 'sky-description-list-content',\n templateUrl: './description-list-content.component.html',\n standalone: false,\n})\nexport class SkyDescriptionListContentComponent {\n @ContentChildren(SkyDescriptionListTermComponent)\n public termComponents: QueryList<SkyDescriptionListTermComponent> | undefined;\n\n @ContentChildren(SkyDescriptionListDescriptionComponent)\n public descriptionComponents:\n | QueryList<SkyDescriptionListDescriptionComponent>\n | undefined;\n\n /**\n * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n * placed beside the description list content label. Clicking the button invokes global help as configured by the application.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the description list content. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n}\n","<ng-content />\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDescriptionListAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getWidth(elementRef: ElementRef): number {\n return elementRef.nativeElement.clientWidth;\n }\n\n public setResponsiveClass(element: ElementRef): void {\n const nativeEl: any = element.nativeElement;\n const width = this.getWidth(element);\n const className = this.#getResponsiveClassName(width);\n\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-xs');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-sm');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-md');\n\n this.#renderer.addClass(nativeEl, className);\n }\n\n #getResponsiveClassName(width: number): string {\n const xsBreakpointMaxPixels = 479;\n const smBreakpointMinPixels = 480;\n const smBreakpointMaxPixels = 767;\n\n if (width <= xsBreakpointMaxPixels) {\n return 'sky-responsive-container-xs';\n } else if (\n width >= smBreakpointMinPixels &&\n width <= smBreakpointMaxPixels\n ) {\n return 'sky-responsive-container-sm';\n } else {\n return 'sky-responsive-container-md';\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n QueryList,\n ViewChild,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDescriptionListAdapterService } from './description-list-adapter-service';\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\nimport { SkyDescriptionListService } from './description-list.service';\nimport { SkyDescriptionListModeType } from './types/description-list-mode-type';\n\n/**\n * Creates a description list to display term-description pairs.\n */\n@Component({\n selector: 'sky-description-list',\n templateUrl: './description-list.component.html',\n styleUrls: ['./description-list.component.scss'],\n providers: [SkyDescriptionListAdapterService, SkyDescriptionListService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDescriptionListComponent\n implements AfterContentInit, OnDestroy\n{\n /**\n * The default description to display when no description is provided\n * for a term-description pair.\n * @default \"None found\"\n */\n @Input()\n public set defaultDescription(value: string) {\n this.#descriptionListService.updateDefaultDescription(value);\n }\n\n /**\n * The width of term-description pairs when `mode` is set to `\"horizontal\"`. By default,\n * the width is responsive based on the width of the container element.\n */\n @Input()\n public listItemWidth: string | undefined;\n\n /**\n * How to display term-description pairs within the description list.\n * @default \"vertical\"\n */\n @Input()\n public set mode(value: SkyDescriptionListModeType | undefined) {\n this.#_mode = value || 'vertical';\n }\n\n public get mode(): SkyDescriptionListModeType {\n return this.#_mode;\n }\n\n @ContentChildren(SkyDescriptionListContentComponent)\n public contentComponents:\n | QueryList<SkyDescriptionListContentComponent>\n | undefined;\n\n @ViewChild('descriptionListElement', {\n read: ElementRef,\n static: true,\n })\n public elementRef: ElementRef | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #_mode: SkyDescriptionListModeType = 'vertical';\n\n #adapterService: SkyDescriptionListAdapterService;\n #changeDetector: ChangeDetectorRef;\n #descriptionListService: SkyDescriptionListService;\n\n constructor(\n adapterService: SkyDescriptionListAdapterService,\n changeDetector: ChangeDetectorRef,\n descriptionListService: SkyDescriptionListService,\n ) {\n this.#adapterService = adapterService;\n this.#changeDetector = changeDetector;\n this.#descriptionListService = descriptionListService;\n }\n\n public ngAfterContentInit(): void {\n // Wait for all content to render before detecting parent width.\n setTimeout(() => {\n this.#updateResponsiveClass();\n });\n\n // istanbul ignore else\n if (this.contentComponents) {\n this.contentComponents.changes\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n @HostListener('window:resize')\n public onWindowResize(): void {\n this.#updateResponsiveClass();\n }\n\n #updateResponsiveClass(): void {\n if (this.elementRef) {\n this.#adapterService.setResponsiveClass(this.elementRef);\n this.#changeDetector.markForCheck();\n }\n }\n}\n","<dl\n #descriptionListElement\n class=\"sky-description-list\"\n [ngClass]=\"{\n 'sky-description-list-long-description-mode': mode === 'longDescription',\n 'sky-description-list-vertical-mode': mode === 'vertical',\n 'sky-description-list-horizontal-mode': mode === 'horizontal'\n }\"\n>\n <!--\n Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n to avoid adding non-semantic HTML tags to DOM\n -->\n @for (contentComponent of contentComponents; track contentComponent) {\n <div\n class=\"sky-description-list-content\"\n [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n >\n @for (\n termComponent of contentComponent?.termComponents;\n track termComponent\n ) {\n <dt>\n @if (termComponent.templateRef) {\n <ng-container *ngTemplateOutlet=\"termComponent.templateRef\" />\n }\n </dt>\n }\n @for (\n descriptionComponent of contentComponent?.descriptionComponents;\n track descriptionComponent\n ) {\n <dd>\n @if (descriptionComponent.templateRef) {\n <ng-container\n *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n />\n }\n </dd>\n }\n </div>\n }\n</dl>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\nimport { SkyDescriptionListDescriptionComponent } from './description-list-description.component';\nimport { SkyDescriptionListTermComponent } from './description-list-term.component';\nimport { SkyDescriptionListComponent } from './description-list.component';\n\n@NgModule({\n declarations: [\n SkyDescriptionListComponent,\n SkyDescriptionListContentComponent,\n SkyDescriptionListTermComponent,\n SkyDescriptionListDescriptionComponent,\n ],\n imports: [\n CommonModule,\n SkyHelpInlineModule,\n SkyIdModule,\n SkyLayoutResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [\n SkyDescriptionListComponent,\n SkyDescriptionListContentComponent,\n SkyDescriptionListTermComponent,\n SkyDescriptionListDescriptionComponent,\n ],\n})\nexport class SkyDescriptionListModule {}\n","/**\n * @deprecated Use `SkyDescriptionListModeType` instead.\n * @internal\n * How to display the term-description pairs within a description list.\n */\nexport enum SkyDescriptionListMode {\n /**\n * Displays term-description pairs side by side in a horizontal list.\n * This mode provides a responsive layout.\n */\n horizontal = 'horizontal',\n\n /**\n * Displays terms and descriptions side by side with the term on the left and the description\n * on the right. This mode includes room for long descriptions and uses a responsive layout\n * that stacks term-description pairs vertically.\n */\n longDescription = 'longDescription',\n\n /**\n * Displays term-description pairs in a vertical list.\n */\n vertical = 'vertical',\n}\n","import {\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Displays a column within a row of the fluid grid.\n */\n@Component({\n selector: 'sky-column',\n templateUrl: './column.component.html',\n styleUrls: ['./column.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyColumnComponent implements OnInit, OnChanges {\n /**\n * The number of columns (1-12) on extra-small screens\n * (less than 768px). If you do not specify a value, the fluid grid displays\n * the column at the full width of the screen.\n * @default 12\n */\n @Input()\n public set screenXSmall(value: number | undefined) {\n this.#_screenXSmall = value ?? 12;\n }\n\n public get screenXSmall(): number {\n return this.#_screenXSmall;\n }\n\n /**\n * The number of columns (1-12) on small screens\n * (768-991px). If you do not specify a value, the column inherits\n * the `screenXSmall` value.\n */\n @Input()\n public screenSmall: number | undefined;\n\n /**\n * The number of columns (1-12) on medium screens\n * (992-1199px). If you do not specify a value, the column inherits\n * the `screenSmall` value.\n */\n @Input()\n public screenMedium: number | undefined;\n\n /**\n * The number of columns (1-12) on large screens\n * (more than 1200px). If you do not specify a value, the column\n * inherits the `screenMedium` value.\n */\n @Input()\n public screenLarge: number | undefined;\n\n @HostBinding('class')\n public classnames: string | undefined;\n\n #_screenXSmall = 12;\n\n public ngOnChanges(changes: SimpleChanges) {\n /* istanbul ignore else */\n if (\n changes['screenXSmall'] ||\n changes['screenSmall'] ||\n changes['screenMedium'] ||\n changes['screenLarge']\n ) {\n this.classnames = this.getClassNames();\n }\n }\n\n public getClassNames(): string {\n const classnames = ['sky-column'];\n\n if (this.screenXSmall) {\n classnames.push(`sky-column-xs-${this.screenXSmall}`);\n }\n\n if (this.screenSmall) {\n classnames.push(`sky-column-sm-${this.screenSmall}`);\n }\n\n if (this.screenMedium) {\n classnames.push(`sky-column-md-${this.screenMedium}`);\n }\n\n if (this.screenLarge) {\n classnames.push(`sky-column-lg-${this.screenLarge}`);\n }\n\n return classnames.join(' ');\n }\n\n public ngOnInit(): void {\n this.classnames = this.getClassNames();\n }\n}\n","<ng-content />\n","import { Component, Input } from '@angular/core';\n\nimport { SkyFluidGridGutterSizeType } from './types/fluid-grid-gutter-size-type';\n\n/**\n * Wraps the fluid grid to ensure proper spacing. Without the wrapper, the\n * alignment, padding, and margins do not behave as expected.\n */\n@Component({\n selector: 'sky-fluid-grid',\n templateUrl: './fluid-grid.component.html',\n styleUrls: ['./fluid-grid.component.scss'],\n standalone: false,\n})\nexport class SkyFluidGridComponent {\n /**\n * Disables the outer left and right margin of the fluid grid container.\n * @default false\n */\n @Input()\n public disableMargin: boolean | undefined = false;\n\n /**\n * The type that defines the size of the padding\n * between columns.\n * @default \"large\"\n */\n @Input()\n public set gutterSize(value: SkyFluidGridGutterSizeType | undefined) {\n this.#_gutterSize = value ?? 'large';\n }\n\n public get gutterSize(): SkyFluidGridGutterSizeType {\n return this.#_gutterSize;\n }\n\n #_gutterSize: SkyFluidGridGutterSizeType = 'large';\n}\n","<div\n class=\"sky-fluid-grid\"\n [ngClass]=\"{\n 'sky-fluid-grid-gutter-size-small': gutterSize === 'small',\n 'sky-fluid-grid-gutter-size-medium': gutterSize === 'medium',\n 'sky-fluid-grid-gutter-size-large': gutterSize === 'large',\n 'sky-fluid-grid-no-margin': disableMargin\n }\"\n>\n <ng-content />\n</div>\n","import { Component, Input } from '@angular/core';\n\n/**\n * Displays a row within the `sky-fluid-grid` wrapper. Previously, you could display a row\n * without a wrapper, but we no longer officially support that option.\n */\n@Component({\n selector: 'sky-row',\n templateUrl: './row.component.html',\n styleUrls: ['./row.component.scss'],\n standalone: false,\n})\nexport class SkyRowComponent {\n /**\n * Whether to reverse the display order for columns in the row.\n * @default false\n */\n @Input()\n public reverseColumnOrder: boolean | undefined = false;\n}\n","<div class=\"sky-row\" [ngClass]=\"{ 'sky-row-reverse': reverseColumnOrder }\">\n <ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyColumnComponent } from './column.component';\nimport { SkyFluidGridComponent } from './fluid-grid.component';\nimport { SkyRowComponent } from './row.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SkyRowComponent, SkyColumnComponent, SkyFluidGridComponent],\n exports: [SkyRowComponent, SkyColumnComponent, SkyFluidGridComponent],\n})\nexport class SkyFluidGridModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\n\nimport { SkyFormatItem } from './format-item';\n\nconst tokenRegex = /(\\{\\d+\\})/;\n\n@Component({\n selector: 'sky-format',\n templateUrl: './format.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFormatComponent {\n public itemsForDisplay: SkyFormatItem[] = [];\n\n /**\n * The tokenized string that represents the template. Tokens use the `{n}` notation\n * where `n` is the ordinal of the item to replace the token.\n */\n @Input()\n public set text(value: string | undefined) {\n this.#_text = value;\n this.#updateItemsForDisplay();\n }\n\n public get text(): string | undefined {\n return this.#_text;\n }\n\n /**\n * An array of `TemplateRef` objects to be placed in the template, where the `nth`\n * item is placed at the `{n}` location in the template.\n */\n @Input()\n public set args(value: TemplateRef<any>[] | undefined) {\n this.#_args = value;\n this.#updateItemsForDisplay();\n }\n\n public get args(): TemplateRef<any>[] | undefined {\n return this.#_args;\n }\n\n #_text: string | undefined;\n\n #_args: TemplateRef<any>[] | undefined;\n\n #updateItemsForDisplay(): void {\n this.itemsForDisplay = [];\n\n if (this.text && this.args) {\n const textParts = this.text.split(tokenRegex);\n\n for (const textPart of textParts) {\n // Disregard empty strings.\n if (textPart) {\n const item: SkyFormatItem = {};\n\n if (tokenRegex.test(textPart)) {\n const valueIndex = +textPart.substring(1, textPart.length - 1);\n\n item.templateRef = this.args[valueIndex];\n } else {\n item.text = textPart;\n }\n\n this.itemsForDisplay.push(item);\n }\n }\n }\n }\n}\n","@for (item of itemsForDisplay; track item) {\n @if (item.text) {\n <ng-container>{{ item.text }}</ng-container>\n } @else if (item.templateRef) {\n <ng-container *ngTemplateOutlet=\"item.templateRef\" />\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyFormatComponent } from './format.component';\n\n@NgModule({\n declarations: [SkyFormatComponent],\n imports: [CommonModule],\n exports: [SkyFormatComponent],\n})\nexport class SkyFormatModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPageThemeAdapterService {\n #styleEl: HTMLStyleElement | undefined;\n\n #document: Document;\n\n constructor(@Inject(DOCUMENT) document: Document) {\n this.#document = document;\n }\n\n /**\n * We can't use ViewEncapsulation.None for this behavior because Angular does\n * not remove `style` tags from the HEAD element after route changes.\n * @see https://github.com/angular/angular/issues/16670\n */\n public addTheme(): void {\n if (!this.#styleEl) {\n this.#styleEl = this.#document.createElement('style');\n this.#styleEl.appendChild(\n this.#document.createTextNode(\n 'body:not(.sky-theme-modern) { background-color: #fff; }',\n ),\n );\n\n this.#document.head.appendChild(this.#styleEl);\n }\n }\n\n public removeTheme(): void {\n if (this.#styleEl) {\n this.#styleEl.remove();\n this.#styleEl = undefined;\n }\n }\n}\n","import { Component, Input, OnDestroy, OnInit, inject } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SkyPageLayoutType } from './page-layout-type';\nimport { SkyPageThemeAdapterService } from './page-theme-adapter.service';\n\n/**\n * Displays page contents using the specified layout.\n * @docsId SkyPageComponentLegacy\n * @deprecated Use the `sky-page` component in `@skyux/pages` instead.\n */\n@Component({\n selector: 'sky-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n providers: [SkyPageThemeAdapterService],\n standalone: false,\n})\nexport class SkyPageComponent implements OnInit, OnDestroy {\n /**\n * The page layout. Use `auto` to allow the page contents\n * to expand beyond the bottom of the browser window. Use `fit`\n * to constrain the page contents to the available viewport.\n */\n @Input()\n public set layout(value: SkyPageLayoutType | undefined) {\n this.#_layout = value || 'auto';\n }\n\n public get layout(): SkyPageLayoutType {\n return this.#_layout;\n }\n\n #themeAdapter: SkyPageThemeAdapterService;\n\n #_layout: SkyPageLayoutType = 'auto';\n\n #logger = inject(SkyLogService);\n\n constructor(themeAdapter: SkyPageThemeAdapterService) {\n this.#logger.deprecated('SkyPageComponent', {\n deprecationMajorVersion: 8,\n moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/page',\n replacementRecommendation:\n 'Use the `sky-page` component in `@skyux/pages` instead.',\n });\n\n this.#themeAdapter = themeAdapter;\n }\n\n public ngOnInit(): void {\n this.#themeAdapter.addTheme();\n }\n\n public ngOnDestroy(): void {\n this.#themeAdapter.removeTheme();\n }\n}\n","<div [ngClass]=\"'sky-layout-host-' + layout\">\n <ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyPageComponent } from './page.component';\n\n/**\n * @docsId SkyPageModuleLegacy\n * @deprecated Use the SkyPageModule in `@skyux/pages` instead.\n */\n@NgModule({\n declarations: [SkyPageComponent],\n imports: [CommonModule],\n exports: [SkyPageComponent],\n})\nexport class SkyPageModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Displays messages that require immediate attention as [alerts](https://developer.blackbaud.com/skyux/components/alert) within\n * the page summary.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-alert',\n templateUrl: './page-summary-alert.component.html',\n styleUrls: ['./page-summary-alert.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryAlertComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Displays content in the arbitrary section of the page summary.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-content',\n templateUrl: './page-summary-content.component.html',\n styleUrls: ['./page-summary-content.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryContentComponent {}\n","<div class=\"sky-page-summary-content\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Displays an image in the page summary to identify a record\n * or help users complete a core task.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-image',\n templateUrl: './page-summary-image.component.html',\n styleUrls: ['./page-summary-image.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryImageComponent {}\n","<div class=\"sky-page-summary-image\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Highlights important information about a page in the key information section of the\n * page summary.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-key-info',\n templateUrl: './page-summary-key-info.component.html',\n styleUrls: ['./page-summary-key-info.component.scss'],\n standalone: false,\n})\nexport class SkyPageSummaryKeyInfoComponent {}\n","<div class=\"sky-page-summary-key-info\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Displays [labels](https://developer.blackbaud.com/skyux/components/label)\n * to highlight important status information about a page's content.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-status',\n templateUrl: './page-summary-status.component.html',\n styleUrls: ['./page-summary-status.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryStatusComponent {}\n","<div class=\"sky-page-summary-status\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a subtitle to identify the page content.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-subtitle',\n templateUrl: './page-summary-subtitle.component.html',\n styleUrls: ['./page-summary-subtitle.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummarySubtitleComponent {}\n","<p class=\"sky-page-summary-subtitle sky-emphasized\">\n <ng-content />\n</p>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a title to identify the page content.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-title',\n templateUrl: './page-summary-title.component.html',\n styleUrls: ['./page-summary-title.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryTitleComponent {}\n","<h1 class=\"sky-page-summary-title sky-page-heading\">\n <ng-content />\n</h1>\n","import { ElementRef, Injectable } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPageSummaryAdapterService {\n public updateKeyInfoLocation(elRef: ElementRef, isXS: boolean): void {\n const el = elRef.nativeElement;\n const keyInfoContainerEl = el.querySelector(\n '.sky-page-summary-key-info-container',\n );\n\n if (isXS) {\n el.querySelector('.sky-page-summary-key-info-xs').appendChild(\n keyInfoContainerEl,\n );\n } else {\n el.querySelector('.sky-page-summary-key-info-sm').appendChild(\n keyInfoContainerEl,\n );\n }\n }\n}\n","import {\n Component,\n ElementRef,\n contentChildren,\n effect,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyLogService, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyPageSummaryAdapterService } from './page-summary-adapter.service';\nimport { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';\n\n/**\n * Specifies the components to display in the page summary.\n * @deprecated `SkyPageSummaryComponent` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.\n */\n@Component({\n selector: 'sky-page-summary',\n templateUrl: './page-summary.component.html',\n styleUrls: ['./page-summary.component.scss'],\n providers: [SkyPageSummaryAdapterService],\n standalone: false,\n})\nexport class SkyPageSummaryComponent {\n protected keyInfoComponents = contentChildren(SkyPageSummaryKeyInfoComponent);\n\n readonly #breakpoint = toSignal(\n inject(SkyMediaQueryService).breakpointChange,\n );\n\n constructor() {\n const adapter = inject(SkyPageSummaryAdapterService);\n const elRef = inject(ElementRef);\n\n inject(SkyLogService).deprecated('SkyPageSummaryComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',\n replacementRecommendation:\n \"We recommend using the page component's `sky-page-header` component instead. And for page templates and techniques to summarize page content, see the page design guidelines.\",\n });\n\n effect(() => {\n adapter.updateKeyInfoLocation(elRef, this.#breakpoint() === 'xs');\n });\n }\n}\n","<div\n class=\"sky-page-summary\"\n [ngClass]=\"{\n 'sky-page-summary-with-key-info': keyInfoComponents().length > 0\n }\"\n>\n <ng-content select=\"sky-page-summary-alert\" />\n <div class=\"sky-page-summary-row\">\n <div class=\"sky-page-summary-left\">\n <ng-content select=\"sky-page-summary-image\" />\n <div class=\"sky-page-summary-data\">\n <ng-content select=\"sky-page-summary-title\" />\n <ng-content select=\"sky-page-summary-subtitle\" />\n <ng-content select=\"sky-page-summary-status\" />\n <div class=\"sky-page-summary-key-info-xs\"></div>\n <ng-content select=\"sky-page-summary-content\" />\n </div>\n </div>\n <div class=\"sky-page-summary-key-info-sm\">\n <div class=\"sky-page-summary-key-info-container\">\n <ng-content select=\"sky-page-summary-key-info\" />\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyPageSummaryAlertComponent } from './page-summary-alert.component';\nimport { SkyPageSummaryContentComponent } from './page-summary-content.component';\nimport { SkyPageSummaryImageComponent } from './page-summary-image.component';\nimport { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';\nimport { SkyPageSummaryStatusComponent } from './page-summary-status.component';\nimport { SkyPageSummarySubtitleComponent } from './page-summary-subtitle.component';\nimport { SkyPageSummaryTitleComponent } from './page-summary-title.component';\nimport { SkyPageSummaryComponent } from './page-summary.component';\n\n/**\n * @deprecated `SkyPageSummaryModule` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.\n */\n@NgModule({\n declarations: [\n SkyPageSummaryAlertComponent,\n SkyPageSummaryComponent,\n SkyPageSummaryContentComponent,\n SkyPageSummaryImageComponent,\n SkyPageSummaryKeyInfoComponent,\n SkyPageSummaryStatusComponent,\n SkyPageSummarySubtitleComponent,\n SkyPageSummaryTitleComponent,\n ],\n imports: [CommonModule],\n exports: [\n SkyPageSummaryAlertComponent,\n SkyPageSummaryComponent,\n SkyPageSummaryContentComponent,\n SkyPageSummaryImageComponent,\n SkyPageSummaryKeyInfoComponent,\n SkyPageSummaryStatusComponent,\n SkyPageSummarySubtitleComponent,\n SkyPageSummaryTitleComponent,\n ],\n})\nexport class SkyPageSummaryModule {}\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyTextExpandAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getContainerHeight(containerEl: ElementRef): number {\n return containerEl.nativeElement.offsetHeight;\n }\n\n public removeContainerMaxHeight(containerEl: ElementRef): void {\n this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');\n }\n\n public setText(textEl: ElementRef, text: string): void {\n textEl.nativeElement.textContent = text;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { SkyTextExpandModalContext } from './text-expand-modal-context';\n\n/**\n * @internal\n */\nexport const SKY_TEXT_EXPAND_MODAL_CONTEXT =\n new InjectionToken<SkyTextExpandModalContext>('SkyTextExpandModalContext');\n","import { Component, Inject } from '@angular/core';\nimport { SkyModalInstance, SkyModalModule } from '@skyux/modals';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyTextExpandModalContext } from './text-expand-modal-context';\nimport { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-text-expand-modal',\n templateUrl: './text-expand-modal.component.html',\n styleUrls: ['./text-expand.component.scss'],\n imports: [SkyModalModule, SkyLayoutResourcesModule],\n})\nexport class SkyTextExpandModalComponent {\n constructor(\n @Inject(SKY_TEXT_EXPAND_MODAL_CONTEXT)\n public context: SkyTextExpandModalContext,\n public instance: SkyModalInstance,\n ) {}\n\n public close(): void {\n this.instance.close();\n }\n}\n","<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n AfterContentInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyModalService } from '@skyux/modals';\n\nimport { forkJoin as observableForkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTextExpandAdapterService } from './text-expand-adapter.service';\nimport { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';\nimport { SkyTextExpandModalComponent } from './text-expand-modal.component';\n\n/**\n * Auto-incrementing integer used to generate unique ids for text expand components.\n */\nlet nextId = 0;\n\n@Component({\n animations: [\n trigger('expansionAnimation', [\n transition(':enter', []),\n state(\n 'true',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n state(\n 'false',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n transition('true => false', animate('250ms ease')),\n transition('false => true', animate('250ms ease')),\n transition('void => *', []),\n ]),\n ],\n selector: 'sky-text-expand',\n templateUrl: './text-expand.component.html',\n styleUrls: ['./text-expand.component.scss'],\n providers: [SkyTextExpandAdapterService],\n standalone: false,\n})\nexport class SkyTextExpandComponent implements AfterContentInit {\n /**\n * The title to display when the component expands the full text in a modal.\n * @default \"Expanded view\"\n */\n @Input()\n public expandModalTitle: string | undefined;\n\n /**\n * The maximum number of text characters to display inline when users select the link\n * to expand the full text. If the text exceeds this limit, then the component expands\n * the full text in a modal instead.\n * @default 600\n */\n @Input()\n public set maxExpandedLength(value: number | undefined) {\n if (value) {\n this.#_maxExpandedLength = value;\n } else {\n this.#_maxExpandedLength = 600;\n }\n this.#setup(this.text);\n }\n\n public get maxExpandedLength(): number {\n return this.#_maxExpandedLength;\n }\n\n /**\n * The maximum number of newline characters to display inline when users select\n * the link to expand the full text. If the text exceeds this limit, then\n * the component expands the full text in a modal view instead.\n * @default 2\n */\n @Input()\n public set maxExpandedNewlines(value: number | undefined) {\n if (value) {\n this.#_maxExpandedNewlines = value;\n } else {\n this.#_maxExpandedNewlines = 2;\n }\n this.#setup(this.text);\n }\n\n public get maxExpandedNewlines(): number {\n return this.#_maxExpandedNewlines;\n }\n\n /**\n * The number of text characters to display before truncating the text.\n * To avoid truncating text in the middle of a word, the component looks for a space\n * in the 10 characters before the last character.\n * @default 200\n */\n @Input()\n public set maxLength(value: number | undefined) {\n if (value) {\n this.#_maxLength = value;\n } else {\n this.#_maxLength = 200;\n }\n this.#setup(this.text);\n }\n\n public get maxLength(): number {\n return this.#_maxLength;\n }\n\n /**\n * The text to truncate.\n */\n @Input()\n public set text(value: string | undefined) {\n this.#_text = value ?? '';\n this.#setup(this.#_text);\n }\n\n public get text(): string {\n return this.#_text;\n }\n\n /**\n * Whether to replace newline characters in truncated text with spaces.\n */\n @Input()\n public truncateNewlines = true;\n\n public buttonText = '';\n\n public contentSectionId = `sky-text-expand-content-${++nextId}`;\n\n public expandable = false;\n\n public isExpanded: boolean | undefined;\n\n public isModal = false;\n\n public transitionHeight = 1;\n\n @ViewChild('container', {\n read: ElementRef,\n static: true,\n })\n public containerEl: ElementRef | undefined;\n\n @ViewChild('text', {\n read: ElementRef,\n static: true,\n })\n public set textEl(value: ElementRef | undefined) {\n this.#_textEl = value;\n this.#setup(this.text);\n }\n\n public get textEl(): ElementRef | undefined {\n return this.#_textEl;\n }\n\n #collapsedText = '';\n\n #newlineCount = 0;\n\n #seeMoreText = '';\n\n #seeLessText = '';\n\n #textToShow = '';\n\n #_maxExpandedLength = 600;\n\n #_maxExpandedNewlines = 2;\n\n #_maxLength = 200;\n\n #_text = '';\n\n #_textEl: ElementRef | undefined;\n\n #resources: SkyLibResourcesService;\n #modalSvc: SkyModalService;\n #textExpandAdapter: SkyTextExpandAdapterService;\n\n constructor(\n resources: SkyLibResourcesService,\n modalSvc: SkyModalService,\n textExpandAdapter: SkyTextExpandAdapterService,\n ) {\n this.#resources = resources;\n this.#modalSvc = modalSvc;\n this.#textExpandAdapter = textExpandAdapter;\n }\n\n public textExpand(): void {\n if (this.isModal) {\n // Modal View\n /* istanbul ignore else */\n /* sanity check */\n if (!this.isExpanded) {\n this.#modalSvc.open(SkyTextExpandModalComponent, [\n {\n provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,\n useValue: {\n header: this.expandModalTitle,\n text: this.text,\n },\n },\n ]);\n }\n } else {\n // Normal View\n if (!this.isExpanded) {\n this.#animateText(true);\n } else {\n this.#animateText(false);\n }\n }\n }\n\n public animationEnd(): void {\n if (this.textEl && this.containerEl) {\n // Ensure the correct text is displayed\n this.#textExpandAdapter.setText(this.textEl, this.#textToShow);\n\n setTimeout(() => {\n if (this.containerEl) {\n // Set height back to auto so the browser can change the height as needed with window changes\n this.#textExpandAdapter.removeContainerMaxHeight(this.containerEl);\n }\n });\n }\n }\n\n public ngAfterContentInit(): void {\n observableForkJoin([\n this.#resources.getString('skyux_text_expand_see_more'),\n this.#resources.getString('skyux_text_expand_see_less'),\n ])\n .pipe(take(1))\n .subscribe((resources) => {\n this.#seeMoreText = resources[0];\n this.#seeLessText = resources[1];\n this.#setup(this.text);\n\n /* istanbul ignore else */\n if (!this.expandModalTitle) {\n this.#resources\n .getString('skyux_text_expand_modal_title')\n .pipe(take(1))\n .subscribe((resource) => {\n this.expandModalTitle = resource;\n });\n }\n });\n }\n\n #setup(value: string | undefined): void {\n if (value) {\n this.#newlineCount = this.#getNewlineCount(value);\n this.#collapsedText = this.#getTruncatedText(value, this.maxLength);\n if (this.#collapsedText !== value) {\n this.buttonText = this.#seeMoreText;\n this.isExpanded = false;\n this.expandable = true;\n this.isModal =\n this.#newlineCount > this.maxExpandedNewlines ||\n this.text.length > this.maxExpandedLength;\n } else {\n this.expandable = false;\n }\n this.#textToShow = this.#collapsedText;\n } else {\n this.#textToShow = '';\n this.expandable = false;\n }\n if (this.textEl) {\n this.#textExpandAdapter.setText(this.textEl, this.#textToShow);\n }\n }\n\n #getNewlineCount(value: string): number {\n const matches = value.match(/\\n/gi);\n\n if (matches) {\n return matches.length;\n }\n\n return 0;\n }\n\n #getTruncatedText(value: string, length: number): string {\n let i: number;\n if (this.truncateNewlines) {\n value = value.replace(/\\n+/gi, ' ');\n }\n // Jump ahead one character and see if it's a space, and if it isn't,\n // back up to the first space and break there so a word doesn't get cut\n // in half.\n if (length < value.length) {\n for (i = length; i > length - 10; i--) {\n if (/\\s/.test(value.charAt(i))) {\n length = i;\n break;\n }\n }\n }\n return value.substring(0, length);\n }\n\n #animateText(expanding: boolean): void {\n if (this.containerEl && this.textEl) {\n const adapter = this.#textExpandAdapter;\n const container = this.containerEl;\n if (expanding) {\n adapter.setText(this.textEl, this.text);\n this.#textToShow = this.text;\n } else {\n adapter.setText(this.textEl, this.#collapsedText);\n this.#textToShow = this.#collapsedText;\n }\n this.buttonText = expanding ? this.#seeLessText : this.#seeMoreText;\n // Measure the new height so we can animate to it.\n const newHeight = adapter.getContainerHeight(container);\n this.transitionHeight = newHeight;\n // Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.\n if (!expanding) {\n adapter.setText(this.textEl, this.text);\n }\n this.isExpanded = expanding;\n }\n }\n}\n","<div\n #container\n class=\"sky-text-expand-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n>\n <span #text class=\"sky-text-expand-text\" [id]=\"contentSectionId\"></span>\n @if (expandable) {\n @if (!isExpanded) {\n <span class=\"sky-text-expand-ellipsis\">... </span>\n }\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkyTextExpandComponent } from './text-expand.component';\n\n@NgModule({\n declarations: [SkyTextExpandComponent],\n exports: [SkyTextExpandComponent],\n})\nexport class SkyTextExpandModule {}\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyTextExpandRepeaterAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getItems(elRef: ElementRef): NodeListOf<HTMLElement> {\n return (elRef.nativeElement as HTMLElement).querySelectorAll(\n '.sky-text-expand-repeater-item',\n ) as NodeListOf<HTMLElement>;\n }\n\n public hideItem(item: HTMLElement): void {\n this.#renderer.setStyle(item, 'display', 'none');\n }\n\n public showItem(item: HTMLElement): void {\n this.#renderer.removeStyle(item, 'display');\n }\n\n public getContainerHeight(containerEl: ElementRef): number {\n return containerEl.nativeElement.offsetHeight;\n }\n\n public removeContainerMaxHeight(containerEl: ElementRef): void {\n this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');\n }\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { forkJoin as observableForkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTextExpandRepeaterAdapterService } from './text-expand-repeater-adapter.service';\nimport { SkyTextExpandRepeaterListStyleType } from './types/text-expand-repeater-list-style-type';\n\n/**\n * Auto-incrementing integer used to generate unique ids for text expand repeater components.\n */\nlet nextId = 0;\n\n@Component({\n animations: [\n trigger('expansionAnimation', [\n transition(':enter', []),\n state(\n 'true',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n state(\n 'false',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n transition('true => false', animate('250ms ease')),\n transition('false => true', animate('250ms ease')),\n transition('void => *', []),\n ]),\n ],\n selector: 'sky-text-expand-repeater',\n templateUrl: './text-expand-repeater.component.html',\n styleUrls: ['./text-expand-repeater.component.scss'],\n providers: [SkyTextExpandRepeaterAdapterService],\n standalone: false,\n})\nexport class SkyTextExpandRepeaterComponent implements AfterViewInit {\n /**\n * The data to truncate.\n */\n @Input()\n public set data(value: any[] | undefined) {\n this.#_data = value;\n\n // Wait for the dom to render the new items based on the updated data\n setTimeout(() => {\n this.#htmlItems = this.#textExpandRepeaterAdapter.getItems(this.#elRef);\n this.#setup(value);\n });\n }\n\n public get data(): any[] | undefined {\n return this.#_data;\n }\n\n /**\n * The template for items in the list.\n */\n @Input()\n public itemTemplate: TemplateRef<unknown> | undefined;\n\n /**\n * The style of bullet to use\n * @default \"unordered\"\n */\n @Input()\n public listStyle: SkyTextExpandRepeaterListStyleType | undefined =\n 'unordered';\n\n /**\n * The number of items to display before truncating the list. If not supplied, all items are shown.\n */\n @Input()\n public set maxItems(value: number | undefined) {\n this.#_maxItems = value;\n this.#setup(this.data);\n }\n\n public get maxItems(): number | undefined {\n return this.#_maxItems;\n }\n\n public buttonText = '';\n public expandable = false;\n public contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;\n\n public isExpanded: boolean | undefined;\n public transitionHeight = 1;\n\n #seeMoreText = '';\n #seeLessText = '';\n\n @ViewChild('container', {\n read: ElementRef,\n static: false,\n })\n public containerEl: ElementRef | undefined;\n\n #htmlItems: NodeListOf<HTMLElement> | undefined;\n\n #_data: any[] | undefined;\n #_maxItems: number | undefined;\n\n #resources: SkyLibResourcesService;\n #elRef: ElementRef;\n #textExpandRepeaterAdapter: SkyTextExpandRepeaterAdapterService;\n #changeDetector: ChangeDetectorRef;\n\n constructor(\n resources: SkyLibResourcesService,\n elRef: ElementRef,\n textExpandRepeaterAdapter: SkyTextExpandRepeaterAdapterService,\n changeDetector: ChangeDetectorRef,\n ) {\n this.#resources = resources;\n this.#elRef = elRef;\n this.#textExpandRepeaterAdapter = textExpandRepeaterAdapter;\n this.#changeDetector = changeDetector;\n }\n\n public ngAfterViewInit(): void {\n observableForkJoin([\n this.#resources.getString('skyux_text_expand_see_more'),\n this.#resources.getString('skyux_text_expand_see_less'),\n ])\n .pipe(take(1))\n .subscribe((resources) => {\n this.#seeMoreText = resources[0];\n this.#seeLessText = resources[1];\n /* sanity check */\n /* istanbul ignore else */\n if (!this.isExpanded) {\n this.buttonText = this.#seeMoreText;\n } else {\n this.buttonText = this.#seeLessText;\n }\n this.#changeDetector.detectChanges();\n });\n }\n\n public animationEnd(): void {\n // Ensure all items that should be hidden are hidden. This is because we need them shown during the animation window for visual purposes.\n if (!this.isExpanded) {\n this.#hideItems();\n }\n\n // This set timeout is needed as the `animationEnd` function is called by the angular animation callback prior to the animation setting the style on the element\n setTimeout(() => {\n if (this.containerEl) {\n // Set height back to auto so the browser can change the height as needed with window changes\n this.#textExpandRepeaterAdapter.removeContainerMaxHeight(\n this.containerEl,\n );\n }\n });\n }\n\n public repeaterExpand(): void {\n if (!this.isExpanded) {\n this.#animateRepeater(true);\n } else {\n this.#animateRepeater(false);\n }\n }\n\n #animateRepeater(expanding: boolean): void {\n const adapter = this.#textExpandRepeaterAdapter;\n const container = this.containerEl;\n if (container) {\n if (expanding) {\n this.#showItems();\n } else {\n this.#hideItems();\n }\n const newHeight = adapter.getContainerHeight(container);\n this.transitionHeight = newHeight;\n if (!expanding) {\n this.buttonText = this.#seeMoreText;\n } else {\n this.buttonText = this.#seeLessText;\n }\n if (!expanding) {\n // Show all items during animation for visual purposes.\n this.#showItems();\n }\n this.isExpanded = expanding;\n }\n }\n\n #setup(value: unknown[] | undefined): void {\n if (value) {\n const length = value.length;\n if (this.maxItems && length > this.maxItems) {\n this.expandable = true;\n this.buttonText = this.#seeMoreText;\n this.#hideItems();\n if (this.containerEl) {\n this.transitionHeight =\n this.#textExpandRepeaterAdapter.getContainerHeight(\n this.containerEl,\n );\n }\n this.isExpanded = false;\n } else {\n this.expandable = false;\n this.isExpanded = undefined;\n }\n } else {\n this.expandable = false;\n this.isExpanded = undefined;\n }\n this.#changeDetector.markForCheck();\n }\n\n #hideItems(): void {\n if (this.#htmlItems && this.maxItems) {\n for (let i = this.maxItems; i < this.#htmlItems.length; i++) {\n this.#textExpandRepeaterAdapter.hideItem(this.#htmlItems[i]);\n }\n }\n }\n\n #showItems(): void {\n if (this.#htmlItems && this.maxItems) {\n for (let i = this.maxItems; i < this.#htmlItems.length; i++) {\n this.#textExpandRepeaterAdapter.showItem(this.#htmlItems[i]);\n }\n }\n }\n}\n","<div class=\"sky-text-expand-repeater\">\n @if (listStyle !== 'ordered') {\n <ul\n #container\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\" />\n </ul>\n } @else {\n <ol\n #container\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n [id]=\"contentSectionId\"\n (@expansionAnimation.done)=\"animationEnd()\"\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\" />\n </ol>\n }\n @if (expandable) {\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n (click)=\"repeaterExpand()\"\n >\n {{ buttonText }}\n </button>\n }\n</div>\n\n<ng-template #defaultItemTemplate let-item>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n @for (item of data; track item) {\n <li class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </li>\n }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyTextExpandRepeaterComponent } from './text-expand-repeater.component';\n\n@NgModule({\n declarations: [SkyTextExpandRepeaterComponent],\n imports: [SkyLayoutResourcesModule, CommonModule],\n exports: [SkyTextExpandRepeaterComponent],\n})\nexport class SkyTextExpandRepeaterModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a container for an item in the toolbar.\n */\n@Component({\n selector: 'sky-toolbar-item',\n styleUrls: ['./toolbar-item.component.scss'],\n templateUrl: './toolbar-item.component.html',\n standalone: false,\n})\nexport class SkyToolbarItemComponent {}\n","<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a section to group items within the toolbar. The section displays items in a separate horizontal row.\n */\n@Component({\n selector: 'sky-toolbar-section',\n styleUrls: ['./toolbar-section.component.scss'],\n templateUrl: './toolbar-section.component.html',\n standalone: false,\n})\nexport class SkyToolbarSectionComponent {}\n","<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Adds a section on the right side of the toolbar for items that substantially alter\n * the view of the content container. This includes simple filters and view switchers.\n */\n@Component({\n selector: 'sky-toolbar-view-actions',\n templateUrl: './toolbar-view-actions.component.html',\n styleUrls: ['./toolbar-view-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyToolbarViewActionsComponent {}\n","<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n inject,\n} from '@angular/core';\nimport { SkyContentInfoProvider } from '@skyux/core';\n\nimport { SkyToolbarSectionComponent } from './toolbar-section.component';\n\n/**\n * Displays actions for lists, records, and tiles.\n */\n@Component({\n selector: 'sky-toolbar',\n styleUrls: ['./toolbar.component.scss'],\n templateUrl: './toolbar.component.html',\n providers: [SkyContentInfoProvider],\n standalone: false,\n})\nexport class SkyToolbarComponent {\n public hasSections = false;\n\n @ContentChildren(SkyToolbarSectionComponent, { descendants: true })\n public set sectionComponents(\n value: QueryList<SkyToolbarSectionComponent> | undefined,\n ) {\n this.hasSections = !!value && value.length > 0;\n }\n\n /**\n * A descriptor for the items that the toolbar manipulates. Use a plural term. The descriptor helps set the toolbar's `aria-label` attributes for search inputs, sort buttons, and filter buttons to provide text equivalents for screen readers [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * For example, when the descriptor is \"constituents,\" the search input's `aria-label` is \"Search constituents.\" For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public set listDescriptor(value: string | undefined) {\n this.#contentInfoProvider.patchInfo({\n descriptor: value ? { type: 'text', value } : undefined,\n });\n }\n\n #contentInfoProvider = inject(SkyContentInfoProvider);\n}\n","<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyToolbarItemComponent } from './toolbar-item.component';\nimport { SkyToolbarSectionComponent } from './toolbar-section.component';\nimport { SkyToolbarViewActionsComponent } from './toolbar-view-actions.component';\nimport { SkyToolbarComponent } from './toolbar.component';\n\n@NgModule({\n declarations: [\n SkyToolbarComponent,\n SkyToolbarItemComponent,\n SkyToolbarSectionComponent,\n SkyToolbarViewActionsComponent,\n ],\n imports: [CommonModule],\n exports: [\n SkyToolbarComponent,\n SkyToolbarItemComponent,\n SkyToolbarSectionComponent,\n SkyToolbarViewActionsComponent,\n ],\n})\nexport class SkyToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1.SkyActionButtonAdapterService","i2","i3","i1","i2.SkyBackToTopDomAdapterService","nextId","i1.SkyInlineDeleteAdapterService","i5","i1.SkyDefinitionListService","i1.SkyDescriptionListService","i1.SkyDescriptionListAdapterService","i2.SkyDescriptionListService","i1.SkyPageThemeAdapterService","observableForkJoin","i3.SkyTextExpandAdapterService","i2.SkyTextExpandRepeaterAdapterService"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-layout.mjs","sources":["../../../../../libs/components/layout/src/lib/modules/action-button/action-button-adapter-service.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-container.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-container.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-details.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-details.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-header.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-header.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-icon.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-icon.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.module.ts","../../../../../libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.component.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.component.html","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/models/back-to-top-message-type.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.directive.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.module.ts","../../../../../libs/components/layout/src/lib/modules/box/box-content.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-content.component.html","../../../../../libs/components/layout/src/lib/modules/box/box-header-id-token.ts","../../../../../libs/components/layout/src/lib/modules/box/box-controls.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-controls.component.html","../../../../../libs/components/layout/src/lib/modules/box/box-header.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-header.component.html","../../../../../libs/components/layout/src/lib/modules/box/box.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box.component.html","../../../../../libs/components/layout/src/lib/modules/box/box.module.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete-type.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.component.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.component.html","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.module.ts","../../../../../libs/components/layout/src/lib/modules/card/card-actions.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-actions.component.html","../../../../../libs/components/layout/src/lib/modules/card/card-content.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-content.component.html","../../../../../libs/components/layout/src/lib/modules/card/card-title.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-title.component.html","../../../../../libs/components/layout/src/lib/modules/card/card.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card.component.html","../../../../../libs/components/layout/src/lib/modules/card/card.module.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-content.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-content.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-heading.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-heading.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.service.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-label.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-label.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-value.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-value.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.module.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.service.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-description.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-description.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-term.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-term.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-content.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-content.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-adapter-service.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.module.ts","../../../../../libs/components/layout/src/lib/modules/description-list/types/description-list-mode.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/column.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/column.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/row.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/row.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.module.ts","../../../../../libs/components/layout/src/lib/modules/format/format.component.ts","../../../../../libs/components/layout/src/lib/modules/format/format.component.html","../../../../../libs/components/layout/src/lib/modules/format/format.module.ts","../../../../../libs/components/layout/src/lib/modules/page/page-theme-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/page/page.component.ts","../../../../../libs/components/layout/src/lib/modules/page/page.component.html","../../../../../libs/components/layout/src/lib/modules/page/page.module.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-alert.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-alert.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-content.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-content.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-image.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-image.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-key-info.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-key-info.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-status.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-status.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-subtitle.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-subtitle.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-title.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-title.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.module.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal-context-token.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.module.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.module.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-item.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-item.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-section.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-section.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-view-actions.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-view-actions.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.module.ts","../../../../../libs/components/layout/src/skyux-layout.ts"],"sourcesContent":["import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nconst RESPONSIVE_CLASS_SM = 'sky-action-button-container-sm';\nconst RESPONSIVE_CLASS_MD = 'sky-action-button-container-md';\nconst RESPONSIVE_CLASS_LG = 'sky-action-button-container-lg';\n\nconst BREAKPOINT_MD = 912;\nconst BREAKPOINT_LG = 1378;\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyActionButtonAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getParentWidth(element: ElementRef): number | undefined {\n return (\n element.nativeElement as HTMLElement\n ).parentElement?.getBoundingClientRect().width;\n }\n\n public setResponsiveClass(element: ElementRef, width = 0): void {\n const el: any = element.nativeElement;\n const className = this.#getResponsiveClassName(width);\n\n this.#renderer.removeClass(el, RESPONSIVE_CLASS_SM);\n this.#renderer.removeClass(el, RESPONSIVE_CLASS_MD);\n this.#renderer.removeClass(el, RESPONSIVE_CLASS_LG);\n\n this.#renderer.addClass(el, className);\n }\n\n #getResponsiveClassName(width: number): string {\n if (width < BREAKPOINT_MD) {\n return RESPONSIVE_CLASS_SM;\n } else if (width >= BREAKPOINT_MD && width < BREAKPOINT_LG) {\n return RESPONSIVE_CLASS_MD;\n } else {\n return RESPONSIVE_CLASS_LG;\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n SkipSelf,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SkyHrefChange } from '@skyux/router';\n\nimport { SkyActionButtonPermalink } from './action-button-permalink';\n\n/**\n * Creates a button to present users with an option to move forward with tasks.\n */\n@Component({\n selector: 'sky-action-button',\n styleUrls: [\n './action-button.default.component.scss',\n './action-button.modern.component.scss',\n ],\n templateUrl: './action-button.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyActionButtonComponent {\n @HostBinding('hidden')\n public hidden = false;\n\n /**\n * The link for the action button.\n */\n @Input()\n public permalink: SkyActionButtonPermalink | undefined;\n\n /**\n * Fires when users select the action button.\n */\n @Output()\n public actionClick = new EventEmitter<any>();\n\n #changeDetector: ChangeDetectorRef;\n\n constructor(@SkipSelf() changeDetector: ChangeDetectorRef) {\n this.#changeDetector = changeDetector;\n }\n\n public buttonClicked(): void {\n this.actionClick.emit();\n }\n\n public enterPress(): void {\n this.actionClick.emit();\n }\n\n public onSkyHrefDisplayChange($event: SkyHrefChange): void {\n if (this.hidden === $event.userHasAccess) {\n setTimeout(() => {\n this.hidden = !$event.userHasAccess;\n this.#changeDetector.markForCheck();\n });\n }\n }\n}\n","@if (!!permalink?.route?.commands) {\n <a\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [fragment]=\"permalink?.route?.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n [queryParams]=\"permalink?.route?.extras?.queryParams\"\n [queryParamsHandling]=\"permalink?.route?.extras?.queryParamsHandling\"\n [routerLink]=\"permalink?.route?.commands\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </a>\n} @else if (!permalink?.route && permalink?.url) {\n @if (\n !permalink?.url?.includes('://') || permalink?.url?.startsWith('https://')\n ) {\n <a\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [href]=\"permalink?.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </a>\n } @else {\n <a\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [skyHref]=\"permalink?.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </a>\n }\n} @else {\n <div\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n role=\"button\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (click)=\"buttonClicked()\"\n (keydown.enter)=\"enterPress()\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n </div>\n}\n\n<ng-template #actionButtonContent>\n <ng-container *skyThemeIf=\"'default'\">\n <div class=\"sky-action-button-icon-header-container\">\n <ng-container *ngTemplateOutlet=\"icon\" />\n <ng-container *ngTemplateOutlet=\"header\" />\n </div>\n <ng-container *ngTemplateOutlet=\"details\" />\n </ng-container>\n\n <ng-container *skyThemeIf=\"'modern'\">\n <ng-container *ngTemplateOutlet=\"icon\" />\n <div class=\"sky-action-button-content\">\n <ng-container *ngTemplateOutlet=\"header\" />\n <div\n class=\"sky-action-button-details\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"details\" />\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"sky-action-button-icon\" />\n</ng-template>\n\n<ng-template #header>\n <ng-content select=\"sky-action-button-header\" />\n</ng-template>\n\n<ng-template #details>\n <ng-content select=\"sky-action-button-details\" />\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport { SkyThemeComponentClassDirective, SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyActionButtonAdapterService } from './action-button-adapter-service';\nimport { SkyActionButtonComponent } from './action-button.component';\nimport { SkyActionButtonContainerAlignItemsType } from './types/action-button-container-align-items-type';\n\n/**\n * Wraps action buttons to ensures that they have consistent height and spacing.\n * @required\n */\n@Component({\n selector: 'sky-action-button-container',\n styleUrls: [\n './action-button-container.default.component.scss',\n './action-button-container.modern.component.scss',\n ],\n templateUrl: './action-button-container.component.html',\n providers: [SkyActionButtonAdapterService],\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyActionButtonContainerComponent\n implements AfterViewInit, OnDestroy, OnInit\n{\n /**\n * How to display the action buttons inside the action button container.\n * Options are `\"center\"` or `\"left\"`.\n * @default \"center\"\n */\n @Input()\n public set alignItems(\n value: SkyActionButtonContainerAlignItemsType | undefined,\n ) {\n this.#_alignItems = value ?? 'center';\n }\n\n public get alignItems(): SkyActionButtonContainerAlignItemsType {\n return this.#_alignItems;\n }\n\n @ContentChildren(SkyActionButtonComponent)\n public actionButtons: QueryList<SkyActionButtonComponent> | undefined;\n\n @ViewChild('container', {\n read: ElementRef,\n static: true,\n })\n public containerRef: ElementRef | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #syncMaxHeightTimeout?: number;\n\n set #themeName(value: string) {\n this.#_themeName = value;\n this.#updateResponsiveClass();\n this.#updateHeight();\n }\n\n #_alignItems: SkyActionButtonContainerAlignItemsType = 'center';\n\n #_themeName: string | undefined;\n\n #viewInitialized = false;\n\n #actionButtonAdapterService: SkyActionButtonAdapterService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #hostElRef: ElementRef;\n #themeSvc: SkyThemeService | undefined;\n\n constructor(\n actionButtonAdapterService: SkyActionButtonAdapterService,\n changeDetector: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n hostElRef: ElementRef,\n @Optional() themeSvc?: SkyThemeService,\n ) {\n this.#actionButtonAdapterService = actionButtonAdapterService;\n this.#changeDetector = changeDetector;\n this.#coreAdapterService = coreAdapterService;\n this.#hostElRef = hostElRef;\n this.#themeSvc = themeSvc;\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n this.#themeName = themeSettings.currentSettings.theme.name;\n this.#changeDetector.markForCheck();\n });\n }\n\n // Wait for children components to complete rendering before container width is determined.\n setTimeout(() => {\n this.#updateResponsiveClass();\n });\n }\n\n public ngAfterViewInit(): void {\n // Watch for dynamic action button changes and recalculate height.\n /* istanbul ignore else */\n if (this.actionButtons) {\n this.actionButtons.changes\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#updateHeight();\n });\n }\n this.#viewInitialized = true;\n this.#updateHeight();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onContentChange(): void {\n this.#updateHeight();\n }\n\n @HostListener('window:resize')\n public onWindowResize(): void {\n this.#updateResponsiveClass();\n }\n\n #updateHeight(delay = 0): void {\n const ref = this.containerRef;\n if (ref && this.#viewInitialized) {\n this.#coreAdapterService.resetHeight(ref, '.sky-action-button');\n if (this.#_themeName === 'modern') {\n // Wait for children components to complete rendering before height is determined.\n clearTimeout(this.#syncMaxHeightTimeout);\n this.#syncMaxHeightTimeout = setTimeout(() => {\n const selector = '.sky-action-button:not([hidden])';\n const button = ref.nativeElement.querySelector(selector);\n if (button && button.offsetHeight > 0) {\n this.#coreAdapterService.syncMaxHeight(ref, selector);\n } else if (delay < 200) {\n // Wait progressively longer between retries.\n this.#updateHeight(delay + 50);\n }\n }, delay) as unknown as number;\n }\n }\n }\n\n #updateResponsiveClass(): void {\n if (this.containerRef) {\n const parentWidth = this.#actionButtonAdapterService.getParentWidth(\n this.#hostElRef,\n );\n this.#actionButtonAdapterService.setResponsiveClass(\n this.containerRef,\n parentWidth,\n );\n }\n }\n}\n","<div #container class=\"sky-action-button-container\">\n <div\n class=\"sky-action-button-flex\"\n [ngClass]=\"{\n 'sky-action-button-flex-align-left': alignItems === 'left',\n 'sky-action-button-flex-align-center': alignItems === 'center'\n }\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n <ng-content />\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a description to display on an action button.\n */\n@Component({\n selector: 'sky-action-button-details',\n templateUrl: './action-button-details.component.html',\n standalone: false,\n})\nexport class SkyActionButtonDetailsComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Specifies a header to display on an action button.\n */\n@Component({\n selector: 'sky-action-button-header',\n styleUrls: [\n './action-button-header.default.component.scss',\n './action-button-header.modern.component.scss',\n ],\n templateUrl: './action-button-header.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyActionButtonHeaderComponent {}\n","<div\n class=\"sky-action-button-header\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern',\n 'sky-font-heading-2': 'default'\n }\"\n>\n <ng-content />\n</div>\n","import { Component, Input, computed, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nconst FONTSIZECLASS_SMALL = '2x';\nconst FONTSIZECLASS_LARGE = '3x';\n\n/**\n * Specifies an icon to display on the action button.\n */\n@Component({\n selector: 'sky-action-button-icon',\n styleUrls: [\n './action-button-icon.default.component.scss',\n './action-button-icon.modern.component.scss',\n ],\n templateUrl: './action-button-icon.component.html',\n imports: [SkyIconModule, SkyThemeModule],\n})\nexport class SkyActionButtonIconComponent {\n /**\n * The icon from the\n * [Font Awesome library](https://fontawesome.com/v4.7.0/).\n * For example, to display the `fa-filter` icon on the action button,\n * set `iconType` to `filter`. SKY UX supports version 4.7.0 of Font Awesome.\n * For more information about icons in SKY UX, see the\n * [icon component](https://developer.blackbaud.com/skyux/components/icon).\n * @deprecated Use `iconName` instead.\n */\n @Input()\n public iconType: string | undefined;\n\n /**\n * The name of the Blackbaud SVG icon to display.\n */\n @Input()\n public iconName: string | undefined;\n\n protected readonly breakpoint = toSignal(\n inject(SkyMediaQueryService).breakpointChange,\n );\n\n protected fontSizeClass = computed(() => {\n return this.breakpoint() === 'xs'\n ? FONTSIZECLASS_SMALL\n : FONTSIZECLASS_LARGE;\n });\n}\n","<div aria-hidden=\"true\" class=\"sky-action-button-icon-container\">\n @if (iconName) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-action-button-icon\"\n [iconSize]=\"breakpoint() === 'xs' ? 'xl' : 'xxxl'\"\n [iconName]=\"iconName\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-action-button-icon\"\n iconSize=\"l\"\n [iconName]=\"iconName\"\n />\n } @else if (iconType) {\n <sky-icon\n class=\"sky-action-button-icon\"\n [icon]=\"iconType\"\n [size]=\"fontSizeClass()\"\n />\n }\n</div>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyActionButtonContainerComponent } from './action-button-container.component';\nimport { SkyActionButtonDetailsComponent } from './action-button-details.component';\nimport { SkyActionButtonHeaderComponent } from './action-button-header.component';\nimport { SkyActionButtonIconComponent } from './action-button-icon.component';\nimport { SkyActionButtonComponent } from './action-button.component';\n\n@NgModule({\n declarations: [\n SkyActionButtonComponent,\n SkyActionButtonContainerComponent,\n SkyActionButtonDetailsComponent,\n SkyActionButtonHeaderComponent,\n ],\n imports: [\n CommonModule,\n ObserversModule,\n RouterModule,\n SkyActionButtonIconComponent,\n SkyHrefModule,\n SkyThemeModule,\n ],\n exports: [\n SkyActionButtonComponent,\n SkyActionButtonContainerComponent,\n SkyActionButtonDetailsComponent,\n SkyActionButtonHeaderComponent,\n SkyActionButtonIconComponent,\n ],\n})\nexport class SkyActionButtonModule {}\n","/* istanbul ignore file */\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-layout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_back_to_top: { message: 'Back to top' },\n skyux_card_checkbox_label: { message: 'Select card' },\n skyux_definition_list_none_found: { message: 'None found.' },\n skyux_description_list_none_found: { message: 'None found.' },\n skyux_inline_delete_assistive_text: {\n message: 'Are you sure you want to delete this item?',\n },\n skyux_inline_delete_cancel: { message: 'Cancel' },\n skyux_inline_delete_confirm_deletion: { message: 'Confirm deletion' },\n skyux_inline_delete_delete: { message: 'Delete' },\n skyux_text_expand_close_text: { message: 'Close' },\n skyux_text_expand_modal_title: { message: 'Expanded view' },\n skyux_text_expand_see_less: { message: 'See less' },\n skyux_text_expand_see_more: { message: 'See more' },\n },\n 'FR-CA': {\n skyux_back_to_top: { message: 'Retour en haut' },\n skyux_card_checkbox_label: { message: 'Sélectionner la carte' },\n skyux_definition_list_none_found: { message: 'Aucun trouvé.' },\n skyux_description_list_none_found: { message: 'Aucun trouvé.' },\n skyux_inline_delete_assistive_text: {\n message: 'Êtes-vous certain de vouloir supprimer cet élément?',\n },\n skyux_inline_delete_cancel: { message: 'Annuler' },\n skyux_inline_delete_confirm_deletion: {\n message: 'Confirmer la suppression',\n },\n skyux_inline_delete_delete: { message: 'Supprimer' },\n skyux_text_expand_close_text: { message: 'Fermer' },\n skyux_text_expand_modal_title: { message: 'Vue agrandie' },\n skyux_text_expand_see_less: { message: 'Voir moins' },\n skyux_text_expand_see_more: { message: 'Voir plus' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyLayoutResourcesModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-back-to-top',\n templateUrl: './back-to-top.component.html',\n styleUrls: ['./back-to-top.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyBackToTopComponent {\n public get scrollToTopClick(): Observable<void> {\n return this.#_scrollToTopClick.asObservable();\n }\n\n #_scrollToTopClick = new Subject<void>();\n\n public onScrollToTopClick(): void {\n this.#_scrollToTopClick.next();\n this.#_scrollToTopClick.complete();\n }\n}\n","<div\n class=\"sky-back-to-top\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-3': 'modern'\n }\"\n>\n <button\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"onScrollToTopClick()\"\n >\n {{ 'skyux_back_to_top' | skyLibResources }}\n </button>\n</div>\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { SkyAppWindowRef, SkyScrollableHostService } from '@skyux/core';\n\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyBackToTopDomAdapterService implements OnDestroy {\n #ngUnsubscribe = new Subject<void>();\n #scrollableHostScrollEventUnsubscribe = new Subject<void>();\n #scrollableHostService: SkyScrollableHostService;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n windowRef: SkyAppWindowRef,\n scrollableHostService: SkyScrollableHostService,\n ) {\n this.#windowRef = windowRef;\n this.#scrollableHostService = scrollableHostService;\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#scrollableHostScrollEventUnsubscribe.next();\n this.#scrollableHostScrollEventUnsubscribe.complete();\n }\n\n /**\n * This event returns a boolean on scroll indicating whether the provided element is in view.\n * @param elementRef The target element reference.\n */\n public elementInViewOnScroll(elementRef: ElementRef): Observable<boolean> {\n const scrollableHostObservable =\n this.#scrollableHostService.watchScrollableHostScrollEvents(elementRef);\n\n const isInitiallyInView = this.isElementScrolledInView(elementRef);\n const returnedObservable = new BehaviorSubject<boolean>(isInitiallyInView);\n\n scrollableHostObservable\n .pipe(takeUntil(this.#scrollableHostScrollEventUnsubscribe))\n .subscribe(() => {\n const isInView = this.isElementScrolledInView(elementRef);\n returnedObservable.next(isInView);\n });\n\n return returnedObservable;\n }\n\n /**\n * Scrolls the window or scrollable parent to the provided element.\n * @param elementRef The target element reference.\n */\n public scrollToElement(elementRef: ElementRef): void {\n /* sanity check */\n /* istanbul ignore if */\n if (!elementRef || !elementRef.nativeElement) {\n return;\n }\n\n const scrollableHost =\n this.#scrollableHostService.getScrollableHost(elementRef);\n\n if (scrollableHost instanceof Window) {\n // Scroll to top of window, but account for the body margin that allows for the omnibar if it exists.\n const bodyMarginOffset = parseInt(\n getComputedStyle(document.body).marginTop,\n 10,\n );\n const newOffsetTop =\n elementRef.nativeElement.offsetTop - bodyMarginOffset;\n this.#windowRef.nativeWindow.scrollTo(\n elementRef.nativeElement.offsetLeft,\n newOffsetTop,\n );\n } else {\n // Scroll to top of parent element.\n scrollableHost.scrollTop =\n scrollableHost.offsetTop - elementRef.nativeElement.offsetTop;\n }\n }\n\n public isElementScrolledInView(element: ElementRef): boolean {\n const parentElement =\n this.#scrollableHostService.getScrollableHost(element);\n\n if (!element.nativeElement.offsetParent) {\n return true;\n }\n const buffer = 25;\n const elementRect = element.nativeElement.getBoundingClientRect();\n\n if (parentElement instanceof HTMLElement) {\n const parentRect = parentElement.getBoundingClientRect();\n return elementRect.top > parentRect.top - buffer;\n } else {\n return elementRect.top > -buffer;\n }\n }\n}\n","/**\n * The type of message to send to the back to top component.\n */\nexport enum SkyBackToTopMessageType {\n /**\n * Scrolls the element back to the top.\n */\n BackToTop = 0,\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport { SkyDockItem, SkyDockService } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyBackToTopDomAdapterService } from './back-to-top-adapter.service';\nimport { SkyBackToTopComponent } from './back-to-top.component';\nimport { SkyBackToTopMessage } from './models/back-to-top-message';\nimport { SkyBackToTopMessageType } from './models/back-to-top-message-type';\nimport { SkyBackToTopOptions } from './models/back-to-top-options';\n\n/**\n * Associates a button with an element on the page and displays that button\n * to return to the element after users scroll away.\n */\n@Directive({\n selector: '[skyBackToTop]',\n providers: [SkyBackToTopDomAdapterService],\n standalone: false,\n})\nexport class SkyBackToTopDirective implements AfterViewInit, OnDestroy {\n /**\n * Configuration options for the back to top component.\n */\n @Input()\n public set skyBackToTop(value: SkyBackToTopOptions | '' | undefined) {\n this.#buttonHidden = !!(value && value?.buttonHidden);\n\n this.#handleBackToTopButton(this.#elementInView);\n }\n\n /**\n * The observable to send commands to the back to top component.\n * The commands respect the `SkyBackToTopMessage` type.\n */\n @Input()\n public set skyBackToTopMessageStream(\n value: Subject<SkyBackToTopMessage> | undefined,\n ) {\n if (this.#_skyBackToTopMessageStream) {\n this.#_skyBackToTopMessageStream.unsubscribe();\n }\n this.#_skyBackToTopMessageStream = value;\n this.#_skyBackToTopMessageStream\n ?.pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyBackToTopMessage) =>\n this.#handleIncomingMessages(message),\n );\n }\n\n #buttonHidden = false;\n #dockItem: SkyDockItem<SkyBackToTopComponent> | undefined;\n #dockService: SkyDockService;\n #domAdapter: SkyBackToTopDomAdapterService;\n #elementInView = false;\n #elementRef: ElementRef;\n\n #ngUnsubscribe = new Subject<void>();\n #_skyBackToTopMessageStream: Subject<SkyBackToTopMessage> | undefined;\n\n constructor(\n dockService: SkyDockService,\n domAdapter: SkyBackToTopDomAdapterService,\n elementRef: ElementRef,\n ) {\n this.#dockService = dockService;\n this.#domAdapter = domAdapter;\n this.#elementRef = elementRef;\n }\n\n public ngAfterViewInit(): void {\n this.#elementInView = this.#domAdapter.isElementScrolledInView(\n this.#elementRef,\n );\n\n this.#handleBackToTopButton(this.#elementInView);\n this.#setBackToTopListeners();\n }\n\n public ngOnDestroy(): void {\n if (this.#dockItem) {\n this.#dockItem.destroy();\n }\n }\n\n #handleBackToTopButton(elementInView: boolean): void {\n // Add back to top button if user scrolls down and button is not hidden.\n if (\n !this.#dockItem &&\n elementInView !== undefined &&\n !elementInView &&\n !this.#buttonHidden\n ) {\n this.#addBackToTop();\n }\n // Remove back to top button if user scrolls back up.\n if (elementInView || this.#buttonHidden) {\n this.#destroyBackToTop();\n }\n }\n\n #addBackToTop(): void {\n this.#dockItem = this.#dockService.insertComponent(SkyBackToTopComponent);\n\n // Listen for clicks on the \"back to top\" button so we know when to scroll up.\n this.#dockItem.componentInstance.scrollToTopClick\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#domAdapter.scrollToElement(this.#elementRef);\n });\n }\n\n #handleIncomingMessages(message: SkyBackToTopMessage): void {\n /* istanbul ignore else */\n if (message.type === SkyBackToTopMessageType.BackToTop) {\n this.#domAdapter.scrollToElement(this.#elementRef);\n }\n }\n\n #setBackToTopListeners(): void {\n /* istanbul ignore else */\n if (this.#elementRef) {\n this.#domAdapter\n .elementInViewOnScroll(this.#elementRef)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((elementInView: boolean) => {\n this.#elementInView = elementInView;\n\n this.#handleBackToTopButton(elementInView);\n });\n }\n }\n\n #destroyBackToTop(): void {\n /* istanbul ignore else */\n if (this.#dockItem) {\n this.#dockItem.destroy();\n this.#dockItem = undefined;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyBackToTopComponent } from './back-to-top.component';\nimport { SkyBackToTopDirective } from './back-to-top.directive';\n\n@NgModule({\n declarations: [SkyBackToTopComponent, SkyBackToTopDirective],\n imports: [SkyLayoutResourcesModule, SkyThemeModule],\n exports: [SkyBackToTopComponent, SkyBackToTopDirective],\n})\nexport class SkyBackToTopModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies the body content to display inside the box and provides padding around that content.\n */\n@Component({\n selector: 'sky-box-content',\n templateUrl: './box-content.component.html',\n standalone: false,\n})\nexport class SkyBoxContentComponent {}\n","<div class=\"sky-box-content\">\n <ng-content />\n</div>\n","import { InjectionToken } from '@angular/core';\n\nexport const SKY_BOX_HEADER_ID = new InjectionToken<string>(\n 'SKY_BOX_HEADER_ID',\n);\n","import { Component, inject } from '@angular/core';\nimport { SkyContentInfoProvider } from '@skyux/core';\n\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\n\n/**\n * Specifies the controls to display in upper right corner of the box. These buttons typically let users edit the box content.\n */\n@Component({\n selector: 'sky-box-controls',\n templateUrl: './box-controls.component.html',\n providers: [SkyContentInfoProvider],\n standalone: false,\n})\nexport class SkyBoxControlsComponent {\n public boxHasHeader(value: boolean): void {\n if (value) {\n this.#contentInfoProvider.patchInfo({\n descriptor: { type: 'elementId', value: this.#boxHeaderId },\n });\n } else {\n this.#contentInfoProvider.patchInfo({ descriptor: undefined });\n }\n }\n\n readonly #contentInfoProvider = inject(SkyContentInfoProvider);\n readonly #boxHeaderId = inject(SKY_BOX_HEADER_ID);\n}\n","<div class=\"sky-box-controls\">\n <ng-content />\n</div>\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\n\n/**\n * Specifies a header for the box.\n * @deprecated Use `headingText` input on the `sky-box` component instead.\n */\n@Component({\n selector: 'sky-box-header',\n templateUrl: './box-header.component.html',\n styleUrls: ['./box-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyBoxHeaderComponent {\n protected readonly boxHeaderId = inject(SKY_BOX_HEADER_ID);\n\n constructor() {\n inject(SkyLogService).deprecated('SkyBoxHeaderComponent', {\n deprecationMajorVersion: 10,\n replacementRecommendation:\n 'To add a header to box, use the `headerText` input on the box component instead.',\n });\n }\n}\n","<div class=\"sky-box-header\">\n <span skyTrim [id]=\"boxHeaderId\"><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n</div>\n","import {\n Component,\n ContentChild,\n ElementRef,\n Input,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute,\n} from '@angular/core';\nimport { SkyIdService } from '@skyux/core';\n\nimport { SkyBoxControlsComponent } from './box-controls.component';\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\nimport { SkyBoxHeaderComponent } from './box-header.component';\nimport { SkyBoxHeadingLevel } from './box-heading-level';\nimport { SkyBoxHeadingStyle } from './box-heading-style';\n\nfunction numberAttribute2(value: unknown): number {\n return numberAttribute(value, 2);\n}\n\n/**\n * Provides a common look-and-feel for box content with options to display a common box header, specify body content, and display common box controls.\n */\n@Component({\n selector: 'sky-box',\n templateUrl: './box.component.html',\n styleUrls: ['./box.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: SKY_BOX_HEADER_ID,\n useFactory(): string {\n const idService = inject(SkyIdService);\n return idService.generateId();\n },\n },\n ],\n standalone: false,\n})\nexport class SkyBoxComponent {\n /**\n * The text to display as the box's heading.\n */\n @Input()\n public set headingText(value: string | undefined) {\n this.#_headingText = value;\n\n if (this.#boxControls) {\n this.#boxControls.boxHasHeader(!!value);\n }\n }\n\n public get headingText(): string | undefined {\n return this.#_headingText;\n }\n\n /**\n * Indicates whether to hide the `headingText`.\n */\n @Input({ transform: booleanAttribute })\n public headingHidden = false;\n\n /**\n * The semantic heading level in the document structure. The default is 2.\n * @default 2\n */\n @Input({ transform: numberAttribute2 })\n public headingLevel: SkyBoxHeadingLevel = 2;\n\n /**\n * The heading [font style](https://developer.blackbaud.com/skyux/design/styles/typography#headings).\n * @default 2\n */\n @Input({ transform: numberAttribute2 })\n public set headingStyle(value: SkyBoxHeadingStyle) {\n this.headingClass = `sky-font-heading-${value}`;\n }\n\n /**\n * The content of the help popover. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the box heading. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title. This property only applies when `headingText` is also specified.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * A help key that identifies the global help content to display. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is placed beside the box heading. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n * as configured by the application. This property only applies when `headingText` is also specified.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The ARIA label for the box. This sets the box's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If the box includes a visible label, use `ariaLabelledBy` instead.\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n * @deprecated Use `headingText` instead.\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * The HTML element ID of the element that labels\n * the box. This sets the box's `aria-labelledby` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If the box does not include a visible label, use `ariaLabel` instead.\n * For more information about the `aria-labelledby` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-labelledby).\n * @deprecated Use `headingText` instead.\n */\n @Input()\n public ariaLabelledBy: string | undefined;\n\n /**\n * The ARIA role for the box\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n * by indicating what the box contains. For information about\n * how an ARIA role indicates what an item represents on a web page,\n * see the [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).\n */\n @Input()\n public ariaRole: string | undefined;\n\n @ContentChild(SkyBoxHeaderComponent, { read: ElementRef })\n public set boxHeaderRef(value: ElementRef | undefined) {\n this.#boxHeaderRef = value;\n if (this.#boxControls) {\n this.#boxControls.boxHasHeader(!!value);\n }\n }\n\n @ContentChild(SkyBoxControlsComponent)\n public set boxControls(value: SkyBoxControlsComponent | undefined) {\n this.#boxControls = value;\n\n if (value) {\n value.boxHasHeader(!!this.headingText || !!this.#boxHeaderRef);\n }\n }\n\n public headerId = inject(SKY_BOX_HEADER_ID);\n\n protected headingClass = 'sky-font-heading-2';\n\n #_headingText: string | undefined;\n\n #boxControls: SkyBoxControlsComponent | undefined;\n #boxHeaderRef: ElementRef | undefined;\n}\n","<section\n class=\"sky-box\"\n [attr.aria-label]=\"headingText || ariaLabel\"\n [attr.aria-labelledby]=\"headingText ? headerId : ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n [skyThemeClass]=\"{\n 'sky-shadow sky-border-dark': 'default',\n 'sky-elevation-1-bordered': 'modern'\n }\"\n>\n <div class=\"sky-box-header-content\">\n @if (headingText) {\n <div class=\"sky-box-header-right\">\n @switch (headingLevel) {\n @case (3) {\n <!-- display: inline -->\n <h3\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h3\n >\n }\n @case (4) {\n <!-- display: inline -->\n <h4\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h4\n >\n }\n @case (5) {\n <!-- display: inline -->\n <h5\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h5\n >\n }\n @default {\n <!-- display: inline -->\n <h2\n [id]=\"headerId\"\n [class]=\"headingClass\"\n [class.sky-screen-reader-only]=\"headingHidden\"\n >{{ headingText }}</h2\n >\n }\n }\n @if ((helpPopoverContent || helpKey) && !headingHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"headingText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n </div>\n } @else {\n <ng-content select=\"sky-box-header\" />\n }\n <ng-content select=\"sky-box-controls\" />\n </div>\n <ng-content />\n</section>\n","import { NgModule } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyBoxContentComponent } from './box-content.component';\nimport { SkyBoxControlsComponent } from './box-controls.component';\nimport { SkyBoxHeaderComponent } from './box-header.component';\nimport { SkyBoxComponent } from './box.component';\n\n@NgModule({\n declarations: [\n SkyBoxComponent,\n SkyBoxHeaderComponent,\n SkyBoxContentComponent,\n SkyBoxControlsComponent,\n ],\n imports: [SkyHelpInlineModule, SkyThemeModule, SkyTrimModule],\n exports: [\n SkyBoxComponent,\n SkyBoxHeaderComponent,\n SkyBoxContentComponent,\n SkyBoxControlsComponent,\n ],\n})\nexport class SkyBoxModule {}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineDeleteAdapterService {\n #element: HTMLElement | undefined;\n #focusableElements: HTMLElement[] | undefined;\n #parentEl: HTMLElement | null | undefined;\n #parentElClearListenerFn: (() => void) | undefined;\n #renderer: Renderer2;\n\n #coreAdapterService: SkyCoreAdapterService;\n\n constructor(\n coreAdapterService: SkyCoreAdapterService,\n rendererFactory: RendererFactory2,\n ) {\n this.#coreAdapterService = coreAdapterService;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public clearListeners(): void {\n /* istanbul ignore else */\n if (this.#parentElClearListenerFn) {\n this.#parentElClearListenerFn();\n }\n }\n\n public setEl(element: HTMLElement): void {\n this.#element = element;\n this.#parentEl = element.parentElement;\n\n /* istanbul ignore else */\n if (this.#parentEl) {\n this.#parentElClearListenerFn = this.#renderer.listen(\n this.#parentEl,\n 'focusin',\n (event: FocusEvent) => {\n if (this.#element) {\n const target: any = event.target;\n if (!this.#element.contains(target) && this.#parentEl !== target) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n\n target.blur();\n this.#focusNextElement(target, this.#isShift(event));\n }\n }\n },\n );\n }\n }\n\n #focusNextElement(targetElement: HTMLElement, shiftKey: boolean): void {\n const focusable = this.#getFocusableElements();\n\n // If shift tab, go in the other direction\n const modifier = shiftKey ? -1 : 1;\n\n // Find the next navigable element that isn't waiting\n const startingIndex = focusable.indexOf(targetElement);\n let curIndex = startingIndex + modifier;\n while (\n focusable[curIndex] &&\n this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n curIndex += modifier;\n }\n\n if (\n focusable[curIndex] &&\n !this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // Try wrapping the navigation\n /* istanbul ignore next */\n curIndex = modifier > 0 ? 0 : focusable.length - 1;\n\n /* istanbul ignore next */\n while (\n curIndex !== startingIndex &&\n focusable[curIndex] &&\n this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n curIndex += modifier;\n }\n\n /* istanbul ignore else */\n /* sanity check */\n if (\n focusable[curIndex] &&\n !this.#isElementHiddenOrCovered(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // No valid target, wipe focus\n // This should never happen in practice due to the multiple inline delete buttons\n if (document.activeElement && (document.activeElement as any).blur) {\n (document.activeElement as any).blur();\n }\n document.body.focus();\n }\n }\n\n // clear focusableElements list so that if things change between tabbing we know about it\n this.#focusableElements = undefined;\n }\n\n #getFocusableElements(): HTMLElement[] {\n // Keep this cached so we can reduce queries\n if (this.#focusableElements) {\n return this.#focusableElements;\n }\n\n this.#focusableElements = this.#coreAdapterService.getFocusableChildren(\n document.body,\n );\n\n return this.#focusableElements;\n }\n\n #isElementHiddenOrCovered(element: any): boolean {\n // Check if the element is hidden by css, not within the inline delete, or a wait is covering it\n return (\n this.#isElementHidden(element) ||\n (!!this.#parentEl &&\n this.#parentEl.contains(element) &&\n (!this.#element?.contains(element) ||\n this.#parentEl.querySelector('.sky-wait-mask') !== null))\n );\n }\n\n #isElementHidden(element: any): boolean {\n const style = window.getComputedStyle(element);\n return style.display === 'none' || style.visibility === 'hidden';\n }\n\n #isShift(event: Event): boolean {\n // Determine if shift+tab was used based on element order\n const elements = this.#getFocusableElements().filter(\n (elem) => !this.#isElementHidden(elem),\n );\n\n const previousInd = elements.indexOf((event as any).relatedTarget);\n const currentInd = elements.indexOf(event.target as HTMLElement);\n\n /* istanbul ignore next */\n return (\n previousInd === currentInd + 1 ||\n (previousInd === 0 && currentInd === elements.length - 1) ||\n previousInd > currentInd ||\n !(event as any).relatedTarget\n );\n }\n}\n","/**\n * The type of inline delete that is shown.\n * @internal\n */\nexport enum SkyInlineDeleteType {\n /**\n * The standard styling for inline deletes.\n */\n Standard = 'standard',\n /**\n * The styling for inline delete components which are used in card components.\n */\n Card = 'card',\n}\n","import {\n AnimationEvent,\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\n\nimport { SkyInlineDeleteAdapterService } from './inline-delete-adapter.service';\nimport { SkyInlineDeleteType } from './inline-delete-type';\n\n/**\n * Auto-incrementing integer used to generate unique ids for inline delete components.\n */\nlet nextId = 0;\n\n@Component({\n selector: 'sky-inline-delete',\n styleUrls: ['./inline-delete.component.scss'],\n templateUrl: './inline-delete.component.html',\n animations: [\n trigger('inlineDeleteAnimation', [\n transition('* => shown', [\n style({\n opacity: 0,\n }),\n query(\n '.sky-inline-delete-content-animation-container',\n style({ transform: 'scale(0.0)' }),\n ),\n group([\n animate('300ms ease-in-out', style({ opacity: 1 })),\n query(\n '.sky-inline-delete-content-animation-container',\n animate(\n '300ms ease-in-out',\n style({\n transform: 'scale(1)',\n }),\n ),\n ),\n ]),\n ]),\n transition(`shown <=> *`, [\n query(\n '.sky-inline-delete-content-animation-container',\n style({ transform: 'scale(1)' }),\n ),\n group([\n animate(\n '300ms ease-in-out',\n style({\n opacity: 0,\n }),\n ),\n query(\n '.sky-inline-delete-content-animation-container',\n animate(\n '300ms ease-in-out',\n style({\n transform: 'scale(0.0)',\n }),\n ),\n ),\n ]),\n ]),\n ]),\n ],\n providers: [SkyCoreAdapterService, SkyInlineDeleteAdapterService],\n standalone: false,\n})\nexport class SkyInlineDeleteComponent implements OnDestroy, OnInit {\n /**\n * Whether the deletion is pending.\n * @default false\n */\n @Input()\n public pending: boolean | undefined = false;\n\n /**\n * Fires when users click the cancel button.\n */\n @Output()\n public cancelTriggered = new EventEmitter<void>();\n\n /**\n * Fires when users click the delete button.\n */\n @Output()\n public deleteTriggered = new EventEmitter<void>();\n\n public animationState = 'shown';\n\n public assistiveTextId = `sky-inline-delete-assistive-text-${++nextId}`;\n\n public type: SkyInlineDeleteType = SkyInlineDeleteType.Standard;\n\n @ViewChild('delete', {\n read: ElementRef,\n static: false,\n })\n public deleteButton: ElementRef | undefined;\n\n #adapterService: SkyInlineDeleteAdapterService;\n #changeDetector: ChangeDetectorRef;\n #elRef: ElementRef;\n\n constructor(\n adapterService: SkyInlineDeleteAdapterService,\n changeDetector: ChangeDetectorRef,\n elRef: ElementRef,\n ) {\n this.#adapterService = adapterService;\n this.#changeDetector = changeDetector;\n this.#elRef = elRef;\n }\n\n /**\n * Initialization lifecycle hook\n * @internal\n */\n public ngOnInit(): void {\n this.animationState = 'shown';\n }\n\n /**\n * Destruction lifecycle hook\n * @internal\n */\n public ngOnDestroy(): void {\n this.#adapterService.clearListeners();\n this.cancelTriggered.complete();\n this.deleteTriggered.complete();\n }\n\n /**\n * @internal\n */\n public onCancelClick(): void {\n this.animationState = 'hidden';\n }\n\n /**\n * @internal\n */\n public onDeleteClick(): void {\n this.deleteTriggered.emit();\n }\n\n /**\n * Sets the inline delete to one of its predefined types.\n * @param type The inline delete type\n * @internal\n */\n public setType(type: SkyInlineDeleteType): void {\n this.type = type;\n this.#changeDetector.detectChanges();\n }\n\n /**\n * Handles actions that should be taken after the inline delete animates\n * @param event The animation event\n * @internal\n */\n public onAnimationDone(event: AnimationEvent): void {\n if (event.toState === 'hidden') {\n this.cancelTriggered.emit();\n } else {\n this.deleteButton?.nativeElement.focus();\n /* istanbul ignore else */\n if (this.#elRef) {\n this.#adapterService.setEl(this.#elRef.nativeElement);\n }\n }\n }\n}\n","<div\n class=\"sky-inline-delete sky-inline-delete-{{ type }}\"\n role=\"alertdialog\"\n [@inlineDeleteAnimation]=\"animationState\"\n [attr.aria-describedby]=\"assistiveTextId\"\n [attr.aria-label]=\"'skyux_inline_delete_confirm_deletion' | skyLibResources\"\n (@inlineDeleteAnimation.done)=\"onAnimationDone($event)\"\n>\n <span\n class=\"sky-inline-delete-assistive-text sky-screen-reader-only\"\n [id]=\"assistiveTextId\"\n >\n {{ 'skyux_inline_delete_assistive_text' | skyLibResources }}\n </span>\n <sky-wait class=\"sky-inline-delete-wait\" [isWaiting]=\"pending\" />\n <div class=\"sky-inline-delete-content\">\n <div class=\"sky-inline-delete-content-animation-container\">\n <button\n #delete\n class=\"sky-btn sky-btn-danger sky-inline-delete-button\"\n type=\"button\"\n (click)=\"onDeleteClick()\"\n >\n {{ 'skyux_inline_delete_delete' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_inline_delete_cancel' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SkyWaitModule } from '@skyux/indicators';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyInlineDeleteComponent } from './inline-delete.component';\n\n@NgModule({\n declarations: [SkyInlineDeleteComponent],\n imports: [SkyLayoutResourcesModule, SkyWaitModule],\n exports: [SkyInlineDeleteComponent],\n})\nexport class SkyInlineDeleteModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies an action that users can perform on the card.\n * @deprecated\n */\n@Component({\n selector: 'sky-card-actions',\n templateUrl: './card-actions.component.html',\n styleUrls: ['./card-actions.component.scss'],\n standalone: false,\n})\nexport class SkyCardActionsComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Specifies the content to display in the body of the card.\n * @deprecated\n */\n@Component({\n selector: 'sky-card-content',\n templateUrl: './card-content.component.html',\n standalone: false,\n})\nexport class SkyCardContentComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a title to identify what the card represents.\n * @deprecated\n */\n@Component({\n selector: 'sky-card-title',\n templateUrl: './card-title.component.html',\n standalone: false,\n})\nexport class SkyCardTitleComponent {}\n","<ng-content />\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyInlineDeleteType } from '../inline-delete/inline-delete-type';\nimport { SkyInlineDeleteComponent } from '../inline-delete/inline-delete.component';\n\nimport { SkyCardTitleComponent } from './card-title.component';\n\n/**\n * Creates a a small container to highlight important information.\n * @deprecated `SkyCardComponent` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.\n */\n@Component({\n selector: 'sky-card',\n styleUrls: ['./card.component.scss'],\n templateUrl: './card.component.html',\n standalone: false,\n})\nexport class SkyCardComponent implements AfterContentInit, OnDestroy {\n /**\n * The size of the card. The valid options are `\"large\"` and `\"small\"`.\n * @default \"large\"\n */\n @Input()\n public set size(value: string | undefined) {\n this.#_size = value ?? 'large';\n }\n\n public get size(): string {\n return this.#_size;\n }\n\n /**\n * Whether to display a checkbox to the right of the card title.\n * Users can select multiple checkboxes and perform actions on the selected cards.\n * @default false\n */\n @Input()\n public selectable: boolean | undefined = false;\n\n /**\n * Whether the card is selected. This only applies to card where\n * `selectable` is set to `true`.\n * @default false\n */\n @Input()\n public selected: boolean | undefined = false;\n\n /**\n * Fires when users select or deselect the card.\n */\n @Output()\n public selectedChange = new EventEmitter<boolean>();\n\n @ContentChildren(SkyInlineDeleteComponent)\n public inlineDeleteComponent: QueryList<SkyInlineDeleteComponent> | undefined;\n\n @ContentChildren(SkyCardTitleComponent)\n public titleComponent: QueryList<SkyCardTitleComponent> | undefined;\n\n public showTitle = true;\n\n #subscription: Subscription | undefined;\n #_size = 'large';\n\n constructor(logger: SkyLogService) {\n logger.deprecated('SkyCardComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/design/guidelines/content-containers',\n replacementRecommendation:\n 'For other SKY UX components that group and list content, see the content containers guidelines.',\n });\n }\n\n public ngAfterContentInit(): void {\n this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;\n\n this.#subscription = this.titleComponent?.changes.subscribe(() => {\n this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;\n });\n\n this.inlineDeleteComponent?.forEach((item) => {\n item.setType(SkyInlineDeleteType.Card);\n });\n\n this.inlineDeleteComponent?.changes.subscribe(() => {\n this.inlineDeleteComponent?.forEach((item) => {\n item.setType(SkyInlineDeleteType.Card);\n });\n });\n }\n\n public contentClick(): void {\n if (this.selectable) {\n this.selected = !this.selected;\n this.selectedChange.emit(this.selected);\n }\n }\n\n public onCheckboxChange(newValue: boolean): void {\n if (this.selectable && this.selected !== newValue) {\n this.selected = newValue;\n this.selectedChange.emit(this.selected);\n }\n }\n\n public ngOnDestroy(): void {\n /* istanbul ignore else */\n /* sanity check */\n if (this.#subscription) {\n this.#subscription.unsubscribe();\n }\n }\n}\n","<section\n class=\"sky-card sky-shadow\"\n [ngClass]=\"\n {\n 'sky-card-small': size === 'small',\n 'sky-card-selectable': selectable,\n 'sky-card-selected': selectable &amp;&amp; selected\n }\"\n>\n <ng-content select=\"sky-inline-delete\" />\n <header>\n @if (selectable || showTitle) {\n <div class=\"sky-card-header\" (click)=\"contentClick()\">\n <div class=\"sky-card-heading-middle\">\n @if (showTitle) {\n <h1 class=\"sky-card-title sky-section-heading\">\n <ng-content select=\"sky-card-title\" />\n </h1>\n }\n </div>\n @if (selectable) {\n <div class=\"sky-card-check\">\n <sky-checkbox\n [label]=\"'skyux_card_checkbox_label' | skyLibResources\"\n [ngModel]=\"selected\"\n (click)=\"$event.stopPropagation()\"\n (ngModelChange)=\"onCheckboxChange($event)\"\n />\n </div>\n }\n </div>\n }\n </header>\n <div\n class=\"sky-card-content sky-padding-even-default\"\n (click)=\"contentClick()\"\n >\n <ng-content select=\"sky-card-content\" />\n </div>\n <div\n #actionsEl\n class=\"sky-card-actions\"\n [hidden]=\"actionsEl.children.length === 0\"\n >\n <ng-content select=\"sky-card-actions\" />\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyInlineDeleteModule } from '../inline-delete/inline-delete.module';\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyCardActionsComponent } from './card-actions.component';\nimport { SkyCardContentComponent } from './card-content.component';\nimport { SkyCardTitleComponent } from './card-title.component';\nimport { SkyCardComponent } from './card.component';\n\n/**\n * @deprecated `SkyCardModule` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.\n */\n@NgModule({\n declarations: [\n SkyCardActionsComponent,\n SkyCardComponent,\n SkyCardContentComponent,\n SkyCardTitleComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SkyCheckboxModule,\n SkyLayoutResourcesModule,\n SkyInlineDeleteModule,\n ],\n exports: [\n SkyCardActionsComponent,\n SkyCardComponent,\n SkyCardContentComponent,\n SkyCardTitleComponent,\n ],\n})\nexport class SkyCardModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Wraps the label-value pairs in the definition list.\n * @deprecated Use `SkyDescriptionListContentComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list-content',\n templateUrl: './definition-list-content.component.html',\n styleUrls: ['./definition-list-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListContentComponent {}\n","<div class=\"sky-definition-list-content\">\n <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a title for the definition list.\n * @deprecated\n */\n@Component({\n selector: 'sky-definition-list-heading',\n templateUrl: './definition-list-heading.component.html',\n styleUrls: ['./definition-list-heading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListHeadingComponent {}\n","<div class=\"sky-subsection-heading sky-definition-list-heading\">\n <ng-content />\n</div>\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDefinitionListService {\n public labelWidth = new BehaviorSubject<string | undefined>('');\n\n public defaultValue = new BehaviorSubject<string | undefined>('');\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Specifies the label in a label-value pair.\n * @deprecated Use `SkyDescriptionListTermComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list-label',\n templateUrl: './definition-list-label.component.html',\n styleUrls: ['./definition-list-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListLabelComponent {\n public labelWidth: number | undefined;\n\n constructor(public service: SkyDefinitionListService) {}\n}\n","<div\n class=\"sky-field-label sky-definition-list-label\"\n [ngStyle]=\"{\n width: (service.labelWidth | async) || ''\n }\"\n>\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Specifies the value in a label-value pair.\n * @deprecated Use `SkyDescriptionListDescriptionComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list-value',\n templateUrl: './definition-list-value.component.html',\n styleUrls: ['./definition-list-value.component.scss'],\n standalone: false,\n})\nexport class SkyDefinitionListValueComponent {\n public defaultValue: string | undefined;\n\n constructor(public service: SkyDefinitionListService) {}\n}\n","<div class=\"sky-definition-list-value\">\n <span #valueEl>\n <ng-content />\n </span>\n @if (!valueEl.textContent?.trim()) {\n <span class=\"sky-deemphasized\">\n {{\n (service.defaultValue | async) ||\n ('skyux_definition_list_none_found' | skyLibResources)\n }}\n </span>\n }\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Creates a definition list to display label-value pairs.\n * @deprecated Use `SkyDescriptionListComponent` instead.\n */\n@Component({\n selector: 'sky-definition-list',\n templateUrl: './definition-list.component.html',\n styleUrls: ['./definition-list.component.scss'],\n providers: [SkyDefinitionListService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDefinitionListComponent {\n /**\n * The width of the label portion of the definition list.\n * @default \"90px\"\n */\n @Input()\n public set labelWidth(value: string | undefined) {\n this.service.labelWidth.next(value);\n }\n\n /**\n * The default value to display when no value is provided\n * for a label-value pair.\n * @default \"None found\"\n */\n @Input()\n public set defaultValue(value: string | undefined) {\n this.service.defaultValue.next(value);\n }\n\n constructor(\n public service: SkyDefinitionListService,\n logger: SkyLogService,\n ) {\n logger.deprecated('SkyDefinitionListComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/description-list',\n replacementRecommendation: 'Use `SkyDescriptionListComponent` instead.',\n });\n }\n}\n","<div class=\"sky-definition-list\">\n <ng-content select=\"sky-definition-list-heading\" />\n <ng-content select=\"sky-definition-list-content\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyDefinitionListContentComponent } from './definition-list-content.component';\nimport { SkyDefinitionListHeadingComponent } from './definition-list-heading.component';\nimport { SkyDefinitionListLabelComponent } from './definition-list-label.component';\nimport { SkyDefinitionListValueComponent } from './definition-list-value.component';\nimport { SkyDefinitionListComponent } from './definition-list.component';\n\n/**\n * @deprecated Use `SkyDescriptionListModule` instead.\n */\n@NgModule({\n declarations: [\n SkyDefinitionListComponent,\n SkyDefinitionListContentComponent,\n SkyDefinitionListHeadingComponent,\n SkyDefinitionListLabelComponent,\n SkyDefinitionListValueComponent,\n ],\n imports: [CommonModule, SkyLayoutResourcesModule],\n exports: [\n SkyDefinitionListComponent,\n SkyDefinitionListContentComponent,\n SkyDefinitionListHeadingComponent,\n SkyDefinitionListLabelComponent,\n SkyDefinitionListValueComponent,\n ],\n})\nexport class SkyDefinitionListModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDescriptionListService implements OnDestroy {\n public get defaultDescription(): Observable<string> {\n return this.#_defaultDescription.asObservable();\n }\n\n #_defaultDescription = new BehaviorSubject<string>('');\n\n public ngOnDestroy(): void {\n this.#_defaultDescription.complete();\n }\n\n public updateDefaultDescription(value: string): void {\n this.#_defaultDescription.next(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDescriptionListService } from './description-list.service';\n\n/**\n * Specifies the description in a term-description pair.\n */\n@Component({\n selector: 'sky-description-list-description',\n templateUrl: './description-list-description.component.html',\n styleUrls: ['./description-list-description.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDescriptionListDescriptionComponent\n implements OnDestroy, OnInit\n{\n public defaultDescription: string | undefined;\n\n public themeName: string | undefined;\n\n @ViewChild('descriptionTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public templateRef!: TemplateRef<unknown> | undefined;\n\n #changeDetector: ChangeDetectorRef;\n #ngUnsubscribe = new Subject<void>();\n #themeSvc: SkyThemeService | undefined;\n\n constructor(\n public service: SkyDescriptionListService,\n changeDetector: ChangeDetectorRef,\n @Optional() themeSvc?: SkyThemeService,\n ) {\n this.#changeDetector = changeDetector;\n this.#themeSvc = themeSvc;\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n this.themeName = themeSettings.currentSettings.theme.name;\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<ng-template #descriptionTemplateRef>\n <span skyTrim class=\"sky-description-list-description\"\n ><ng-content></ng-content\n ></span>\n <span\n class=\"sky-description-list-default-value\"\n data-sky-id=\"sky-description-list-default-value\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{\n (service.defaultDescription | async) ||\n ('skyux_description_list_none_found' | skyLibResources)\n }}\n </span>\n</ng-template>\n","import { Component, TemplateRef, ViewChild, inject } from '@angular/core';\n\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\n\n/**\n * Specifies the term in a term-description pair. To display a help button beside\n * the term, include a help button element in the sky-description-list-term element\n * and a sky-control-help CSS class on that element.\n */\n@Component({\n selector: 'sky-description-list-term',\n templateUrl: './description-list-term.component.html',\n styleUrl: './description-list-term.component.scss',\n standalone: false,\n})\nexport class SkyDescriptionListTermComponent {\n @ViewChild('termTemplateRef', {\n read: TemplateRef,\n static: true,\n })\n public templateRef: TemplateRef<unknown> | undefined;\n\n protected readonly content = inject(SkyDescriptionListContentComponent, {\n optional: true,\n });\n}\n","<ng-template #termTemplateRef\n ><span #term=\"skyId\" skyTrim skyId class=\"description-list-term\"\n ><ng-content /></span\n ><span class=\"sky-control-help-container\">\n @if (content?.helpPopoverContent || content?.helpKey) {\n <sky-help-inline\n [labelledBy]=\"term.id\"\n [helpKey]=\"content?.helpKey\"\n [popoverTitle]=\"content?.helpPopoverTitle\"\n [popoverContent]=\"content?.helpPopoverContent\"\n />\n } @else {\n <ng-content select=\".sky-control-help\" />\n }</span\n></ng-template>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\n\nimport { SkyDescriptionListDescriptionComponent } from './description-list-description.component';\nimport { SkyDescriptionListTermComponent } from './description-list-term.component';\n\n/**\n * Wraps the term-description pairs in the description list.\n */\n@Component({\n selector: 'sky-description-list-content',\n templateUrl: './description-list-content.component.html',\n standalone: false,\n})\nexport class SkyDescriptionListContentComponent {\n @ContentChildren(SkyDescriptionListTermComponent)\n public termComponents: QueryList<SkyDescriptionListTermComponent> | undefined;\n\n @ContentChildren(SkyDescriptionListDescriptionComponent)\n public descriptionComponents:\n | QueryList<SkyDescriptionListDescriptionComponent>\n | undefined;\n\n /**\n * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n * placed beside the description list content label. Clicking the button invokes global help as configured by the application.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the description list content. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n}\n","<ng-content />\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDescriptionListAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getWidth(elementRef: ElementRef): number {\n return elementRef.nativeElement.clientWidth;\n }\n\n public setResponsiveClass(element: ElementRef): void {\n const nativeEl: any = element.nativeElement;\n const width = this.getWidth(element);\n const className = this.#getResponsiveClassName(width);\n\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-xs');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-sm');\n this.#renderer.removeClass(nativeEl, 'sky-responsive-container-md');\n\n this.#renderer.addClass(nativeEl, className);\n }\n\n #getResponsiveClassName(width: number): string {\n const xsBreakpointMaxPixels = 479;\n const smBreakpointMinPixels = 480;\n const smBreakpointMaxPixels = 767;\n\n if (width <= xsBreakpointMaxPixels) {\n return 'sky-responsive-container-xs';\n } else if (\n width >= smBreakpointMinPixels &&\n width <= smBreakpointMaxPixels\n ) {\n return 'sky-responsive-container-sm';\n } else {\n return 'sky-responsive-container-md';\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n QueryList,\n ViewChild,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDescriptionListAdapterService } from './description-list-adapter-service';\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\nimport { SkyDescriptionListService } from './description-list.service';\nimport { SkyDescriptionListModeType } from './types/description-list-mode-type';\n\n/**\n * Creates a description list to display term-description pairs.\n */\n@Component({\n selector: 'sky-description-list',\n templateUrl: './description-list.component.html',\n styleUrls: ['./description-list.component.scss'],\n providers: [SkyDescriptionListAdapterService, SkyDescriptionListService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyDescriptionListComponent\n implements AfterContentInit, OnDestroy\n{\n /**\n * The default description to display when no description is provided\n * for a term-description pair.\n * @default \"None found\"\n */\n @Input()\n public set defaultDescription(value: string) {\n this.#descriptionListService.updateDefaultDescription(value);\n }\n\n /**\n * The width of term-description pairs when `mode` is set to `\"horizontal\"`. By default,\n * the width is responsive based on the width of the container element.\n */\n @Input()\n public listItemWidth: string | undefined;\n\n /**\n * How to display term-description pairs within the description list.\n * @default \"vertical\"\n */\n @Input()\n public set mode(value: SkyDescriptionListModeType | undefined) {\n this.#_mode = value || 'vertical';\n }\n\n public get mode(): SkyDescriptionListModeType {\n return this.#_mode;\n }\n\n @ContentChildren(SkyDescriptionListContentComponent)\n public contentComponents:\n | QueryList<SkyDescriptionListContentComponent>\n | undefined;\n\n @ViewChild('descriptionListElement', {\n read: ElementRef,\n static: true,\n })\n public elementRef: ElementRef | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #_mode: SkyDescriptionListModeType = 'vertical';\n\n #adapterService: SkyDescriptionListAdapterService;\n #changeDetector: ChangeDetectorRef;\n #descriptionListService: SkyDescriptionListService;\n\n constructor(\n adapterService: SkyDescriptionListAdapterService,\n changeDetector: ChangeDetectorRef,\n descriptionListService: SkyDescriptionListService,\n ) {\n this.#adapterService = adapterService;\n this.#changeDetector = changeDetector;\n this.#descriptionListService = descriptionListService;\n }\n\n public ngAfterContentInit(): void {\n // Wait for all content to render before detecting parent width.\n setTimeout(() => {\n this.#updateResponsiveClass();\n });\n\n // istanbul ignore else\n if (this.contentComponents) {\n this.contentComponents.changes\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n @HostListener('window:resize')\n public onWindowResize(): void {\n this.#updateResponsiveClass();\n }\n\n #updateResponsiveClass(): void {\n if (this.elementRef) {\n this.#adapterService.setResponsiveClass(this.elementRef);\n this.#changeDetector.markForCheck();\n }\n }\n}\n","<dl\n #descriptionListElement\n class=\"sky-description-list\"\n [ngClass]=\"{\n 'sky-description-list-long-description-mode': mode === 'longDescription',\n 'sky-description-list-vertical-mode': mode === 'vertical',\n 'sky-description-list-horizontal-mode': mode === 'horizontal'\n }\"\n>\n <!--\n Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n to avoid adding non-semantic HTML tags to DOM\n -->\n @for (contentComponent of contentComponents; track contentComponent) {\n <div\n class=\"sky-description-list-content\"\n [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n >\n @for (\n termComponent of contentComponent?.termComponents;\n track termComponent\n ) {\n <dt>\n @if (termComponent.templateRef) {\n <ng-container *ngTemplateOutlet=\"termComponent.templateRef\" />\n }\n </dt>\n }\n @for (\n descriptionComponent of contentComponent?.descriptionComponents;\n track descriptionComponent\n ) {\n <dd>\n @if (descriptionComponent.templateRef) {\n <ng-container\n *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n />\n }\n </dd>\n }\n </div>\n }\n</dl>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\nimport { SkyDescriptionListDescriptionComponent } from './description-list-description.component';\nimport { SkyDescriptionListTermComponent } from './description-list-term.component';\nimport { SkyDescriptionListComponent } from './description-list.component';\n\n@NgModule({\n declarations: [\n SkyDescriptionListComponent,\n SkyDescriptionListContentComponent,\n SkyDescriptionListTermComponent,\n SkyDescriptionListDescriptionComponent,\n ],\n imports: [\n CommonModule,\n SkyHelpInlineModule,\n SkyIdModule,\n SkyLayoutResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [\n SkyDescriptionListComponent,\n SkyDescriptionListContentComponent,\n SkyDescriptionListTermComponent,\n SkyDescriptionListDescriptionComponent,\n ],\n})\nexport class SkyDescriptionListModule {}\n","/**\n * @deprecated Use `SkyDescriptionListModeType` instead.\n * @internal\n * How to display the term-description pairs within a description list.\n */\nexport enum SkyDescriptionListMode {\n /**\n * Displays term-description pairs side by side in a horizontal list.\n * This mode provides a responsive layout.\n */\n horizontal = 'horizontal',\n\n /**\n * Displays terms and descriptions side by side with the term on the left and the description\n * on the right. This mode includes room for long descriptions and uses a responsive layout\n * that stacks term-description pairs vertically.\n */\n longDescription = 'longDescription',\n\n /**\n * Displays term-description pairs in a vertical list.\n */\n vertical = 'vertical',\n}\n","import {\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Displays a column within a row of the fluid grid.\n */\n@Component({\n selector: 'sky-column',\n templateUrl: './column.component.html',\n styleUrls: ['./column.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyColumnComponent implements OnInit, OnChanges {\n /**\n * The number of columns (1-12) on extra-small screens\n * (less than 768px). If you do not specify a value, the fluid grid displays\n * the column at the full width of the screen.\n * @default 12\n */\n @Input()\n public set screenXSmall(value: number | undefined) {\n this.#_screenXSmall = value ?? 12;\n }\n\n public get screenXSmall(): number {\n return this.#_screenXSmall;\n }\n\n /**\n * The number of columns (1-12) on small screens\n * (768-991px). If you do not specify a value, the column inherits\n * the `screenXSmall` value.\n */\n @Input()\n public screenSmall: number | undefined;\n\n /**\n * The number of columns (1-12) on medium screens\n * (992-1199px). If you do not specify a value, the column inherits\n * the `screenSmall` value.\n */\n @Input()\n public screenMedium: number | undefined;\n\n /**\n * The number of columns (1-12) on large screens\n * (more than 1200px). If you do not specify a value, the column\n * inherits the `screenMedium` value.\n */\n @Input()\n public screenLarge: number | undefined;\n\n @HostBinding('class')\n public classnames: string | undefined;\n\n #_screenXSmall = 12;\n\n public ngOnChanges(changes: SimpleChanges): void {\n /* istanbul ignore else */\n if (\n changes['screenXSmall'] ||\n changes['screenSmall'] ||\n changes['screenMedium'] ||\n changes['screenLarge']\n ) {\n this.classnames = this.getClassNames();\n }\n }\n\n public getClassNames(): string {\n const classnames = ['sky-column'];\n\n if (this.screenXSmall) {\n classnames.push(`sky-column-xs-${this.screenXSmall}`);\n }\n\n if (this.screenSmall) {\n classnames.push(`sky-column-sm-${this.screenSmall}`);\n }\n\n if (this.screenMedium) {\n classnames.push(`sky-column-md-${this.screenMedium}`);\n }\n\n if (this.screenLarge) {\n classnames.push(`sky-column-lg-${this.screenLarge}`);\n }\n\n return classnames.join(' ');\n }\n\n public ngOnInit(): void {\n this.classnames = this.getClassNames();\n }\n}\n","<ng-content />\n","import { Component, Input } from '@angular/core';\n\nimport { SkyFluidGridGutterSizeType } from './types/fluid-grid-gutter-size-type';\n\n/**\n * Wraps the fluid grid to ensure proper spacing. Without the wrapper, the\n * alignment, padding, and margins do not behave as expected.\n */\n@Component({\n selector: 'sky-fluid-grid',\n templateUrl: './fluid-grid.component.html',\n styleUrls: ['./fluid-grid.component.scss'],\n standalone: false,\n})\nexport class SkyFluidGridComponent {\n /**\n * Disables the outer left and right margin of the fluid grid container.\n * @default false\n */\n @Input()\n public disableMargin: boolean | undefined = false;\n\n /**\n * The type that defines the size of the padding\n * between columns.\n * @default \"large\"\n */\n @Input()\n public set gutterSize(value: SkyFluidGridGutterSizeType | undefined) {\n this.#_gutterSize = value ?? 'large';\n }\n\n public get gutterSize(): SkyFluidGridGutterSizeType {\n return this.#_gutterSize;\n }\n\n #_gutterSize: SkyFluidGridGutterSizeType = 'large';\n}\n","<div\n class=\"sky-fluid-grid\"\n [ngClass]=\"{\n 'sky-fluid-grid-gutter-size-small': gutterSize === 'small',\n 'sky-fluid-grid-gutter-size-medium': gutterSize === 'medium',\n 'sky-fluid-grid-gutter-size-large': gutterSize === 'large',\n 'sky-fluid-grid-no-margin': disableMargin\n }\"\n>\n <ng-content />\n</div>\n","import { Component, Input } from '@angular/core';\n\n/**\n * Displays a row within the `sky-fluid-grid` wrapper. Previously, you could display a row\n * without a wrapper, but we no longer officially support that option.\n */\n@Component({\n selector: 'sky-row',\n templateUrl: './row.component.html',\n styleUrls: ['./row.component.scss'],\n standalone: false,\n})\nexport class SkyRowComponent {\n /**\n * Whether to reverse the display order for columns in the row.\n * @default false\n */\n @Input()\n public reverseColumnOrder: boolean | undefined = false;\n}\n","<div class=\"sky-row\" [ngClass]=\"{ 'sky-row-reverse': reverseColumnOrder }\">\n <ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyColumnComponent } from './column.component';\nimport { SkyFluidGridComponent } from './fluid-grid.component';\nimport { SkyRowComponent } from './row.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SkyRowComponent, SkyColumnComponent, SkyFluidGridComponent],\n exports: [SkyRowComponent, SkyColumnComponent, SkyFluidGridComponent],\n})\nexport class SkyFluidGridModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\n\nimport { SkyFormatItem } from './format-item';\n\nconst tokenRegex = /(\\{\\d+\\})/;\n\n@Component({\n selector: 'sky-format',\n templateUrl: './format.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFormatComponent {\n public itemsForDisplay: SkyFormatItem[] = [];\n\n /**\n * The tokenized string that represents the template. Tokens use the `{n}` notation\n * where `n` is the ordinal of the item to replace the token.\n */\n @Input()\n public set text(value: string | undefined) {\n this.#_text = value;\n this.#updateItemsForDisplay();\n }\n\n public get text(): string | undefined {\n return this.#_text;\n }\n\n /**\n * An array of `TemplateRef` objects to be placed in the template, where the `nth`\n * item is placed at the `{n}` location in the template.\n */\n @Input()\n public set args(value: TemplateRef<any>[] | undefined) {\n this.#_args = value;\n this.#updateItemsForDisplay();\n }\n\n public get args(): TemplateRef<any>[] | undefined {\n return this.#_args;\n }\n\n #_text: string | undefined;\n\n #_args: TemplateRef<any>[] | undefined;\n\n #updateItemsForDisplay(): void {\n this.itemsForDisplay = [];\n\n if (this.text && this.args) {\n const textParts = this.text.split(tokenRegex);\n\n for (const textPart of textParts) {\n // Disregard empty strings.\n if (textPart) {\n const item: SkyFormatItem = {};\n\n if (tokenRegex.test(textPart)) {\n const valueIndex = +textPart.substring(1, textPart.length - 1);\n\n item.templateRef = this.args[valueIndex];\n } else {\n item.text = textPart;\n }\n\n this.itemsForDisplay.push(item);\n }\n }\n }\n }\n}\n","@for (item of itemsForDisplay; track item) {\n @if (item.text) {\n <ng-container>{{ item.text }}</ng-container>\n } @else if (item.templateRef) {\n <ng-container *ngTemplateOutlet=\"item.templateRef\" />\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyFormatComponent } from './format.component';\n\n@NgModule({\n declarations: [SkyFormatComponent],\n imports: [CommonModule],\n exports: [SkyFormatComponent],\n})\nexport class SkyFormatModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPageThemeAdapterService {\n #styleEl: HTMLStyleElement | undefined;\n\n #document: Document;\n\n constructor(@Inject(DOCUMENT) document: Document) {\n this.#document = document;\n }\n\n /**\n * We can't use ViewEncapsulation.None for this behavior because Angular does\n * not remove `style` tags from the HEAD element after route changes.\n * @see https://github.com/angular/angular/issues/16670\n */\n public addTheme(): void {\n if (!this.#styleEl) {\n this.#styleEl = this.#document.createElement('style');\n this.#styleEl.appendChild(\n this.#document.createTextNode(\n 'body:not(.sky-theme-modern) { background-color: #fff; }',\n ),\n );\n\n this.#document.head.appendChild(this.#styleEl);\n }\n }\n\n public removeTheme(): void {\n if (this.#styleEl) {\n this.#styleEl.remove();\n this.#styleEl = undefined;\n }\n }\n}\n","import { Component, Input, OnDestroy, OnInit, inject } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SkyPageLayoutType } from './page-layout-type';\nimport { SkyPageThemeAdapterService } from './page-theme-adapter.service';\n\n/**\n * Displays page contents using the specified layout.\n * @docsId SkyPageComponentLegacy\n * @deprecated Use the `sky-page` component in `@skyux/pages` instead.\n */\n@Component({\n selector: 'sky-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n providers: [SkyPageThemeAdapterService],\n standalone: false,\n})\nexport class SkyPageComponent implements OnInit, OnDestroy {\n /**\n * The page layout. Use `auto` to allow the page contents\n * to expand beyond the bottom of the browser window. Use `fit`\n * to constrain the page contents to the available viewport.\n */\n @Input()\n public set layout(value: SkyPageLayoutType | undefined) {\n this.#_layout = value || 'auto';\n }\n\n public get layout(): SkyPageLayoutType {\n return this.#_layout;\n }\n\n #themeAdapter: SkyPageThemeAdapterService;\n\n #_layout: SkyPageLayoutType = 'auto';\n\n #logger = inject(SkyLogService);\n\n constructor(themeAdapter: SkyPageThemeAdapterService) {\n this.#logger.deprecated('SkyPageComponent', {\n deprecationMajorVersion: 8,\n moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/page',\n replacementRecommendation:\n 'Use the `sky-page` component in `@skyux/pages` instead.',\n });\n\n this.#themeAdapter = themeAdapter;\n }\n\n public ngOnInit(): void {\n this.#themeAdapter.addTheme();\n }\n\n public ngOnDestroy(): void {\n this.#themeAdapter.removeTheme();\n }\n}\n","<div [ngClass]=\"'sky-layout-host-' + layout\">\n <ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyPageComponent } from './page.component';\n\n/**\n * @docsId SkyPageModuleLegacy\n * @deprecated Use the SkyPageModule in `@skyux/pages` instead.\n */\n@NgModule({\n declarations: [SkyPageComponent],\n imports: [CommonModule],\n exports: [SkyPageComponent],\n})\nexport class SkyPageModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Displays messages that require immediate attention as [alerts](https://developer.blackbaud.com/skyux/components/alert) within\n * the page summary.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-alert',\n templateUrl: './page-summary-alert.component.html',\n styleUrls: ['./page-summary-alert.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryAlertComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Displays content in the arbitrary section of the page summary.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-content',\n templateUrl: './page-summary-content.component.html',\n styleUrls: ['./page-summary-content.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryContentComponent {}\n","<div class=\"sky-page-summary-content\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Displays an image in the page summary to identify a record\n * or help users complete a core task.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-image',\n templateUrl: './page-summary-image.component.html',\n styleUrls: ['./page-summary-image.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryImageComponent {}\n","<div class=\"sky-page-summary-image\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Highlights important information about a page in the key information section of the\n * page summary.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-key-info',\n templateUrl: './page-summary-key-info.component.html',\n styleUrls: ['./page-summary-key-info.component.scss'],\n standalone: false,\n})\nexport class SkyPageSummaryKeyInfoComponent {}\n","<div class=\"sky-page-summary-key-info\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Displays [labels](https://developer.blackbaud.com/skyux/components/label)\n * to highlight important status information about a page's content.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-status',\n templateUrl: './page-summary-status.component.html',\n styleUrls: ['./page-summary-status.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryStatusComponent {}\n","<div class=\"sky-page-summary-status\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a subtitle to identify the page content.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-subtitle',\n templateUrl: './page-summary-subtitle.component.html',\n styleUrls: ['./page-summary-subtitle.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummarySubtitleComponent {}\n","<p class=\"sky-page-summary-subtitle sky-emphasized\">\n <ng-content />\n</p>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a title to identify the page content.\n * @deprecated\n */\n@Component({\n selector: 'sky-page-summary-title',\n templateUrl: './page-summary-title.component.html',\n styleUrls: ['./page-summary-title.component.scss'],\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryTitleComponent {}\n","<h1 class=\"sky-page-summary-title sky-page-heading\">\n <ng-content />\n</h1>\n","import { ElementRef, Injectable } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPageSummaryAdapterService {\n public updateKeyInfoLocation(elRef: ElementRef, isXS: boolean): void {\n const el = elRef.nativeElement;\n const keyInfoContainerEl = el.querySelector(\n '.sky-page-summary-key-info-container',\n );\n\n if (isXS) {\n el.querySelector('.sky-page-summary-key-info-xs').appendChild(\n keyInfoContainerEl,\n );\n } else {\n el.querySelector('.sky-page-summary-key-info-sm').appendChild(\n keyInfoContainerEl,\n );\n }\n }\n}\n","import {\n Component,\n ElementRef,\n contentChildren,\n effect,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyLogService, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyPageSummaryAdapterService } from './page-summary-adapter.service';\nimport { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';\n\n/**\n * Specifies the components to display in the page summary.\n * @deprecated `SkyPageSummaryComponent` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.\n */\n@Component({\n selector: 'sky-page-summary',\n templateUrl: './page-summary.component.html',\n styleUrls: ['./page-summary.component.scss'],\n providers: [SkyPageSummaryAdapterService],\n standalone: false,\n})\nexport class SkyPageSummaryComponent {\n protected keyInfoComponents = contentChildren(SkyPageSummaryKeyInfoComponent);\n\n readonly #breakpoint = toSignal(\n inject(SkyMediaQueryService).breakpointChange,\n );\n\n constructor() {\n const adapter = inject(SkyPageSummaryAdapterService);\n const elRef = inject(ElementRef);\n\n inject(SkyLogService).deprecated('SkyPageSummaryComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',\n replacementRecommendation:\n \"We recommend using the page component's `sky-page-header` component instead. And for page templates and techniques to summarize page content, see the page design guidelines.\",\n });\n\n effect(() => {\n adapter.updateKeyInfoLocation(elRef, this.#breakpoint() === 'xs');\n });\n }\n}\n","<div\n class=\"sky-page-summary\"\n [ngClass]=\"{\n 'sky-page-summary-with-key-info': keyInfoComponents().length > 0\n }\"\n>\n <ng-content select=\"sky-page-summary-alert\" />\n <div class=\"sky-page-summary-row\">\n <div class=\"sky-page-summary-left\">\n <ng-content select=\"sky-page-summary-image\" />\n <div class=\"sky-page-summary-data\">\n <ng-content select=\"sky-page-summary-title\" />\n <ng-content select=\"sky-page-summary-subtitle\" />\n <ng-content select=\"sky-page-summary-status\" />\n <div class=\"sky-page-summary-key-info-xs\"></div>\n <ng-content select=\"sky-page-summary-content\" />\n </div>\n </div>\n <div class=\"sky-page-summary-key-info-sm\">\n <div class=\"sky-page-summary-key-info-container\">\n <ng-content select=\"sky-page-summary-key-info\" />\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyPageSummaryAlertComponent } from './page-summary-alert.component';\nimport { SkyPageSummaryContentComponent } from './page-summary-content.component';\nimport { SkyPageSummaryImageComponent } from './page-summary-image.component';\nimport { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';\nimport { SkyPageSummaryStatusComponent } from './page-summary-status.component';\nimport { SkyPageSummarySubtitleComponent } from './page-summary-subtitle.component';\nimport { SkyPageSummaryTitleComponent } from './page-summary-title.component';\nimport { SkyPageSummaryComponent } from './page-summary.component';\n\n/**\n * @deprecated `SkyPageSummaryModule` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.\n */\n@NgModule({\n declarations: [\n SkyPageSummaryAlertComponent,\n SkyPageSummaryComponent,\n SkyPageSummaryContentComponent,\n SkyPageSummaryImageComponent,\n SkyPageSummaryKeyInfoComponent,\n SkyPageSummaryStatusComponent,\n SkyPageSummarySubtitleComponent,\n SkyPageSummaryTitleComponent,\n ],\n imports: [CommonModule],\n exports: [\n SkyPageSummaryAlertComponent,\n SkyPageSummaryComponent,\n SkyPageSummaryContentComponent,\n SkyPageSummaryImageComponent,\n SkyPageSummaryKeyInfoComponent,\n SkyPageSummaryStatusComponent,\n SkyPageSummarySubtitleComponent,\n SkyPageSummaryTitleComponent,\n ],\n})\nexport class SkyPageSummaryModule {}\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyTextExpandAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getContainerHeight(containerEl: ElementRef): number {\n return containerEl.nativeElement.offsetHeight;\n }\n\n public removeContainerMaxHeight(containerEl: ElementRef): void {\n this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');\n }\n\n public setText(textEl: ElementRef, text: string): void {\n textEl.nativeElement.textContent = text;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { SkyTextExpandModalContext } from './text-expand-modal-context';\n\n/**\n * @internal\n */\nexport const SKY_TEXT_EXPAND_MODAL_CONTEXT =\n new InjectionToken<SkyTextExpandModalContext>('SkyTextExpandModalContext');\n","import { Component, Inject } from '@angular/core';\nimport { SkyModalInstance, SkyModalModule } from '@skyux/modals';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyTextExpandModalContext } from './text-expand-modal-context';\nimport { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-text-expand-modal',\n templateUrl: './text-expand-modal.component.html',\n styleUrls: ['./text-expand.component.scss'],\n imports: [SkyModalModule, SkyLayoutResourcesModule],\n})\nexport class SkyTextExpandModalComponent {\n constructor(\n @Inject(SKY_TEXT_EXPAND_MODAL_CONTEXT)\n public context: SkyTextExpandModalContext,\n public instance: SkyModalInstance,\n ) {}\n\n public close(): void {\n this.instance.close();\n }\n}\n","<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n AfterContentInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyModalService } from '@skyux/modals';\n\nimport { forkJoin as observableForkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTextExpandAdapterService } from './text-expand-adapter.service';\nimport { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';\nimport { SkyTextExpandModalComponent } from './text-expand-modal.component';\n\n/**\n * Auto-incrementing integer used to generate unique ids for text expand components.\n */\nlet nextId = 0;\n\n@Component({\n animations: [\n trigger('expansionAnimation', [\n transition(':enter', []),\n state(\n 'true',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n state(\n 'false',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n transition('true => false', animate('250ms ease')),\n transition('false => true', animate('250ms ease')),\n transition('void => *', []),\n ]),\n ],\n selector: 'sky-text-expand',\n templateUrl: './text-expand.component.html',\n styleUrls: ['./text-expand.component.scss'],\n providers: [SkyTextExpandAdapterService],\n standalone: false,\n})\nexport class SkyTextExpandComponent implements AfterContentInit {\n /**\n * The title to display when the component expands the full text in a modal.\n * @default \"Expanded view\"\n */\n @Input()\n public expandModalTitle: string | undefined;\n\n /**\n * The maximum number of text characters to display inline when users select the link\n * to expand the full text. If the text exceeds this limit, then the component expands\n * the full text in a modal instead.\n * @default 600\n */\n @Input()\n public set maxExpandedLength(value: number | undefined) {\n if (value) {\n this.#_maxExpandedLength = value;\n } else {\n this.#_maxExpandedLength = 600;\n }\n this.#setup(this.text);\n }\n\n public get maxExpandedLength(): number {\n return this.#_maxExpandedLength;\n }\n\n /**\n * The maximum number of newline characters to display inline when users select\n * the link to expand the full text. If the text exceeds this limit, then\n * the component expands the full text in a modal view instead.\n * @default 2\n */\n @Input()\n public set maxExpandedNewlines(value: number | undefined) {\n if (value) {\n this.#_maxExpandedNewlines = value;\n } else {\n this.#_maxExpandedNewlines = 2;\n }\n this.#setup(this.text);\n }\n\n public get maxExpandedNewlines(): number {\n return this.#_maxExpandedNewlines;\n }\n\n /**\n * The number of text characters to display before truncating the text.\n * To avoid truncating text in the middle of a word, the component looks for a space\n * in the 10 characters before the last character.\n * @default 200\n */\n @Input()\n public set maxLength(value: number | undefined) {\n if (value) {\n this.#_maxLength = value;\n } else {\n this.#_maxLength = 200;\n }\n this.#setup(this.text);\n }\n\n public get maxLength(): number {\n return this.#_maxLength;\n }\n\n /**\n * The text to truncate.\n */\n @Input()\n public set text(value: string | undefined) {\n this.#_text = value ?? '';\n this.#setup(this.#_text);\n }\n\n public get text(): string {\n return this.#_text;\n }\n\n /**\n * Whether to replace newline characters in truncated text with spaces.\n */\n @Input()\n public truncateNewlines = true;\n\n public buttonText = '';\n\n public contentSectionId = `sky-text-expand-content-${++nextId}`;\n\n public expandable = false;\n\n public isExpanded: boolean | undefined;\n\n public isModal = false;\n\n public transitionHeight = 1;\n\n @ViewChild('container', {\n read: ElementRef,\n static: true,\n })\n public containerEl: ElementRef | undefined;\n\n @ViewChild('text', {\n read: ElementRef,\n static: true,\n })\n public set textEl(value: ElementRef | undefined) {\n this.#_textEl = value;\n this.#setup(this.text);\n }\n\n public get textEl(): ElementRef | undefined {\n return this.#_textEl;\n }\n\n #collapsedText = '';\n\n #newlineCount = 0;\n\n #seeMoreText = '';\n\n #seeLessText = '';\n\n #textToShow = '';\n\n #_maxExpandedLength = 600;\n\n #_maxExpandedNewlines = 2;\n\n #_maxLength = 200;\n\n #_text = '';\n\n #_textEl: ElementRef | undefined;\n\n #resources: SkyLibResourcesService;\n #modalSvc: SkyModalService;\n #textExpandAdapter: SkyTextExpandAdapterService;\n\n constructor(\n resources: SkyLibResourcesService,\n modalSvc: SkyModalService,\n textExpandAdapter: SkyTextExpandAdapterService,\n ) {\n this.#resources = resources;\n this.#modalSvc = modalSvc;\n this.#textExpandAdapter = textExpandAdapter;\n }\n\n public textExpand(): void {\n if (this.isModal) {\n // Modal View\n /* istanbul ignore else */\n /* sanity check */\n if (!this.isExpanded) {\n this.#modalSvc.open(SkyTextExpandModalComponent, [\n {\n provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,\n useValue: {\n header: this.expandModalTitle,\n text: this.text,\n },\n },\n ]);\n }\n } else {\n // Normal View\n if (!this.isExpanded) {\n this.#animateText(true);\n } else {\n this.#animateText(false);\n }\n }\n }\n\n public animationEnd(): void {\n if (this.textEl && this.containerEl) {\n // Ensure the correct text is displayed\n this.#textExpandAdapter.setText(this.textEl, this.#textToShow);\n\n setTimeout(() => {\n if (this.containerEl) {\n // Set height back to auto so the browser can change the height as needed with window changes\n this.#textExpandAdapter.removeContainerMaxHeight(this.containerEl);\n }\n });\n }\n }\n\n public ngAfterContentInit(): void {\n observableForkJoin([\n this.#resources.getString('skyux_text_expand_see_more'),\n this.#resources.getString('skyux_text_expand_see_less'),\n ])\n .pipe(take(1))\n .subscribe((resources) => {\n this.#seeMoreText = resources[0];\n this.#seeLessText = resources[1];\n this.#setup(this.text);\n\n /* istanbul ignore else */\n if (!this.expandModalTitle) {\n this.#resources\n .getString('skyux_text_expand_modal_title')\n .pipe(take(1))\n .subscribe((resource) => {\n this.expandModalTitle = resource;\n });\n }\n });\n }\n\n #setup(value: string | undefined): void {\n if (value) {\n this.#newlineCount = this.#getNewlineCount(value);\n this.#collapsedText = this.#getTruncatedText(value, this.maxLength);\n if (this.#collapsedText !== value) {\n this.buttonText = this.#seeMoreText;\n this.isExpanded = false;\n this.expandable = true;\n this.isModal =\n this.#newlineCount > this.maxExpandedNewlines ||\n this.text.length > this.maxExpandedLength;\n } else {\n this.expandable = false;\n }\n this.#textToShow = this.#collapsedText;\n } else {\n this.#textToShow = '';\n this.expandable = false;\n }\n if (this.textEl) {\n this.#textExpandAdapter.setText(this.textEl, this.#textToShow);\n }\n }\n\n #getNewlineCount(value: string): number {\n const matches = value.match(/\\n/gi);\n\n if (matches) {\n return matches.length;\n }\n\n return 0;\n }\n\n #getTruncatedText(value: string, length: number): string {\n let i: number;\n if (this.truncateNewlines) {\n value = value.replace(/\\n+/gi, ' ');\n }\n // Jump ahead one character and see if it's a space, and if it isn't,\n // back up to the first space and break there so a word doesn't get cut\n // in half.\n if (length < value.length) {\n for (i = length; i > length - 10; i--) {\n if (/\\s/.test(value.charAt(i))) {\n length = i;\n break;\n }\n }\n }\n return value.substring(0, length);\n }\n\n #animateText(expanding: boolean): void {\n if (this.containerEl && this.textEl) {\n const adapter = this.#textExpandAdapter;\n const container = this.containerEl;\n if (expanding) {\n adapter.setText(this.textEl, this.text);\n this.#textToShow = this.text;\n } else {\n adapter.setText(this.textEl, this.#collapsedText);\n this.#textToShow = this.#collapsedText;\n }\n this.buttonText = expanding ? this.#seeLessText : this.#seeMoreText;\n // Measure the new height so we can animate to it.\n const newHeight = adapter.getContainerHeight(container);\n this.transitionHeight = newHeight;\n // Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.\n if (!expanding) {\n adapter.setText(this.textEl, this.text);\n }\n this.isExpanded = expanding;\n }\n }\n}\n","<div\n #container\n class=\"sky-text-expand-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n>\n <span #text class=\"sky-text-expand-text\" [id]=\"contentSectionId\"></span>\n @if (expandable) {\n @if (!isExpanded) {\n <span class=\"sky-text-expand-ellipsis\">... </span>\n }\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkyTextExpandComponent } from './text-expand.component';\n\n@NgModule({\n declarations: [SkyTextExpandComponent],\n exports: [SkyTextExpandComponent],\n})\nexport class SkyTextExpandModule {}\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyTextExpandRepeaterAdapterService {\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public getItems(elRef: ElementRef): NodeListOf<HTMLElement> {\n return (elRef.nativeElement as HTMLElement).querySelectorAll(\n '.sky-text-expand-repeater-item',\n ) as NodeListOf<HTMLElement>;\n }\n\n public hideItem(item: HTMLElement): void {\n this.#renderer.setStyle(item, 'display', 'none');\n }\n\n public showItem(item: HTMLElement): void {\n this.#renderer.removeStyle(item, 'display');\n }\n\n public getContainerHeight(containerEl: ElementRef): number {\n return containerEl.nativeElement.offsetHeight;\n }\n\n public removeContainerMaxHeight(containerEl: ElementRef): void {\n this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');\n }\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { forkJoin as observableForkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTextExpandRepeaterAdapterService } from './text-expand-repeater-adapter.service';\nimport { SkyTextExpandRepeaterListStyleType } from './types/text-expand-repeater-list-style-type';\n\n/**\n * Auto-incrementing integer used to generate unique ids for text expand repeater components.\n */\nlet nextId = 0;\n\n@Component({\n animations: [\n trigger('expansionAnimation', [\n transition(':enter', []),\n state(\n 'true',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n state(\n 'false',\n style({\n maxHeight: '{{transitionHeight}}px',\n }),\n { params: { transitionHeight: 0 } },\n ),\n transition('true => false', animate('250ms ease')),\n transition('false => true', animate('250ms ease')),\n transition('void => *', []),\n ]),\n ],\n selector: 'sky-text-expand-repeater',\n templateUrl: './text-expand-repeater.component.html',\n styleUrls: ['./text-expand-repeater.component.scss'],\n providers: [SkyTextExpandRepeaterAdapterService],\n standalone: false,\n})\nexport class SkyTextExpandRepeaterComponent implements AfterViewInit {\n /**\n * The data to truncate.\n */\n @Input()\n public set data(value: any[] | undefined) {\n this.#_data = value;\n\n // Wait for the dom to render the new items based on the updated data\n setTimeout(() => {\n this.#htmlItems = this.#textExpandRepeaterAdapter.getItems(this.#elRef);\n this.#setup(value);\n });\n }\n\n public get data(): any[] | undefined {\n return this.#_data;\n }\n\n /**\n * The template for items in the list.\n */\n @Input()\n public itemTemplate: TemplateRef<unknown> | undefined;\n\n /**\n * The style of bullet to use\n * @default \"unordered\"\n */\n @Input()\n public listStyle: SkyTextExpandRepeaterListStyleType | undefined =\n 'unordered';\n\n /**\n * The number of items to display before truncating the list. If not supplied, all items are shown.\n */\n @Input()\n public set maxItems(value: number | undefined) {\n this.#_maxItems = value;\n this.#setup(this.data);\n }\n\n public get maxItems(): number | undefined {\n return this.#_maxItems;\n }\n\n public buttonText = '';\n public expandable = false;\n public contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;\n\n public isExpanded: boolean | undefined;\n public transitionHeight = 1;\n\n #seeMoreText = '';\n #seeLessText = '';\n\n @ViewChild('container', {\n read: ElementRef,\n static: false,\n })\n public containerEl: ElementRef | undefined;\n\n #htmlItems: NodeListOf<HTMLElement> | undefined;\n\n #_data: any[] | undefined;\n #_maxItems: number | undefined;\n\n #resources: SkyLibResourcesService;\n #elRef: ElementRef;\n #textExpandRepeaterAdapter: SkyTextExpandRepeaterAdapterService;\n #changeDetector: ChangeDetectorRef;\n\n constructor(\n resources: SkyLibResourcesService,\n elRef: ElementRef,\n textExpandRepeaterAdapter: SkyTextExpandRepeaterAdapterService,\n changeDetector: ChangeDetectorRef,\n ) {\n this.#resources = resources;\n this.#elRef = elRef;\n this.#textExpandRepeaterAdapter = textExpandRepeaterAdapter;\n this.#changeDetector = changeDetector;\n }\n\n public ngAfterViewInit(): void {\n observableForkJoin([\n this.#resources.getString('skyux_text_expand_see_more'),\n this.#resources.getString('skyux_text_expand_see_less'),\n ])\n .pipe(take(1))\n .subscribe((resources) => {\n this.#seeMoreText = resources[0];\n this.#seeLessText = resources[1];\n /* sanity check */\n /* istanbul ignore else */\n if (!this.isExpanded) {\n this.buttonText = this.#seeMoreText;\n } else {\n this.buttonText = this.#seeLessText;\n }\n this.#changeDetector.detectChanges();\n });\n }\n\n public animationEnd(): void {\n // Ensure all items that should be hidden are hidden. This is because we need them shown during the animation window for visual purposes.\n if (!this.isExpanded) {\n this.#hideItems();\n }\n\n // This set timeout is needed as the `animationEnd` function is called by the angular animation callback prior to the animation setting the style on the element\n setTimeout(() => {\n if (this.containerEl) {\n // Set height back to auto so the browser can change the height as needed with window changes\n this.#textExpandRepeaterAdapter.removeContainerMaxHeight(\n this.containerEl,\n );\n }\n });\n }\n\n public repeaterExpand(): void {\n if (!this.isExpanded) {\n this.#animateRepeater(true);\n } else {\n this.#animateRepeater(false);\n }\n }\n\n #animateRepeater(expanding: boolean): void {\n const adapter = this.#textExpandRepeaterAdapter;\n const container = this.containerEl;\n if (container) {\n if (expanding) {\n this.#showItems();\n } else {\n this.#hideItems();\n }\n const newHeight = adapter.getContainerHeight(container);\n this.transitionHeight = newHeight;\n if (!expanding) {\n this.buttonText = this.#seeMoreText;\n } else {\n this.buttonText = this.#seeLessText;\n }\n if (!expanding) {\n // Show all items during animation for visual purposes.\n this.#showItems();\n }\n this.isExpanded = expanding;\n }\n }\n\n #setup(value: unknown[] | undefined): void {\n if (value) {\n const length = value.length;\n if (this.maxItems && length > this.maxItems) {\n this.expandable = true;\n this.buttonText = this.#seeMoreText;\n this.#hideItems();\n if (this.containerEl) {\n this.transitionHeight =\n this.#textExpandRepeaterAdapter.getContainerHeight(\n this.containerEl,\n );\n }\n this.isExpanded = false;\n } else {\n this.expandable = false;\n this.isExpanded = undefined;\n }\n } else {\n this.expandable = false;\n this.isExpanded = undefined;\n }\n this.#changeDetector.markForCheck();\n }\n\n #hideItems(): void {\n if (this.#htmlItems && this.maxItems) {\n for (let i = this.maxItems; i < this.#htmlItems.length; i++) {\n this.#textExpandRepeaterAdapter.hideItem(this.#htmlItems[i]);\n }\n }\n }\n\n #showItems(): void {\n if (this.#htmlItems && this.maxItems) {\n for (let i = this.maxItems; i < this.#htmlItems.length; i++) {\n this.#textExpandRepeaterAdapter.showItem(this.#htmlItems[i]);\n }\n }\n }\n}\n","<div class=\"sky-text-expand-repeater\">\n @if (listStyle !== 'ordered') {\n <ul\n #container\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\" />\n </ul>\n } @else {\n <ol\n #container\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n [id]=\"contentSectionId\"\n (@expansionAnimation.done)=\"animationEnd()\"\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\" />\n </ol>\n }\n @if (expandable) {\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n (click)=\"repeaterExpand()\"\n >\n {{ buttonText }}\n </button>\n }\n</div>\n\n<ng-template #defaultItemTemplate let-item>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n @for (item of data; track item) {\n <li class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </li>\n }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyTextExpandRepeaterComponent } from './text-expand-repeater.component';\n\n@NgModule({\n declarations: [SkyTextExpandRepeaterComponent],\n imports: [SkyLayoutResourcesModule, CommonModule],\n exports: [SkyTextExpandRepeaterComponent],\n})\nexport class SkyTextExpandRepeaterModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a container for an item in the toolbar.\n */\n@Component({\n selector: 'sky-toolbar-item',\n styleUrls: ['./toolbar-item.component.scss'],\n templateUrl: './toolbar-item.component.html',\n standalone: false,\n})\nexport class SkyToolbarItemComponent {}\n","<div class=\"sky-toolbar-item\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a section to group items within the toolbar. The section displays items in a separate horizontal row.\n */\n@Component({\n selector: 'sky-toolbar-section',\n styleUrls: ['./toolbar-section.component.scss'],\n templateUrl: './toolbar-section.component.html',\n standalone: false,\n})\nexport class SkyToolbarSectionComponent {}\n","<div class=\"sky-toolbar-section\">\n <div class=\"sky-toolbar-section-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Adds a section on the right side of the toolbar for items that substantially alter\n * the view of the content container. This includes simple filters and view switchers.\n */\n@Component({\n selector: 'sky-toolbar-view-actions',\n templateUrl: './toolbar-view-actions.component.html',\n styleUrls: ['./toolbar-view-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyToolbarViewActionsComponent {}\n","<div class=\"sky-toolbar-view-actions\">\n <ng-content />\n</div>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n inject,\n} from '@angular/core';\nimport { SkyContentInfoProvider } from '@skyux/core';\n\nimport { SkyToolbarSectionComponent } from './toolbar-section.component';\n\n/**\n * Displays actions for lists, records, and tiles.\n */\n@Component({\n selector: 'sky-toolbar',\n styleUrls: ['./toolbar.component.scss'],\n templateUrl: './toolbar.component.html',\n providers: [SkyContentInfoProvider],\n standalone: false,\n})\nexport class SkyToolbarComponent {\n public hasSections = false;\n\n @ContentChildren(SkyToolbarSectionComponent, { descendants: true })\n public set sectionComponents(\n value: QueryList<SkyToolbarSectionComponent> | undefined,\n ) {\n this.hasSections = !!value && value.length > 0;\n }\n\n /**\n * A descriptor for the items that the toolbar manipulates. Use a plural term. The descriptor helps set the toolbar's `aria-label` attributes for search inputs, sort buttons, and filter buttons to provide text equivalents for screen readers [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * For example, when the descriptor is \"constituents,\" the search input's `aria-label` is \"Search constituents.\" For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public set listDescriptor(value: string | undefined) {\n this.#contentInfoProvider.patchInfo({\n descriptor: value ? { type: 'text', value } : undefined,\n });\n }\n\n #contentInfoProvider = inject(SkyContentInfoProvider);\n}\n","<div\n class=\"sky-toolbar-container\"\n [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n <ng-content select=\"sky-toolbar-section\" />\n <div class=\"sky-toolbar-items\">\n <ng-content />\n </div>\n <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyToolbarItemComponent } from './toolbar-item.component';\nimport { SkyToolbarSectionComponent } from './toolbar-section.component';\nimport { SkyToolbarViewActionsComponent } from './toolbar-view-actions.component';\nimport { SkyToolbarComponent } from './toolbar.component';\n\n@NgModule({\n declarations: [\n SkyToolbarComponent,\n SkyToolbarItemComponent,\n SkyToolbarSectionComponent,\n SkyToolbarViewActionsComponent,\n ],\n imports: [CommonModule],\n exports: [\n SkyToolbarComponent,\n SkyToolbarItemComponent,\n SkyToolbarSectionComponent,\n SkyToolbarViewActionsComponent,\n ],\n})\nexport class SkyToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1.SkyActionButtonAdapterService","i2","i3","i1","i2.SkyBackToTopDomAdapterService","nextId","i1.SkyInlineDeleteAdapterService","i5","i1.SkyDefinitionListService","i1.SkyDescriptionListService","i1.SkyDescriptionListAdapterService","i2.SkyDescriptionListService","i1.SkyPageThemeAdapterService","observableForkJoin","i3.SkyTextExpandAdapterService","i2.SkyTextExpandRepeaterAdapterService"],"mappings":"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"}