@skyux/tiles 7.4.2 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-tiles.mjs","sources":["../../../../../libs/components/tiles/src/lib/modules/shared/sky-tiles-resources.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-summary.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-summary.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-title.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-title.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.service.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content-section.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content-section.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard-message-type.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tiles.module.ts","../../../../../libs/components/tiles/src/skyux-tiles.ts"],"sourcesContent":["/**\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-tiles' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_tile_expand: { message: 'Expand or collapse {0}' },\n skyux_tile_expand_default: { message: 'Expand or collapse' },\n skyux_tile_help: { message: '{0} help' },\n skyux_tile_help_default: { message: 'Help' },\n skyux_tile_settings: { message: '{0} settings' },\n skyux_tile_settings_default: { message: 'Settings' },\n skyux_tile_move: { message: 'Move {0}' },\n skyux_tile_move_default: { message: 'Move' },\n skyux_tile_move_instructions: {\n message:\n \"When focus is placed on a tile's move button, use the arrow keys to move it. The up and down keys change its position within a column. The left and right keys move it between columns.\",\n },\n skyux_tile_moved_assistive_text: {\n message:\n '{0} moved. Current column: {1} of {2}. Current position in column: {3} of {4}',\n },\n },\n};\n\nexport class SkyTilesResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyTilesResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyTilesResourcesModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's summary.\n */\n@Component({\n selector: 'sky-tile-summary',\n templateUrl: 'tile-summary.component.html',\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyTileSummaryComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's title.\n */\n@Component({\n selector: 'sky-tile-title',\n templateUrl: './tile-title.component.html',\n styleUrls: ['./tile-title.component.scss'],\n})\nexport class SkyTileTitleComponent {}\n","<h2\n class=\"sky-tile-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-2': 'modern',\n 'sky-section-heading': 'default'\n }\"\n>\n <span skyTrim><ng-content></ng-content></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n</h2>\n","import {\n ComponentRef,\n EventEmitter,\n Injectable,\n Optional,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n SkyDynamicComponentLocation,\n SkyDynamicComponentService,\n SkyMediaBreakpoints,\n SkyMediaQueryService,\n SkyUIConfigService,\n} from '@skyux/core';\n\nimport { DragulaService } from 'ng2-dragula';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTileDashboardColumnComponent } from '../tile-dashboard-column/tile-dashboard-column.component';\nimport { SkyTileDashboardConfig } from '../tile-dashboard-config/tile-dashboard-config';\nimport { SkyTileDashboardConfigLayoutColumn } from '../tile-dashboard-config/tile-dashboard-config-layout-column';\nimport { SkyTileDashboardConfigLayoutTile } from '../tile-dashboard-config/tile-dashboard-config-layout-tile';\nimport { SkyTileDashboardConfigTile } from '../tile-dashboard-config/tile-dashboard-config-tile';\nimport { SkyTileComponent } from '../tile/tile.component';\n\nconst ATTR_TILE_ID = '_sky-tile-dashboard-tile-id';\n\nlet bagIdIndex = 0;\n\n@Injectable()\nexport class SkyTileDashboardService {\n /**\n * @internal\n */\n public bagId: string;\n\n /**\n * @internal\n */\n public configChange = new EventEmitter<SkyTileDashboardConfig>();\n\n /**\n * Fires when the tile dashboard's initialization is complete.\n */\n @Output()\n public dashboardInitialized = new EventEmitter<void>();\n\n #columns: QueryList<SkyTileDashboardColumnComponent> | undefined;\n #config: SkyTileDashboardConfig | undefined;\n #dragulaService: DragulaService;\n #dynamicComponentService: SkyDynamicComponentService | undefined;\n #mediaSubscription: Subscription | undefined;\n #mediaQuery: SkyMediaQueryService;\n #singleColumn: SkyTileDashboardColumnComponent | undefined;\n #settingsKey: string | undefined;\n #tileComponents: ComponentRef<any>[] | undefined;\n #uiConfigService: SkyUIConfigService;\n\n // TODO: remove @optional tag in a future breaking change\n constructor(\n dragulaService: DragulaService,\n mediaQuery: SkyMediaQueryService,\n uiConfigService: SkyUIConfigService,\n @Optional() dynamicComponentService?: SkyDynamicComponentService\n ) {\n if (!dynamicComponentService) {\n console.warn(\n 'The SkyTileDashboardService was created without a reference to the SkyDynamicComponentService. The service will be unable to create tiles from the dashboard configuration. Constructing the SkyTileDashboardService without a SkyDynamicComponentService will be removed in a future breaking change.'\n );\n }\n\n this.#dragulaService = dragulaService;\n this.#dynamicComponentService = dynamicComponentService;\n this.#mediaQuery = mediaQuery;\n this.#uiConfigService = uiConfigService;\n\n this.bagId = `sky-tile-dashboard-bag-${++bagIdIndex}`;\n\n this.#initDragula();\n }\n\n /**\n * @internal\n */\n public init(\n config: SkyTileDashboardConfig,\n columns?: QueryList<SkyTileDashboardColumnComponent>,\n singleColumn?: SkyTileDashboardColumnComponent,\n settingsKey?: string\n ): void {\n if (settingsKey) {\n // Clone this so changes to the config object outside of this class don't modify\n // the config used inside and vice versa.\n this.#config = Object.assign({}, config) as SkyTileDashboardConfig;\n\n this.#settingsKey = settingsKey;\n\n this.#uiConfigService\n .getConfig(settingsKey, config)\n .pipe(take(1))\n .subscribe(\n (value: any) => {\n if (this.#config && value.persisted) {\n this.#config.layout = value.layout;\n this.#checkForNewTiles(value.tileIds);\n this.configChange.emit(this.#config);\n\n this.#columns = columns;\n this.#singleColumn = singleColumn;\n this.#checkReadyAndLoadTiles();\n } else {\n // Bad data, or config is the default config.\n this.#initToDefaults(config, columns, singleColumn);\n }\n },\n (error: any) => {\n // Config setting key doesn't exist or other config service error\n this.#initToDefaults(config, columns, singleColumn);\n }\n );\n } else {\n this.#initToDefaults(config, columns, singleColumn);\n }\n }\n\n /**\n * Adds a new tile to the tile dashboard.\n * @param tile Specifies the tile configuration.\n * @param component Specifies the tile component to add.\n */\n public addTileComponent(\n tile: SkyTileDashboardConfigLayoutTile,\n component: ComponentRef<any>\n ): void {\n this.#tileComponents = this.#tileComponents || [];\n\n this.#tileComponents.push(component);\n\n component.location.nativeElement.setAttribute(ATTR_TILE_ID, tile.id);\n }\n\n /**\n * Checks whether a specified tile is collapsed.\n * @param tile Specifies the tile component to check.\n */\n public tileIsCollapsed(tile: SkyTileComponent): boolean {\n const tileConfig = this.#findTile(this.#getTileId(tile));\n\n if (tileConfig) {\n return tileConfig.isCollapsed;\n }\n\n return false;\n }\n\n /**\n * Sets the collapsed state of all tiles.\n * @param isCollapsed Indicates whether tiles are collapsed.\n */\n public setAllTilesCollapsed(isCollapsed: boolean): void {\n /*istanbul ignore else */\n if (this.#config && this.#config.layout.multiColumn) {\n for (const column of this.#config.layout.multiColumn) {\n for (const tile of column.tiles) {\n tile.isCollapsed = isCollapsed;\n }\n }\n for (const tile of this.#config.layout.singleColumn.tiles) {\n tile.isCollapsed = isCollapsed;\n }\n }\n\n if (this.#settingsKey) {\n this.#setUserConfig(this.#config);\n }\n\n this.configChange.emit(this.#config);\n }\n\n /**\n * Sets the collapsed state of a specified tile.\n * @param tile Specifies the tile component.\n * @param isCollapsed Indicates whether the tile is collapsed.\n */\n public setTileCollapsed(\n tile: SkyTileComponent | undefined,\n isCollapsed: boolean\n ): void {\n const tileConfig = this.#findTile(this.#getTileId(tile));\n\n if (tileConfig) {\n tileConfig.isCollapsed = isCollapsed;\n\n if (this.#settingsKey) {\n this.#setUserConfig(this.#config);\n }\n\n this.configChange.emit(this.#config);\n }\n }\n\n /**\n * @internal\n */\n public getTileComponentType(\n layoutTile: SkyTileDashboardConfigLayoutTile | undefined\n ): any {\n if (layoutTile && this.#config) {\n for (const tile of this.#config.tiles) {\n if (tile.id === layoutTile.id) {\n return tile.componentType;\n }\n }\n }\n\n return undefined;\n }\n\n /**\n * @internal\n */\n public changeColumnMode(isSingleColumn: boolean): void {\n /*istanbul ignore else */\n if (this.#config) {\n if (isSingleColumn) {\n this.#moveTilesToSingleColumn();\n } else {\n this.#moveTilesToMultiColumn();\n }\n }\n }\n\n /**\n * @internal\n */\n public getTileComponent(tileId: string): ComponentRef<any> | undefined {\n if (this.#tileComponents) {\n for (const tileComponent of this.#tileComponents) {\n if (\n tileComponent.location.nativeElement.getAttribute(ATTR_TILE_ID) ===\n tileId\n ) {\n return tileComponent;\n }\n }\n }\n\n /*istanbul ignore next */\n return undefined;\n }\n\n /**\n * @internal\n */\n public destroy(): void {\n /*istanbul ignore else */\n if (this.#mediaSubscription) {\n this.#mediaSubscription.unsubscribe();\n }\n }\n\n /**\n * @internal\n */\n public moveTileOnKeyDown(\n tileCmp: SkyTileComponent,\n direction: string,\n tileDescription: string\n ): void {\n if (this.#config) {\n const isSingleColumnMode =\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm;\n\n const tileId = this.#getTileId(tileCmp);\n const tile = this.#findTile(tileId);\n\n let column: SkyTileDashboardConfigLayoutColumn | undefined;\n let colIndex = 0;\n if (isSingleColumnMode) {\n column = this.#config.layout.singleColumn;\n } else {\n column = this.#findTileColumn(tileId);\n colIndex = this.#config.layout.multiColumn.findIndex(\n (value) => value === column\n );\n }\n\n if (column && tile && tileId) {\n if (\n (direction === 'left' || direction === 'right') &&\n !isSingleColumnMode\n ) {\n const operator = direction === 'left' ? -1 : 1;\n const newColumn =\n this.#config.layout.multiColumn[colIndex + operator];\n\n if (newColumn) {\n // Move the tile to the end of the new column\n newColumn.tiles.push(tile);\n column.tiles = column.tiles.filter((item) => item !== tile);\n this.#moveTilesToColumn(\n this.#columns?.toArray()[colIndex + operator],\n [tile]\n );\n\n // Report the change in configuration\n const reportConfig = this.#config;\n reportConfig.movedTile = {\n tileDescription:\n tileDescription || /* istanbul ignore next */ tile.id,\n column: colIndex + operator + 1,\n position: newColumn.tiles.length,\n };\n this.configChange.emit(reportConfig);\n }\n } else {\n const operator = direction === 'up' ? -1 : 1;\n const curIndex = column.tiles.findIndex(\n (value) => value.id === tile.id\n );\n const tileComponentInstance = this.getTileComponent(tileId);\n\n if (tileComponentInstance && column.tiles[curIndex + operator]) {\n const temp = column.tiles[curIndex + operator];\n column.tiles[curIndex + operator] = tile;\n column.tiles[curIndex] = temp;\n\n // Get the column element\n let columnEl: Element | undefined;\n if (isSingleColumnMode) {\n columnEl = this.#getColumnEl(this.#singleColumn);\n } else {\n columnEl = this.#getColumnEl(this.#columns?.toArray()[colIndex]);\n }\n\n // Move the tile element in the document\n if (curIndex + operator === column.tiles.length - 1) {\n columnEl?.appendChild(\n tileComponentInstance.location.nativeElement\n );\n } else {\n columnEl?.insertBefore(\n tileComponentInstance.location.nativeElement,\n this.getTileComponent(column.tiles[curIndex + operator + 1].id)\n ?.location.nativeElement\n );\n }\n\n // Report the change in configuration\n const reportConfig = this.#config;\n reportConfig.movedTile = {\n tileDescription:\n tileDescription || /* istanbul ignore next */ tile.id,\n column: isSingleColumnMode ? 1 : colIndex + 1,\n position: curIndex + operator + 1,\n };\n this.configChange.emit(reportConfig);\n }\n }\n }\n }\n }\n\n #getTileId(tile: SkyTileComponent | undefined): string | undefined {\n if (tile) {\n let el = tile.elementRef.nativeElement;\n let tileId: string;\n\n while (el) {\n tileId = el.getAttribute(ATTR_TILE_ID);\n\n if (tileId) {\n return tileId;\n }\n\n el = el.parentElement;\n }\n }\n\n return undefined;\n }\n\n #getTileOrRemoveFromLayout(\n layoutTile: SkyTileDashboardConfigLayoutTile\n ): SkyTileDashboardConfigTile | undefined {\n /*istanbul ignore else */\n if (layoutTile && this.#config) {\n for (const tile of this.#config.tiles) {\n if (tile.id === layoutTile.id) {\n return tile;\n }\n }\n\n // If the layout tile was not found in the list of tiles, it was removed since last the user updated settings\n /*istanbul ignore else */\n if (this.#config?.layout.singleColumn) {\n this.#config.layout.singleColumn.tiles =\n this.#config.layout.singleColumn.tiles.filter(\n (elem) => elem.id !== layoutTile.id\n );\n }\n\n /*istanbul ignore else */\n if (this.#config?.layout.multiColumn) {\n this.#config.layout.multiColumn.forEach((elem) => {\n elem.tiles = elem.tiles.filter((res) => res.id !== layoutTile.id);\n });\n }\n }\n\n /*istanbul ignore next */\n return undefined;\n }\n\n #checkReadyAndLoadTiles(): void {\n if (this.#config && this.#columns) {\n this.#loadTiles(this.#config);\n this.#initMediaQueries();\n this.dashboardInitialized.emit();\n }\n }\n\n #loadTiles(config: SkyTileDashboardConfig): void {\n const layout = config.layout;\n\n if (\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm\n ) {\n for (const tile of layout.singleColumn.tiles) {\n this.#loadTileIntoColumn(this.#singleColumn, tile);\n }\n } else {\n let columns: SkyTileDashboardColumnComponent[] = [];\n /*istanbul ignore else */\n if (this.#columns) {\n columns = this.#columns?.toArray();\n }\n\n for (let i = 0, n = layout.multiColumn.length; i < n; i++) {\n const column = columns[i];\n\n for (const tile of layout.multiColumn[i].tiles) {\n this.#loadTileIntoColumn(column, tile);\n }\n }\n }\n }\n\n #loadTileIntoColumn(\n column: SkyTileDashboardColumnComponent | undefined,\n layoutTile: SkyTileDashboardConfigLayoutTile\n ): void {\n if (column) {\n const tile = this.#getTileOrRemoveFromLayout(layoutTile);\n\n /*istanbul ignore else */\n if (tile && this.#dynamicComponentService) {\n const componentType = tile.componentType;\n const providers = tile.providers /* istanbul ignore next */ || [];\n\n const componentRef = this.#dynamicComponentService.createComponent(\n componentType,\n {\n location: SkyDynamicComponentLocation.ElementBottom,\n providers: providers,\n referenceEl: column.content?.nativeElement,\n parentInjector: column.injector,\n }\n );\n\n this.addTileComponent(layoutTile, componentRef);\n\n // Make sure the component is marked for changes in case the parent component uses\n // the OnPush change detection strategy.\n componentRef.changeDetectorRef.markForCheck();\n }\n }\n }\n\n #moveTilesToSingleColumn(): void {\n this.#moveTilesToColumn(\n this.#singleColumn,\n this.#config?.layout.singleColumn.tiles\n );\n }\n\n #moveTilesToMultiColumn(): void {\n let layoutColumns: SkyTileDashboardConfigLayoutColumn[] = [];\n /*istanbul ignore else */\n if (this.#config) {\n layoutColumns = this.#config.layout.multiColumn;\n }\n let columns: SkyTileDashboardColumnComponent[] = [];\n /*istanbul ignore else */\n if (this.#columns) {\n columns = this.#columns?.toArray();\n }\n\n for (let i = 0, n = layoutColumns.length; i < n; i++) {\n this.#moveTilesToColumn(columns[i], layoutColumns[i].tiles);\n }\n }\n\n #moveTilesToColumn(\n column: SkyTileDashboardColumnComponent | undefined,\n layoutTiles: SkyTileDashboardConfigLayoutTile[] | undefined\n ): void {\n if (column && layoutTiles) {\n const columnEl = this.#getColumnEl(column);\n\n for (const layoutTile of layoutTiles) {\n const tileComponentInstance = this.getTileComponent(layoutTile.id);\n\n /*istanbul ignore else */\n if (tileComponentInstance) {\n columnEl?.appendChild(tileComponentInstance.location.nativeElement);\n }\n }\n }\n }\n\n #getConfigForUIState(): SkyTileDashboardConfig | undefined {\n /*istanbul ignore else */\n if (this.#config) {\n this.#config = {\n tiles: this.#config.tiles,\n layout: {\n singleColumn: this.#getSingleColumnLayoutForUIState(this.#config),\n multiColumn: this.#getMultiColumnLayoutForUIState(this.#config),\n },\n };\n }\n\n return this.#config;\n }\n\n #getSingleColumnLayoutForUIState(\n config: SkyTileDashboardConfig\n ): SkyTileDashboardConfigLayoutColumn {\n if (\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm\n ) {\n return {\n tiles: this.#getTilesInEl(this.#getColumnEl(this.#singleColumn)),\n };\n }\n\n return config.layout.singleColumn;\n }\n\n #getMultiColumnLayoutForUIState(\n config: SkyTileDashboardConfig\n ): SkyTileDashboardConfigLayoutColumn[] {\n if (\n !(\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm\n )\n ) {\n const layoutColumns: SkyTileDashboardConfigLayoutColumn[] = [];\n let columns: SkyTileDashboardColumnComponent[] = [];\n /*istanbul ignore else */\n if (this.#columns) {\n columns = this.#columns?.toArray();\n }\n\n for (const column of columns) {\n if (column !== this.#singleColumn) {\n const layoutColumn: SkyTileDashboardConfigLayoutColumn = {\n tiles: this.#getTilesInEl(this.#getColumnEl(column)),\n };\n\n layoutColumns.push(layoutColumn);\n }\n }\n\n return layoutColumns;\n }\n\n return config.layout.multiColumn;\n }\n\n #getTilesInEl(el: Element | undefined): SkyTileDashboardConfigLayoutTile[] {\n const tileEls = el?.querySelectorAll('[' + ATTR_TILE_ID + ']');\n const layoutTiles: SkyTileDashboardConfigLayoutTile[] = [];\n\n /*istanbul ignore else */\n if (tileEls) {\n for (let i = 0, n = tileEls.length; i < n; i++) {\n const tileEl = tileEls[i];\n const tileId = tileEl.getAttribute(ATTR_TILE_ID);\n const tile = this.#findTile(tileId);\n\n /*istanbul ignore else */\n if (tile) {\n layoutTiles.push(tile);\n }\n }\n }\n\n return layoutTiles;\n }\n\n #initMediaQueries(): void {\n /*istanbul ignore else */\n if (!this.#mediaSubscription) {\n this.#mediaSubscription = this.#mediaQuery.subscribe(\n (args: SkyMediaBreakpoints) => {\n this.changeColumnMode(\n args === SkyMediaBreakpoints.xs || args === SkyMediaBreakpoints.sm\n );\n }\n );\n }\n }\n\n #initDragula(): void {\n this.#dragulaService.createGroup(this.bagId, {\n moves: (el, container, handle) => {\n const target = el?.querySelector('.sky-tile-grab-handle');\n return !!target && target.contains(handle!);\n },\n });\n\n this.#dragulaService.drop(this.bagId).subscribe(() => {\n const config = this.#getConfigForUIState();\n\n /*istanbul ignore else */\n if (config) {\n if (this.#settingsKey) {\n this.#setUserConfig(config);\n }\n\n this.configChange.emit(config);\n }\n });\n }\n\n #getColumnEl(\n column: SkyTileDashboardColumnComponent | undefined\n ): Element | undefined {\n return column?.content?.nativeElement.parentNode;\n }\n\n #findTile(\n tileId: string | undefined | null\n ): SkyTileDashboardConfigLayoutTile | undefined {\n /*istanbul ignore else */\n if (this.#config && this.#config.layout.multiColumn) {\n for (const column of this.#config.layout.multiColumn) {\n /*istanbul ignore else */\n if (column.tiles) {\n for (const tile of column.tiles) {\n if (tile.id === tileId) {\n return tile;\n }\n }\n }\n }\n }\n\n return undefined;\n }\n\n #findTileColumn(\n tileId: string | undefined\n ): SkyTileDashboardConfigLayoutColumn | undefined {\n /*istanbul ignore else */\n if (this.#config && this.#config.layout.multiColumn) {\n return this.#config.layout.multiColumn.find(\n (col) => col.tiles && !!col.tiles.find((tile) => tile.id === tileId)\n );\n }\n\n /*istanbul ignore next */\n return undefined;\n }\n\n #initToDefaults(\n config: SkyTileDashboardConfig,\n columns: QueryList<SkyTileDashboardColumnComponent> | undefined,\n singleColumn: SkyTileDashboardColumnComponent | undefined\n ): void {\n this.#config = config;\n this.#columns = columns;\n this.#singleColumn = singleColumn;\n this.#checkReadyAndLoadTiles();\n }\n\n #setUserConfig(config?: SkyTileDashboardConfig): void {\n if (config && this.#settingsKey)\n this.#uiConfigService\n .setConfig(this.#settingsKey, {\n layout: config.layout,\n persisted: true,\n tileIds: config.tiles.map((elem) => elem.id),\n })\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {},\n (err) => {\n console.warn('Could not save tile dashboard settings.');\n console.warn(err);\n }\n );\n }\n\n #checkForNewTiles(oldUserTiles: string[]): void {\n // Get a list of tiles that are in the config's default list but not in the user's settings\n const newTiles = this.#config?.tiles.filter((elem) => {\n return oldUserTiles.indexOf(elem.id) === -1;\n });\n\n const multiColumn = this.#config?.layout.multiColumn;\n const singleColumn = this.#config?.layout.singleColumn;\n\n // Append new tiles to the end of the layouts\n /*istanbul ignore else */\n if (newTiles?.length) {\n /*istanbul ignore else */\n if (multiColumn) {\n newTiles?.forEach((elem) => {\n let locationToAdd = 0;\n let smallest = multiColumn[0].tiles.length;\n multiColumn.forEach((item, index) => {\n if (item.tiles.length < smallest) {\n locationToAdd = index;\n smallest = item.tiles.length;\n }\n });\n multiColumn[locationToAdd].tiles.push({\n id: elem.id,\n isCollapsed: false,\n });\n });\n }\n\n /*istanbul ignore else */\n if (singleColumn) {\n newTiles?.forEach((elem) => {\n singleColumn.tiles.push({ id: elem.id, isCollapsed: false });\n });\n }\n }\n\n /*istanbul ignore else */\n if (singleColumn) {\n for (const tile of singleColumn.tiles) {\n this.#getTileOrRemoveFromLayout(tile);\n }\n }\n\n /*istanbul ignore else */\n if (multiColumn) {\n for (let i = 0, n = multiColumn.length; i < n; i++) {\n for (const tile of multiColumn[i].tiles) {\n this.#getTileOrRemoveFromLayout(tile);\n }\n }\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { skyAnimationSlide } from '@skyux/animations';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyTileDashboardService } from '../tile-dashboard/tile-dashboard.service';\n\n/**\n * Provides a common look-and-feel for tab content.\n */\n@Component({\n selector: 'sky-tile',\n styleUrls: ['./tile.component.scss'],\n templateUrl: './tile.component.html',\n animations: [skyAnimationSlide],\n})\nexport class SkyTileComponent implements OnDestroy {\n /**\n * Indicates whether to display a settings button in the tile header. To display the\n * button, you must also listen for the `settingsClick` event.\n * @default true\n */\n @Input()\n public showSettings = true;\n\n /**\n * Indicates whether to display a help button in the tile header. To display the\n * button, you must also listen for the `helpClick` event.\n * @default true\n */\n @Input()\n public showHelp = true;\n\n /**\n * Specifies a human-readable name for the tile that is available for multiple purposes, such as accessibility and instrumentation. For example, the component uses the name to construct ARIA labels for tile controls to [support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public tileName: string | undefined;\n\n /**\n * Fires when users select the settings button in the tile header. The settings\n * button only appears when the `showSettings` property is set to `true`.\n */\n @Output()\n public settingsClick = new EventEmitter();\n\n /**\n * Fires when the tile's collapsed state changes. Returns `true` when the tile\n * collapses and `false` when it expands.\n */\n @Output()\n public isCollapsedChange = new EventEmitter<boolean>();\n\n /**\n * Fires when users select the help button in the tile header. The help\n * button only appears when the `showHelp` property is set to `true`.\n */\n @Output()\n public helpClick = new EventEmitter();\n\n public get isCollapsed(): boolean {\n if (this.#dashboardService) {\n const configCollapsedState = this.#dashboardService.tileIsCollapsed(this);\n this.#_isCollapsed = configCollapsedState;\n }\n\n return this.#_isCollapsed;\n }\n\n /**\n * Indicates whether the tile is in a collapsed state.\n * @default false\n */\n @Input()\n public set isCollapsed(value: boolean | undefined) {\n this.#_isCollapsed = !!value;\n\n if (this.#dashboardService) {\n this.#dashboardService.setTileCollapsed(this, this.#_isCollapsed);\n }\n\n this.isCollapsedChange.emit(this.#_isCollapsed);\n }\n\n public ariaDescribedBy: string | undefined;\n\n public isInDashboardColumn = false;\n\n @ViewChild('grabHandle', {\n read: ElementRef,\n static: false,\n })\n public grabHandle: ElementRef | undefined;\n\n @ViewChild('titleContainer', {\n read: ElementRef,\n static: false,\n })\n public title: ElementRef | undefined;\n\n #changeDetector: ChangeDetectorRef;\n #dashboardService: SkyTileDashboardService | undefined;\n #ngUnsubscribe = new Subject<void>();\n #_isCollapsed = false;\n\n constructor(\n public elementRef: ElementRef,\n changeDetector: ChangeDetectorRef,\n @Optional() dashboardService?: SkyTileDashboardService\n ) {\n this.#changeDetector = changeDetector;\n this.#dashboardService = dashboardService;\n this.isInDashboardColumn = !!this.#dashboardService;\n\n if (this.#dashboardService) {\n this.ariaDescribedBy = `${\n this.#dashboardService.bagId\n }-move-instructions`;\n\n /**\n * This subscription ensures that if any values which come in from the dashboard service are\n * updated that the component will update if the tile's parent component utilizes OnPush\n * change detection.\n */\n this.#dashboardService.configChange\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 public settingsButtonClicked(): void {\n this.settingsClick.emit(undefined);\n }\n\n public helpButtonClicked(): void {\n this.helpClick.emit(undefined);\n }\n\n public get hasSettings(): boolean {\n return this.settingsClick.observers.length > 0 && this.showSettings;\n }\n\n public get hasHelp(): boolean {\n return this.helpClick.observers.length > 0 && this.showHelp;\n }\n\n public titleClick(): void {\n this.isCollapsed = !this.isCollapsed;\n }\n\n public chevronDirectionChange(direction: string): void {\n this.isCollapsed = direction === 'down';\n }\n\n public moveTile(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (this.#dashboardService) {\n const direction = event.key.toLowerCase().replace('arrow', '');\n /* istanbul ignore else */\n if (\n direction === 'up' ||\n direction === 'down' ||\n direction === 'left' ||\n direction === 'right'\n ) {\n this.#dashboardService.moveTileOnKeyDown(\n this,\n direction,\n this.title\n ? this.title.nativeElement.innerText\n : /* istanbul ignore next */\n undefined\n );\n this.#focusHandle();\n }\n }\n }\n\n #focusHandle(): void {\n this.grabHandle?.nativeElement.focus();\n }\n}\n","<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick()\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\"></ng-content>\n </div>\n <div\n class=\"sky-tile-summary\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern',\n 'sky-headline': 'default'\n }\"\n >\n <ng-content select=\"sky-tile-summary\"></ng-content>\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"cog\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"cog-line\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"th\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"tile-drag\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\"></ng-content>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyChevronModule, SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';\n\nimport { SkyTileSummaryComponent } from './tile-summary.component';\nimport { SkyTileTitleComponent } from './tile-title.component';\nimport { SkyTileComponent } from './tile.component';\n\n@NgModule({\n declarations: [\n SkyTileComponent,\n SkyTileSummaryComponent,\n SkyTileTitleComponent,\n ],\n imports: [\n CommonModule,\n SkyChevronModule,\n SkyIdModule,\n SkyI18nModule,\n SkyIconModule,\n SkyThemeModule,\n SkyTilesResourcesModule,\n SkyTrimModule,\n ],\n exports: [SkyTileComponent, SkyTileSummaryComponent, SkyTileTitleComponent],\n})\nexport class SkyTileModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display inside a padded section of a SkyTileContentComponent.\n */\n@Component({\n selector: 'sky-tile-content-section',\n styleUrls: ['./tile-content-section.component.scss'],\n templateUrl: './tile-content-section.component.html',\n})\nexport class SkyTileContentSectionComponent {}\n","<div\n class=\"sky-tile-content-section\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n>\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's body.\n */\n@Component({\n selector: 'sky-tile-content',\n styleUrls: ['./tile-content.component.scss'],\n templateUrl: 'tile-content.component.html',\n})\nexport class SkyTileContentComponent {}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyTileContentSectionComponent } from './tile-content-section.component';\nimport { SkyTileContentComponent } from './tile-content.component';\n\n@NgModule({\n declarations: [SkyTileContentComponent, SkyTileContentSectionComponent],\n imports: [CommonModule, SkyThemeModule],\n exports: [SkyTileContentComponent, SkyTileContentSectionComponent],\n})\nexport class SkyTileContentModule {}\n","/**\n * Specifies the type of message to send to the tile dashboard component.\n */\nexport enum SkyTileDashboardMessageType {\n /**\n * Expands all tiles within the tile dashboard.\n */\n ExpandAll = 0,\n\n /**\n * Collapses all tiles within the tile dashboard.\n */\n CollapseAll = 1,\n}\n","import { Component, ElementRef, Injector, ViewChild } from '@angular/core';\n\nimport { SkyTileDashboardService } from '../tile-dashboard/tile-dashboard.service';\n\nlet columnIdIndex = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-tile-dashboard-column',\n styleUrls: ['./tile-dashboard-column.component.scss'],\n templateUrl: './tile-dashboard-column.component.html',\n})\nexport class SkyTileDashboardColumnComponent {\n public bagId: string;\n\n public columnId: string;\n\n @ViewChild('content', {\n read: ElementRef,\n static: false,\n })\n public content: ElementRef | undefined;\n\n #dashboardService: SkyTileDashboardService;\n\n constructor(\n public injector: Injector,\n dashboardService: SkyTileDashboardService\n ) {\n this.#dashboardService = dashboardService;\n\n this.columnId = `tile-dashboard-column-${++columnIdIndex}`;\n\n this.bagId = this.#dashboardService.bagId;\n }\n}\n","<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragulaModule } from 'ng2-dragula';\n\nimport { SkyTileDashboardColumnComponent } from './tile-dashboard-column.component';\n\n@NgModule({\n declarations: [SkyTileDashboardColumnComponent],\n imports: [CommonModule, DragulaModule],\n exports: [SkyTileDashboardColumnComponent],\n})\nexport class SkyTileDashboardColumnModule {}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Observable, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkyTileDashboardColumnComponent } from '../tile-dashboard-column/tile-dashboard-column.component';\nimport { SkyTileDashboardConfig } from '../tile-dashboard-config/tile-dashboard-config';\n\nimport { SkyTileDashboardMessage } from './tile-dashboard-message';\nimport { SkyTileDashboardMessageType } from './tile-dashboard-message-type';\nimport { SkyTileDashboardService } from './tile-dashboard.service';\n\n/**\n * Specifies a container to group multiple tiles.\n */\n@Component({\n selector: 'sky-tile-dashboard',\n styleUrls: ['./tile-dashboard.component.scss'],\n templateUrl: './tile-dashboard.component.html',\n providers: [SkyTileDashboardService],\n})\nexport class SkyTileDashboardComponent implements AfterViewInit, OnDestroy {\n /**\n * Populates the tile dashboard based on the `SkyTileDashboardConfig` object.\n * @required\n */\n @Input()\n public set config(value: SkyTileDashboardConfig | undefined) {\n if (value && !this.#configSet) {\n this.#_config = value;\n this.#configSet = true;\n this.#checkReady();\n }\n }\n\n public get config(): SkyTileDashboardConfig | undefined {\n return this.#_config;\n }\n\n /**\n * Provides an observable to send commands to the tile dashboard. The commands should respect the\n * `SkyTileDashboardMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyTileDashboardMessage>();\n\n /**\n * Specifies a unique key for the UI Config Service to retrieve stored settings\n * from a database. The UI Config Service saves configuration settings for users\n * to preserve the layout and collapsed state of tile dashboards. The UI Config Service relies on `id` values from the `config` property to maintain user settings. For more information\n * about the UI Config Service, see the\n * [sticky settings documentation](https://developer.blackbaud.com/skyux/learn/get-started/sticky-settings).\n */\n @Input()\n public settingsKey: string | undefined;\n\n /**\n * Fires when the tile dashboard changes state and emits a SkyTileDashboardConfig\n * object. This occurs when tiles collapse or expand and when users drag and drop\n * tiles to rearrange them.\n */\n @Output()\n public configChange = new EventEmitter<SkyTileDashboardConfig>();\n\n @ViewChildren(SkyTileDashboardColumnComponent)\n public columns: QueryList<SkyTileDashboardColumnComponent> | undefined;\n\n @ViewChild('singleColumn', {\n read: SkyTileDashboardColumnComponent,\n static: false,\n })\n public singleColumn: SkyTileDashboardColumnComponent | undefined;\n\n public tileMovedReport = '';\n\n public moveInstructionsId: string;\n\n #configSet = false;\n #dashboardService: SkyTileDashboardService;\n #mediaQueryService: SkyMediaQueryService;\n #ngUnsubscribe = new Subject<void>();\n #resourcesService: SkyLibResourcesService | undefined;\n #viewReady = false;\n #_config: SkyTileDashboardConfig | undefined;\n\n constructor(\n dashboardService: SkyTileDashboardService,\n mediaQueryService: SkyMediaQueryService,\n @Optional() resourcesService?: SkyLibResourcesService\n ) {\n this.#dashboardService = dashboardService;\n this.#mediaQueryService = mediaQueryService;\n this.#resourcesService = resourcesService;\n this.moveInstructionsId =\n this.#dashboardService.bagId + '-move-instructions';\n\n this.#dashboardService.configChange.subscribe(\n (config: SkyTileDashboardConfig) => {\n this.configChange.emit(config);\n\n // Update aria live region with tile drag info\n if (config.movedTile && this.#resourcesService) {\n let messageObservable: Observable<string>;\n if (\n this.#mediaQueryService.current === SkyMediaBreakpoints.xs ||\n this.#mediaQueryService.current === SkyMediaBreakpoints.sm\n ) {\n messageObservable = this.#resourcesService.getString(\n 'skyux_tile_moved_assistive_text',\n config.movedTile.tileDescription,\n '1',\n '1',\n config.movedTile.position.toString(),\n config.layout.singleColumn.tiles.length.toString()\n );\n } else {\n messageObservable = this.#resourcesService.getString(\n 'skyux_tile_moved_assistive_text',\n config.movedTile.tileDescription,\n config.movedTile.column.toString(),\n config.layout.multiColumn.length.toString(),\n config.movedTile.position.toString(),\n config.layout.multiColumn[\n config.movedTile.column - 1\n ].tiles.length.toString()\n );\n }\n messageObservable.pipe(take(1)).subscribe((message: string) => {\n this.tileMovedReport = message;\n });\n }\n }\n );\n }\n\n public ngAfterViewInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyTileDashboardMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#viewReady = true;\n this.#checkReady();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#dashboardService.destroy();\n }\n\n #checkReady(): void {\n if (this.#viewReady && this.config) {\n setTimeout(() => {\n if (this.config && this.columns && this.singleColumn) {\n this.#dashboardService.init(\n this.config,\n this.columns,\n this.singleColumn,\n this.settingsKey\n );\n }\n }, 0);\n }\n }\n\n #handleIncomingMessages(message: SkyTileDashboardMessage): void {\n switch (message.type) {\n case SkyTileDashboardMessageType.ExpandAll:\n this.#dashboardService.setAllTilesCollapsed(false);\n break;\n\n case SkyTileDashboardMessageType.CollapseAll:\n this.#dashboardService.setAllTilesCollapsed(true);\n break;\n }\n }\n}\n","<ng-container *ngIf=\"config\">\n <span aria-live=\"assertive\" class=\"sky-assistive-text\">\n {{ tileMovedReport }}\n </span>\n <sky-tile-dashboard-column\n *ngFor=\"let column of config.layout.multiColumn\"\n class=\"sky-tile-dashboard-layout-multi\"\n [ngStyle]=\"{\n 'flex-basis': 100 / config.layout.multiColumn.length + '%'\n }\"\n >\n </sky-tile-dashboard-column>\n <sky-tile-dashboard-column\n class=\"sky-tile-dashboard-layout-single\"\n #singleColumn\n >\n </sky-tile-dashboard-column>\n <span class=\"sky-screen-reader-only\" [id]=\"moveInstructionsId\">{{\n 'skyux_tile_move_instructions' | skyLibResources\n }}</span>\n <ng-content></ng-content>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragulaService } from 'ng2-dragula';\n\nimport { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';\nimport { SkyTileDashboardColumnModule } from '../tile-dashboard-column/tile-dashboard-column.module';\n\nimport { SkyTileDashboardComponent } from './tile-dashboard.component';\n\n@NgModule({\n declarations: [SkyTileDashboardComponent],\n providers: [DragulaService],\n imports: [\n CommonModule,\n SkyTileDashboardColumnModule,\n SkyTilesResourcesModule,\n ],\n exports: [SkyTileDashboardComponent],\n})\nexport class SkyTileDashboardModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragulaService } from 'ng2-dragula';\n\nimport { SkyTileContentModule } from './tile-content/tile-content.module';\nimport { SkyTileDashboardColumnModule } from './tile-dashboard-column/tile-dashboard-column.module';\nimport { SkyTileDashboardModule } from './tile-dashboard/tile-dashboard.module';\nimport { SkyTileModule } from './tile/tile.module';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n SkyTileContentModule,\n SkyTileModule,\n SkyTileDashboardColumnModule,\n SkyTileDashboardModule,\n ],\n providers: [DragulaService],\n})\nexport class SkyTilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.SkyTileDashboardService","i2","i4","i6","i3","i5.SkyTileDashboardColumnComponent"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-tiles.mjs","sources":["../../../../../libs/components/tiles/src/lib/modules/shared/sky-tiles-resources.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-summary.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-summary.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-title.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile-title.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.service.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content-section.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content-section.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard-message-type.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.component.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.component.html","../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.module.ts","../../../../../libs/components/tiles/src/lib/modules/tiles/tiles.module.ts","../../../../../libs/components/tiles/src/skyux-tiles.ts"],"sourcesContent":["/**\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-tiles' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_tile_expand: { message: 'Expand or collapse {0}' },\n skyux_tile_expand_default: { message: 'Expand or collapse' },\n skyux_tile_help: { message: '{0} help' },\n skyux_tile_help_default: { message: 'Help' },\n skyux_tile_settings: { message: '{0} settings' },\n skyux_tile_settings_default: { message: 'Settings' },\n skyux_tile_move: { message: 'Move {0}' },\n skyux_tile_move_default: { message: 'Move' },\n skyux_tile_move_instructions: {\n message:\n \"When focus is placed on a tile's move button, use the arrow keys to move it. The up and down keys change its position within a column. The left and right keys move it between columns.\",\n },\n skyux_tile_moved_assistive_text: {\n message:\n '{0} moved. Current column: {1} of {2}. Current position in column: {3} of {4}',\n },\n },\n};\n\nexport class SkyTilesResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyTilesResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyTilesResourcesModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's summary.\n */\n@Component({\n selector: 'sky-tile-summary',\n templateUrl: 'tile-summary.component.html',\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyTileSummaryComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's title.\n */\n@Component({\n selector: 'sky-tile-title',\n templateUrl: './tile-title.component.html',\n styleUrls: ['./tile-title.component.scss'],\n})\nexport class SkyTileTitleComponent {}\n","<h2\n class=\"sky-tile-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-2': 'modern',\n 'sky-section-heading': 'default'\n }\"\n>\n <span skyTrim><ng-content></ng-content></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n</h2>\n","import {\n ComponentRef,\n EventEmitter,\n Injectable,\n Optional,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n SkyDynamicComponentLocation,\n SkyDynamicComponentService,\n SkyMediaBreakpoints,\n SkyMediaQueryService,\n SkyUIConfigService,\n} from '@skyux/core';\n\nimport { DragulaService } from 'ng2-dragula';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTileDashboardColumnComponent } from '../tile-dashboard-column/tile-dashboard-column.component';\nimport { SkyTileDashboardConfig } from '../tile-dashboard-config/tile-dashboard-config';\nimport { SkyTileDashboardConfigLayoutColumn } from '../tile-dashboard-config/tile-dashboard-config-layout-column';\nimport { SkyTileDashboardConfigLayoutTile } from '../tile-dashboard-config/tile-dashboard-config-layout-tile';\nimport { SkyTileDashboardConfigTile } from '../tile-dashboard-config/tile-dashboard-config-tile';\nimport { SkyTileComponent } from '../tile/tile.component';\n\nconst ATTR_TILE_ID = '_sky-tile-dashboard-tile-id';\n\nlet bagIdIndex = 0;\n\n@Injectable()\nexport class SkyTileDashboardService {\n /**\n * @internal\n */\n public bagId: string;\n\n /**\n * @internal\n */\n public configChange = new EventEmitter<SkyTileDashboardConfig>();\n\n /**\n * Fires when the tile dashboard's initialization is complete.\n */\n @Output()\n public dashboardInitialized = new EventEmitter<void>();\n\n #columns: QueryList<SkyTileDashboardColumnComponent> | undefined;\n #config: SkyTileDashboardConfig | undefined;\n #dragulaService: DragulaService;\n #dynamicComponentService: SkyDynamicComponentService | undefined;\n #mediaSubscription: Subscription | undefined;\n #mediaQuery: SkyMediaQueryService;\n #singleColumn: SkyTileDashboardColumnComponent | undefined;\n #settingsKey: string | undefined;\n #tileComponents: ComponentRef<any>[] | undefined;\n #uiConfigService: SkyUIConfigService;\n\n // TODO: remove @optional tag in a future breaking change\n constructor(\n dragulaService: DragulaService,\n mediaQuery: SkyMediaQueryService,\n uiConfigService: SkyUIConfigService,\n @Optional() dynamicComponentService?: SkyDynamicComponentService\n ) {\n if (!dynamicComponentService) {\n console.warn(\n 'The SkyTileDashboardService was created without a reference to the SkyDynamicComponentService. The service will be unable to create tiles from the dashboard configuration. Constructing the SkyTileDashboardService without a SkyDynamicComponentService will be removed in a future breaking change.'\n );\n }\n\n this.#dragulaService = dragulaService;\n this.#dynamicComponentService = dynamicComponentService;\n this.#mediaQuery = mediaQuery;\n this.#uiConfigService = uiConfigService;\n\n this.bagId = `sky-tile-dashboard-bag-${++bagIdIndex}`;\n\n this.#initDragula();\n }\n\n /**\n * @internal\n */\n public init(\n config: SkyTileDashboardConfig,\n columns?: QueryList<SkyTileDashboardColumnComponent>,\n singleColumn?: SkyTileDashboardColumnComponent,\n settingsKey?: string\n ): void {\n if (settingsKey) {\n // Clone this so changes to the config object outside of this class don't modify\n // the config used inside and vice versa.\n this.#config = Object.assign({}, config) as SkyTileDashboardConfig;\n\n this.#settingsKey = settingsKey;\n\n this.#uiConfigService\n .getConfig(settingsKey, config)\n .pipe(take(1))\n .subscribe(\n (value: any) => {\n if (this.#config && value.persisted) {\n this.#config.layout = value.layout;\n this.#checkForNewTiles(value.tileIds);\n this.configChange.emit(this.#config);\n\n this.#columns = columns;\n this.#singleColumn = singleColumn;\n this.#checkReadyAndLoadTiles();\n } else {\n // Bad data, or config is the default config.\n this.#initToDefaults(config, columns, singleColumn);\n }\n },\n (error: any) => {\n // Config setting key doesn't exist or other config service error\n this.#initToDefaults(config, columns, singleColumn);\n }\n );\n } else {\n this.#initToDefaults(config, columns, singleColumn);\n }\n }\n\n /**\n * Adds a new tile to the tile dashboard.\n * @param tile Specifies the tile configuration.\n * @param component Specifies the tile component to add.\n */\n public addTileComponent(\n tile: SkyTileDashboardConfigLayoutTile,\n component: ComponentRef<any>\n ): void {\n this.#tileComponents = this.#tileComponents || [];\n\n this.#tileComponents.push(component);\n\n component.location.nativeElement.setAttribute(ATTR_TILE_ID, tile.id);\n }\n\n /**\n * Checks whether a specified tile is collapsed.\n * @param tile Specifies the tile component to check.\n */\n public tileIsCollapsed(tile: SkyTileComponent): boolean {\n const tileConfig = this.#findTile(this.#getTileId(tile));\n\n if (tileConfig) {\n return tileConfig.isCollapsed;\n }\n\n return false;\n }\n\n /**\n * Sets the collapsed state of all tiles.\n * @param isCollapsed Indicates whether tiles are collapsed.\n */\n public setAllTilesCollapsed(isCollapsed: boolean): void {\n /*istanbul ignore else */\n if (this.#config && this.#config.layout.multiColumn) {\n for (const column of this.#config.layout.multiColumn) {\n for (const tile of column.tiles) {\n tile.isCollapsed = isCollapsed;\n }\n }\n for (const tile of this.#config.layout.singleColumn.tiles) {\n tile.isCollapsed = isCollapsed;\n }\n }\n\n if (this.#settingsKey) {\n this.#setUserConfig(this.#config);\n }\n\n this.configChange.emit(this.#config);\n }\n\n /**\n * Sets the collapsed state of a specified tile.\n * @param tile Specifies the tile component.\n * @param isCollapsed Indicates whether the tile is collapsed.\n */\n public setTileCollapsed(\n tile: SkyTileComponent | undefined,\n isCollapsed: boolean\n ): void {\n const tileConfig = this.#findTile(this.#getTileId(tile));\n\n if (tileConfig) {\n tileConfig.isCollapsed = isCollapsed;\n\n if (this.#settingsKey) {\n this.#setUserConfig(this.#config);\n }\n\n this.configChange.emit(this.#config);\n }\n }\n\n /**\n * @internal\n */\n public getTileComponentType(\n layoutTile: SkyTileDashboardConfigLayoutTile | undefined\n ): any {\n if (layoutTile && this.#config) {\n for (const tile of this.#config.tiles) {\n if (tile.id === layoutTile.id) {\n return tile.componentType;\n }\n }\n }\n\n return undefined;\n }\n\n /**\n * @internal\n */\n public changeColumnMode(isSingleColumn: boolean): void {\n /*istanbul ignore else */\n if (this.#config) {\n if (isSingleColumn) {\n this.#moveTilesToSingleColumn();\n } else {\n this.#moveTilesToMultiColumn();\n }\n }\n }\n\n /**\n * @internal\n */\n public getTileComponent(tileId: string): ComponentRef<any> | undefined {\n if (this.#tileComponents) {\n for (const tileComponent of this.#tileComponents) {\n if (\n tileComponent.location.nativeElement.getAttribute(ATTR_TILE_ID) ===\n tileId\n ) {\n return tileComponent;\n }\n }\n }\n\n /*istanbul ignore next */\n return undefined;\n }\n\n /**\n * @internal\n */\n public destroy(): void {\n /*istanbul ignore else */\n if (this.#mediaSubscription) {\n this.#mediaSubscription.unsubscribe();\n }\n }\n\n /**\n * @internal\n */\n public moveTileOnKeyDown(\n tileCmp: SkyTileComponent,\n direction: string,\n tileDescription: string\n ): void {\n if (this.#config) {\n const isSingleColumnMode =\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm;\n\n const tileId = this.#getTileId(tileCmp);\n const tile = this.#findTile(tileId);\n\n let column: SkyTileDashboardConfigLayoutColumn | undefined;\n let colIndex = 0;\n if (isSingleColumnMode) {\n column = this.#config.layout.singleColumn;\n } else {\n column = this.#findTileColumn(tileId);\n colIndex = this.#config.layout.multiColumn.findIndex(\n (value) => value === column\n );\n }\n\n if (column && tile && tileId) {\n if (\n (direction === 'left' || direction === 'right') &&\n !isSingleColumnMode\n ) {\n const operator = direction === 'left' ? -1 : 1;\n const newColumn =\n this.#config.layout.multiColumn[colIndex + operator];\n\n if (newColumn) {\n // Move the tile to the end of the new column\n newColumn.tiles.push(tile);\n column.tiles = column.tiles.filter((item) => item !== tile);\n this.#moveTilesToColumn(\n this.#columns?.toArray()[colIndex + operator],\n [tile]\n );\n\n // Report the change in configuration\n const reportConfig = this.#config;\n reportConfig.movedTile = {\n tileDescription:\n tileDescription || /* istanbul ignore next */ tile.id,\n column: colIndex + operator + 1,\n position: newColumn.tiles.length,\n };\n this.configChange.emit(reportConfig);\n }\n } else {\n const operator = direction === 'up' ? -1 : 1;\n const curIndex = column.tiles.findIndex(\n (value) => value.id === tile.id\n );\n const tileComponentInstance = this.getTileComponent(tileId);\n\n if (tileComponentInstance && column.tiles[curIndex + operator]) {\n const temp = column.tiles[curIndex + operator];\n column.tiles[curIndex + operator] = tile;\n column.tiles[curIndex] = temp;\n\n // Get the column element\n let columnEl: Element | undefined;\n if (isSingleColumnMode) {\n columnEl = this.#getColumnEl(this.#singleColumn);\n } else {\n columnEl = this.#getColumnEl(this.#columns?.toArray()[colIndex]);\n }\n\n // Move the tile element in the document\n if (curIndex + operator === column.tiles.length - 1) {\n columnEl?.appendChild(\n tileComponentInstance.location.nativeElement\n );\n } else {\n columnEl?.insertBefore(\n tileComponentInstance.location.nativeElement,\n this.getTileComponent(column.tiles[curIndex + operator + 1].id)\n ?.location.nativeElement\n );\n }\n\n // Report the change in configuration\n const reportConfig = this.#config;\n reportConfig.movedTile = {\n tileDescription:\n tileDescription || /* istanbul ignore next */ tile.id,\n column: isSingleColumnMode ? 1 : colIndex + 1,\n position: curIndex + operator + 1,\n };\n this.configChange.emit(reportConfig);\n }\n }\n }\n }\n }\n\n #getTileId(tile: SkyTileComponent | undefined): string | undefined {\n if (tile) {\n let el = tile.elementRef.nativeElement;\n let tileId: string;\n\n while (el) {\n tileId = el.getAttribute(ATTR_TILE_ID);\n\n if (tileId) {\n return tileId;\n }\n\n el = el.parentElement;\n }\n }\n\n return undefined;\n }\n\n #getTileOrRemoveFromLayout(\n layoutTile: SkyTileDashboardConfigLayoutTile\n ): SkyTileDashboardConfigTile | undefined {\n /*istanbul ignore else */\n if (layoutTile && this.#config) {\n for (const tile of this.#config.tiles) {\n if (tile.id === layoutTile.id) {\n return tile;\n }\n }\n\n // If the layout tile was not found in the list of tiles, it was removed since last the user updated settings\n /*istanbul ignore else */\n if (this.#config?.layout.singleColumn) {\n this.#config.layout.singleColumn.tiles =\n this.#config.layout.singleColumn.tiles.filter(\n (elem) => elem.id !== layoutTile.id\n );\n }\n\n /*istanbul ignore else */\n if (this.#config?.layout.multiColumn) {\n this.#config.layout.multiColumn.forEach((elem) => {\n elem.tiles = elem.tiles.filter((res) => res.id !== layoutTile.id);\n });\n }\n }\n\n /*istanbul ignore next */\n return undefined;\n }\n\n #checkReadyAndLoadTiles(): void {\n if (this.#config && this.#columns) {\n this.#loadTiles(this.#config);\n this.#initMediaQueries();\n this.dashboardInitialized.emit();\n }\n }\n\n #loadTiles(config: SkyTileDashboardConfig): void {\n const layout = config.layout;\n\n if (\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm\n ) {\n for (const tile of layout.singleColumn.tiles) {\n this.#loadTileIntoColumn(this.#singleColumn, tile);\n }\n } else {\n let columns: SkyTileDashboardColumnComponent[] = [];\n /*istanbul ignore else */\n if (this.#columns) {\n columns = this.#columns?.toArray();\n }\n\n for (let i = 0, n = layout.multiColumn.length; i < n; i++) {\n const column = columns[i];\n\n for (const tile of layout.multiColumn[i].tiles) {\n this.#loadTileIntoColumn(column, tile);\n }\n }\n }\n }\n\n #loadTileIntoColumn(\n column: SkyTileDashboardColumnComponent | undefined,\n layoutTile: SkyTileDashboardConfigLayoutTile\n ): void {\n if (column) {\n const tile = this.#getTileOrRemoveFromLayout(layoutTile);\n\n /*istanbul ignore else */\n if (tile && this.#dynamicComponentService) {\n const componentType = tile.componentType;\n const providers = tile.providers /* istanbul ignore next */ || [];\n\n const componentRef = this.#dynamicComponentService.createComponent(\n componentType,\n {\n location: SkyDynamicComponentLocation.ElementBottom,\n providers: providers,\n viewContainerRef: column.content,\n parentInjector: column.injector,\n }\n );\n\n this.addTileComponent(layoutTile, componentRef);\n\n // Make sure the component is marked for changes in case the parent component uses\n // the OnPush change detection strategy.\n componentRef.changeDetectorRef.markForCheck();\n }\n }\n }\n\n #moveTilesToSingleColumn(): void {\n this.#moveTilesToColumn(\n this.#singleColumn,\n this.#config?.layout.singleColumn.tiles\n );\n }\n\n #moveTilesToMultiColumn(): void {\n let layoutColumns: SkyTileDashboardConfigLayoutColumn[] = [];\n /*istanbul ignore else */\n if (this.#config) {\n layoutColumns = this.#config.layout.multiColumn;\n }\n let columns: SkyTileDashboardColumnComponent[] = [];\n /*istanbul ignore else */\n if (this.#columns) {\n columns = this.#columns?.toArray();\n }\n\n for (let i = 0, n = layoutColumns.length; i < n; i++) {\n this.#moveTilesToColumn(columns[i], layoutColumns[i].tiles);\n }\n }\n\n #moveTilesToColumn(\n column: SkyTileDashboardColumnComponent | undefined,\n layoutTiles: SkyTileDashboardConfigLayoutTile[] | undefined\n ): void {\n if (column && layoutTiles) {\n const columnEl = this.#getColumnEl(column);\n\n for (const layoutTile of layoutTiles) {\n const tileComponentInstance = this.getTileComponent(layoutTile.id);\n\n /*istanbul ignore else */\n if (tileComponentInstance) {\n columnEl?.appendChild(tileComponentInstance.location.nativeElement);\n }\n }\n }\n }\n\n #getConfigForUIState(): SkyTileDashboardConfig | undefined {\n /*istanbul ignore else */\n if (this.#config) {\n this.#config = {\n tiles: this.#config.tiles,\n layout: {\n singleColumn: this.#getSingleColumnLayoutForUIState(this.#config),\n multiColumn: this.#getMultiColumnLayoutForUIState(this.#config),\n },\n };\n }\n\n return this.#config;\n }\n\n #getSingleColumnLayoutForUIState(\n config: SkyTileDashboardConfig\n ): SkyTileDashboardConfigLayoutColumn {\n if (\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm\n ) {\n return {\n tiles: this.#getTilesInEl(this.#getColumnEl(this.#singleColumn)),\n };\n }\n\n return config.layout.singleColumn;\n }\n\n #getMultiColumnLayoutForUIState(\n config: SkyTileDashboardConfig\n ): SkyTileDashboardConfigLayoutColumn[] {\n if (\n !(\n this.#mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.#mediaQuery.current === SkyMediaBreakpoints.sm\n )\n ) {\n const layoutColumns: SkyTileDashboardConfigLayoutColumn[] = [];\n let columns: SkyTileDashboardColumnComponent[] = [];\n /*istanbul ignore else */\n if (this.#columns) {\n columns = this.#columns?.toArray();\n }\n\n for (const column of columns) {\n if (column !== this.#singleColumn) {\n const layoutColumn: SkyTileDashboardConfigLayoutColumn = {\n tiles: this.#getTilesInEl(this.#getColumnEl(column)),\n };\n\n layoutColumns.push(layoutColumn);\n }\n }\n\n return layoutColumns;\n }\n\n return config.layout.multiColumn;\n }\n\n #getTilesInEl(el: Element | undefined): SkyTileDashboardConfigLayoutTile[] {\n const tileEls = el?.querySelectorAll('[' + ATTR_TILE_ID + ']');\n const layoutTiles: SkyTileDashboardConfigLayoutTile[] = [];\n\n /*istanbul ignore else */\n if (tileEls) {\n for (let i = 0, n = tileEls.length; i < n; i++) {\n const tileEl = tileEls[i];\n const tileId = tileEl.getAttribute(ATTR_TILE_ID);\n const tile = this.#findTile(tileId);\n\n /*istanbul ignore else */\n if (tile) {\n layoutTiles.push(tile);\n }\n }\n }\n\n return layoutTiles;\n }\n\n #initMediaQueries(): void {\n /*istanbul ignore else */\n if (!this.#mediaSubscription) {\n this.#mediaSubscription = this.#mediaQuery.subscribe(\n (args: SkyMediaBreakpoints) => {\n this.changeColumnMode(\n args === SkyMediaBreakpoints.xs || args === SkyMediaBreakpoints.sm\n );\n }\n );\n }\n }\n\n #initDragula(): void {\n this.#dragulaService.createGroup(this.bagId, {\n moves: (el, container, handle) => {\n const target = el?.querySelector('.sky-tile-grab-handle');\n return !!target && target.contains(handle!);\n },\n });\n\n this.#dragulaService.drop(this.bagId).subscribe(() => {\n const config = this.#getConfigForUIState();\n\n /*istanbul ignore else */\n if (config) {\n if (this.#settingsKey) {\n this.#setUserConfig(config);\n }\n\n this.configChange.emit(config);\n }\n });\n }\n\n #getColumnEl(\n column: SkyTileDashboardColumnComponent | undefined\n ): Element | undefined {\n return column?.content?.element.nativeElement.parentNode;\n }\n\n #findTile(\n tileId: string | undefined | null\n ): SkyTileDashboardConfigLayoutTile | undefined {\n /*istanbul ignore else */\n if (this.#config && this.#config.layout.multiColumn) {\n for (const column of this.#config.layout.multiColumn) {\n /*istanbul ignore else */\n if (column.tiles) {\n for (const tile of column.tiles) {\n if (tile.id === tileId) {\n return tile;\n }\n }\n }\n }\n }\n\n return undefined;\n }\n\n #findTileColumn(\n tileId: string | undefined\n ): SkyTileDashboardConfigLayoutColumn | undefined {\n /*istanbul ignore else */\n if (this.#config && this.#config.layout.multiColumn) {\n return this.#config.layout.multiColumn.find(\n (col) => col.tiles && !!col.tiles.find((tile) => tile.id === tileId)\n );\n }\n\n /*istanbul ignore next */\n return undefined;\n }\n\n #initToDefaults(\n config: SkyTileDashboardConfig,\n columns: QueryList<SkyTileDashboardColumnComponent> | undefined,\n singleColumn: SkyTileDashboardColumnComponent | undefined\n ): void {\n this.#config = config;\n this.#columns = columns;\n this.#singleColumn = singleColumn;\n this.#checkReadyAndLoadTiles();\n }\n\n #setUserConfig(config?: SkyTileDashboardConfig): void {\n if (config && this.#settingsKey)\n this.#uiConfigService\n .setConfig(this.#settingsKey, {\n layout: config.layout,\n persisted: true,\n tileIds: config.tiles.map((elem) => elem.id),\n })\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {},\n (err) => {\n console.warn('Could not save tile dashboard settings.');\n console.warn(err);\n }\n );\n }\n\n #checkForNewTiles(oldUserTiles: string[]): void {\n // Get a list of tiles that are in the config's default list but not in the user's settings\n const newTiles = this.#config?.tiles.filter((elem) => {\n return oldUserTiles.indexOf(elem.id) === -1;\n });\n\n const multiColumn = this.#config?.layout.multiColumn;\n const singleColumn = this.#config?.layout.singleColumn;\n\n // Append new tiles to the end of the layouts\n /*istanbul ignore else */\n if (newTiles?.length) {\n /*istanbul ignore else */\n if (multiColumn) {\n newTiles?.forEach((elem) => {\n let locationToAdd = 0;\n let smallest = multiColumn[0].tiles.length;\n multiColumn.forEach((item, index) => {\n if (item.tiles.length < smallest) {\n locationToAdd = index;\n smallest = item.tiles.length;\n }\n });\n multiColumn[locationToAdd].tiles.push({\n id: elem.id,\n isCollapsed: false,\n });\n });\n }\n\n /*istanbul ignore else */\n if (singleColumn) {\n newTiles?.forEach((elem) => {\n singleColumn.tiles.push({ id: elem.id, isCollapsed: false });\n });\n }\n }\n\n /*istanbul ignore else */\n if (singleColumn) {\n for (const tile of singleColumn.tiles) {\n this.#getTileOrRemoveFromLayout(tile);\n }\n }\n\n /*istanbul ignore else */\n if (multiColumn) {\n for (let i = 0, n = multiColumn.length; i < n; i++) {\n for (const tile of multiColumn[i].tiles) {\n this.#getTileOrRemoveFromLayout(tile);\n }\n }\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { skyAnimationSlide } from '@skyux/animations';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyTileDashboardService } from '../tile-dashboard/tile-dashboard.service';\n\n/**\n * Provides a common look-and-feel for tab content.\n */\n@Component({\n selector: 'sky-tile',\n styleUrls: ['./tile.component.scss'],\n templateUrl: './tile.component.html',\n animations: [skyAnimationSlide],\n})\nexport class SkyTileComponent implements OnDestroy {\n /**\n * Indicates whether to display a settings button in the tile header. To display the\n * button, you must also listen for the `settingsClick` event.\n * @default true\n */\n @Input()\n public showSettings = true;\n\n /**\n * Indicates whether to display a help button in the tile header. To display the\n * button, you must also listen for the `helpClick` event.\n * @default true\n */\n @Input()\n public showHelp = true;\n\n /**\n * Specifies a human-readable name for the tile that is available for multiple purposes, such as accessibility and instrumentation. For example, the component uses the name to construct ARIA labels for tile controls to [support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public tileName: string | undefined;\n\n /**\n * Fires when users select the settings button in the tile header. The settings\n * button only appears when the `showSettings` property is set to `true`.\n */\n @Output()\n public settingsClick = new EventEmitter();\n\n /**\n * Fires when the tile's collapsed state changes. Returns `true` when the tile\n * collapses and `false` when it expands.\n */\n @Output()\n public isCollapsedChange = new EventEmitter<boolean>();\n\n /**\n * Fires when users select the help button in the tile header. The help\n * button only appears when the `showHelp` property is set to `true`.\n */\n @Output()\n public helpClick = new EventEmitter();\n\n public get isCollapsed(): boolean {\n if (this.#dashboardService) {\n const configCollapsedState = this.#dashboardService.tileIsCollapsed(this);\n this.#_isCollapsed = configCollapsedState;\n }\n\n return this.#_isCollapsed;\n }\n\n /**\n * Indicates whether the tile is in a collapsed state.\n * @default false\n */\n @Input()\n public set isCollapsed(value: boolean | undefined) {\n this.#_isCollapsed = !!value;\n\n if (this.#dashboardService) {\n this.#dashboardService.setTileCollapsed(this, this.#_isCollapsed);\n }\n\n this.isCollapsedChange.emit(this.#_isCollapsed);\n }\n\n public ariaDescribedBy: string | undefined;\n\n public isInDashboardColumn = false;\n\n @ViewChild('grabHandle', {\n read: ElementRef,\n static: false,\n })\n public grabHandle: ElementRef | undefined;\n\n @ViewChild('titleContainer', {\n read: ElementRef,\n static: false,\n })\n public title: ElementRef | undefined;\n\n #changeDetector: ChangeDetectorRef;\n #dashboardService: SkyTileDashboardService | undefined;\n #ngUnsubscribe = new Subject<void>();\n #_isCollapsed = false;\n\n constructor(\n public elementRef: ElementRef,\n changeDetector: ChangeDetectorRef,\n @Optional() dashboardService?: SkyTileDashboardService\n ) {\n this.#changeDetector = changeDetector;\n this.#dashboardService = dashboardService;\n this.isInDashboardColumn = !!this.#dashboardService;\n\n if (this.#dashboardService) {\n this.ariaDescribedBy = `${\n this.#dashboardService.bagId\n }-move-instructions`;\n\n /**\n * This subscription ensures that if any values which come in from the dashboard service are\n * updated that the component will update if the tile's parent component utilizes OnPush\n * change detection.\n */\n this.#dashboardService.configChange\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 public settingsButtonClicked(): void {\n this.settingsClick.emit(undefined);\n }\n\n public helpButtonClicked(): void {\n this.helpClick.emit(undefined);\n }\n\n public get hasSettings(): boolean {\n return this.settingsClick.observers.length > 0 && this.showSettings;\n }\n\n public get hasHelp(): boolean {\n return this.helpClick.observers.length > 0 && this.showHelp;\n }\n\n public titleClick(): void {\n this.isCollapsed = !this.isCollapsed;\n }\n\n public chevronDirectionChange(direction: string): void {\n this.isCollapsed = direction === 'down';\n }\n\n public moveTile(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (this.#dashboardService) {\n const direction = event.key.toLowerCase().replace('arrow', '');\n /* istanbul ignore else */\n if (\n direction === 'up' ||\n direction === 'down' ||\n direction === 'left' ||\n direction === 'right'\n ) {\n this.#dashboardService.moveTileOnKeyDown(\n this,\n direction,\n this.title\n ? this.title.nativeElement.innerText\n : /* istanbul ignore next */\n undefined\n );\n this.#focusHandle();\n }\n }\n }\n\n #focusHandle(): void {\n this.grabHandle?.nativeElement.focus();\n }\n}\n","<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick()\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\"></ng-content>\n </div>\n <div\n class=\"sky-tile-summary\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern',\n 'sky-headline': 'default'\n }\"\n >\n <ng-content select=\"sky-tile-summary\"></ng-content>\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"cog\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"cog-line\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"th\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"tile-drag\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\"></ng-content>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyChevronModule, SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';\n\nimport { SkyTileSummaryComponent } from './tile-summary.component';\nimport { SkyTileTitleComponent } from './tile-title.component';\nimport { SkyTileComponent } from './tile.component';\n\n@NgModule({\n declarations: [\n SkyTileComponent,\n SkyTileSummaryComponent,\n SkyTileTitleComponent,\n ],\n imports: [\n CommonModule,\n SkyChevronModule,\n SkyIdModule,\n SkyI18nModule,\n SkyIconModule,\n SkyThemeModule,\n SkyTilesResourcesModule,\n SkyTrimModule,\n ],\n exports: [SkyTileComponent, SkyTileSummaryComponent, SkyTileTitleComponent],\n})\nexport class SkyTileModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display inside a padded section of a SkyTileContentComponent.\n */\n@Component({\n selector: 'sky-tile-content-section',\n styleUrls: ['./tile-content-section.component.scss'],\n templateUrl: './tile-content-section.component.html',\n})\nexport class SkyTileContentSectionComponent {}\n","<div\n class=\"sky-tile-content-section\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n>\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's body.\n */\n@Component({\n selector: 'sky-tile-content',\n styleUrls: ['./tile-content.component.scss'],\n templateUrl: 'tile-content.component.html',\n})\nexport class SkyTileContentComponent {}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyTileContentSectionComponent } from './tile-content-section.component';\nimport { SkyTileContentComponent } from './tile-content.component';\n\n@NgModule({\n declarations: [SkyTileContentComponent, SkyTileContentSectionComponent],\n imports: [CommonModule, SkyThemeModule],\n exports: [SkyTileContentComponent, SkyTileContentSectionComponent],\n})\nexport class SkyTileContentModule {}\n","/**\n * Specifies the type of message to send to the tile dashboard component.\n */\nexport enum SkyTileDashboardMessageType {\n /**\n * Expands all tiles within the tile dashboard.\n */\n ExpandAll = 0,\n\n /**\n * Collapses all tiles within the tile dashboard.\n */\n CollapseAll = 1,\n}\n","import {\n Component,\n Injector,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { SkyTileDashboardService } from '../tile-dashboard/tile-dashboard.service';\n\nlet columnIdIndex = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-tile-dashboard-column',\n styleUrls: ['./tile-dashboard-column.component.scss'],\n templateUrl: './tile-dashboard-column.component.html',\n})\nexport class SkyTileDashboardColumnComponent {\n public bagId: string;\n\n public columnId: string;\n\n @ViewChild('content', {\n read: ViewContainerRef,\n static: false,\n })\n public content: ViewContainerRef | undefined;\n\n #dashboardService: SkyTileDashboardService;\n\n constructor(\n public injector: Injector,\n dashboardService: SkyTileDashboardService\n ) {\n this.#dashboardService = dashboardService;\n\n this.columnId = `tile-dashboard-column-${++columnIdIndex}`;\n\n this.bagId = this.#dashboardService.bagId;\n }\n}\n","<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragulaModule } from 'ng2-dragula';\n\nimport { SkyTileDashboardColumnComponent } from './tile-dashboard-column.component';\n\n@NgModule({\n declarations: [SkyTileDashboardColumnComponent],\n imports: [CommonModule, DragulaModule],\n exports: [SkyTileDashboardColumnComponent],\n})\nexport class SkyTileDashboardColumnModule {}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Observable, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkyTileDashboardColumnComponent } from '../tile-dashboard-column/tile-dashboard-column.component';\nimport { SkyTileDashboardConfig } from '../tile-dashboard-config/tile-dashboard-config';\n\nimport { SkyTileDashboardMessage } from './tile-dashboard-message';\nimport { SkyTileDashboardMessageType } from './tile-dashboard-message-type';\nimport { SkyTileDashboardService } from './tile-dashboard.service';\n\n/**\n * Specifies a container to group multiple tiles.\n */\n@Component({\n selector: 'sky-tile-dashboard',\n styleUrls: ['./tile-dashboard.component.scss'],\n templateUrl: './tile-dashboard.component.html',\n providers: [SkyTileDashboardService],\n})\nexport class SkyTileDashboardComponent implements AfterViewInit, OnDestroy {\n /**\n * Populates the tile dashboard based on the `SkyTileDashboardConfig` object.\n * @required\n */\n @Input()\n public set config(value: SkyTileDashboardConfig | undefined) {\n if (value && !this.#configSet) {\n this.#_config = value;\n this.#configSet = true;\n this.#checkReady();\n }\n }\n\n public get config(): SkyTileDashboardConfig | undefined {\n return this.#_config;\n }\n\n /**\n * Provides an observable to send commands to the tile dashboard. The commands should respect the\n * `SkyTileDashboardMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyTileDashboardMessage>();\n\n /**\n * Specifies a unique key for the UI Config Service to retrieve stored settings\n * from a database. The UI Config Service saves configuration settings for users\n * to preserve the layout and collapsed state of tile dashboards. The UI Config Service relies on `id` values from the `config` property to maintain user settings. For more information\n * about the UI Config Service, see the\n * [sticky settings documentation](https://developer.blackbaud.com/skyux/learn/get-started/sticky-settings).\n */\n @Input()\n public settingsKey: string | undefined;\n\n /**\n * Fires when the tile dashboard changes state and emits a SkyTileDashboardConfig\n * object. This occurs when tiles collapse or expand and when users drag and drop\n * tiles to rearrange them.\n */\n @Output()\n public configChange = new EventEmitter<SkyTileDashboardConfig>();\n\n @ViewChildren(SkyTileDashboardColumnComponent)\n public columns: QueryList<SkyTileDashboardColumnComponent> | undefined;\n\n @ViewChild('singleColumn', {\n read: SkyTileDashboardColumnComponent,\n static: false,\n })\n public singleColumn: SkyTileDashboardColumnComponent | undefined;\n\n public tileMovedReport = '';\n\n public moveInstructionsId: string;\n\n #configSet = false;\n #dashboardService: SkyTileDashboardService;\n #mediaQueryService: SkyMediaQueryService;\n #ngUnsubscribe = new Subject<void>();\n #resourcesService: SkyLibResourcesService | undefined;\n #viewReady = false;\n #_config: SkyTileDashboardConfig | undefined;\n\n constructor(\n dashboardService: SkyTileDashboardService,\n mediaQueryService: SkyMediaQueryService,\n @Optional() resourcesService?: SkyLibResourcesService\n ) {\n this.#dashboardService = dashboardService;\n this.#mediaQueryService = mediaQueryService;\n this.#resourcesService = resourcesService;\n this.moveInstructionsId =\n this.#dashboardService.bagId + '-move-instructions';\n\n this.#dashboardService.configChange.subscribe(\n (config: SkyTileDashboardConfig) => {\n this.configChange.emit(config);\n\n // Update aria live region with tile drag info\n if (config.movedTile && this.#resourcesService) {\n let messageObservable: Observable<string>;\n if (\n this.#mediaQueryService.current === SkyMediaBreakpoints.xs ||\n this.#mediaQueryService.current === SkyMediaBreakpoints.sm\n ) {\n messageObservable = this.#resourcesService.getString(\n 'skyux_tile_moved_assistive_text',\n config.movedTile.tileDescription,\n '1',\n '1',\n config.movedTile.position.toString(),\n config.layout.singleColumn.tiles.length.toString()\n );\n } else {\n messageObservable = this.#resourcesService.getString(\n 'skyux_tile_moved_assistive_text',\n config.movedTile.tileDescription,\n config.movedTile.column.toString(),\n config.layout.multiColumn.length.toString(),\n config.movedTile.position.toString(),\n config.layout.multiColumn[\n config.movedTile.column - 1\n ].tiles.length.toString()\n );\n }\n messageObservable.pipe(take(1)).subscribe((message: string) => {\n this.tileMovedReport = message;\n });\n }\n }\n );\n }\n\n public ngAfterViewInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyTileDashboardMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#viewReady = true;\n this.#checkReady();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#dashboardService.destroy();\n }\n\n #checkReady(): void {\n if (this.#viewReady && this.config) {\n setTimeout(() => {\n if (this.config && this.columns && this.singleColumn) {\n this.#dashboardService.init(\n this.config,\n this.columns,\n this.singleColumn,\n this.settingsKey\n );\n }\n }, 0);\n }\n }\n\n #handleIncomingMessages(message: SkyTileDashboardMessage): void {\n switch (message.type) {\n case SkyTileDashboardMessageType.ExpandAll:\n this.#dashboardService.setAllTilesCollapsed(false);\n break;\n\n case SkyTileDashboardMessageType.CollapseAll:\n this.#dashboardService.setAllTilesCollapsed(true);\n break;\n }\n }\n}\n","<ng-container *ngIf=\"config\">\n <span aria-live=\"assertive\" class=\"sky-assistive-text\">\n {{ tileMovedReport }}\n </span>\n <sky-tile-dashboard-column\n *ngFor=\"let column of config.layout.multiColumn\"\n class=\"sky-tile-dashboard-layout-multi\"\n [ngStyle]=\"{\n 'flex-basis': 100 / config.layout.multiColumn.length + '%'\n }\"\n >\n </sky-tile-dashboard-column>\n <sky-tile-dashboard-column\n class=\"sky-tile-dashboard-layout-single\"\n #singleColumn\n >\n </sky-tile-dashboard-column>\n <span class=\"sky-screen-reader-only\" [id]=\"moveInstructionsId\">{{\n 'skyux_tile_move_instructions' | skyLibResources\n }}</span>\n <ng-content></ng-content>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragulaService } from 'ng2-dragula';\n\nimport { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';\nimport { SkyTileDashboardColumnModule } from '../tile-dashboard-column/tile-dashboard-column.module';\n\nimport { SkyTileDashboardComponent } from './tile-dashboard.component';\n\n@NgModule({\n declarations: [SkyTileDashboardComponent],\n providers: [DragulaService],\n imports: [\n CommonModule,\n SkyTileDashboardColumnModule,\n SkyTilesResourcesModule,\n ],\n exports: [SkyTileDashboardComponent],\n})\nexport class SkyTileDashboardModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragulaService } from 'ng2-dragula';\n\nimport { SkyTileContentModule } from './tile-content/tile-content.module';\nimport { SkyTileDashboardColumnModule } from './tile-dashboard-column/tile-dashboard-column.module';\nimport { SkyTileDashboardModule } from './tile-dashboard/tile-dashboard.module';\nimport { SkyTileModule } from './tile/tile.module';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n SkyTileContentModule,\n SkyTileModule,\n SkyTileDashboardColumnModule,\n SkyTileDashboardModule,\n ],\n providers: [DragulaService],\n})\nexport class SkyTilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.SkyTileDashboardService","i2","i4","i6","i3","i5.SkyTileDashboardColumnComponent"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i4 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { NgModule, Component, EventEmitter, Injectable, Optional, Output, ElementRef, Input, ViewChild, ViewChildren } from '@angular/core';
4
+ import { NgModule, Component, EventEmitter, Injectable, Optional, Output, ElementRef, Input, ViewChild, ViewContainerRef, ViewChildren } from '@angular/core';
5
5
  import * as i2 from '@skyux/core';
6
6
  import { SkyMediaBreakpoints, SkyDynamicComponentLocation, SkyIdModule, SkyTrimModule } from '@skyux/core';
7
7
  import * as i3$1 from '@skyux/i18n';
@@ -426,7 +426,7 @@ _SkyTileDashboardService_columns = new WeakMap(), _SkyTileDashboardService_confi
426
426
  const componentRef = __classPrivateFieldGet(this, _SkyTileDashboardService_dynamicComponentService, "f").createComponent(componentType, {
427
427
  location: SkyDynamicComponentLocation.ElementBottom,
428
428
  providers: providers,
429
- referenceEl: column.content?.nativeElement,
429
+ viewContainerRef: column.content,
430
430
  parentInjector: column.injector,
431
431
  });
432
432
  this.addTileComponent(layoutTile, componentRef);
@@ -543,7 +543,7 @@ _SkyTileDashboardService_columns = new WeakMap(), _SkyTileDashboardService_confi
543
543
  }
544
544
  });
545
545
  }, _SkyTileDashboardService_getColumnEl = function _SkyTileDashboardService_getColumnEl(column) {
546
- return column?.content?.nativeElement.parentNode;
546
+ return column?.content?.element.nativeElement.parentNode;
547
547
  }, _SkyTileDashboardService_findTile = function _SkyTileDashboardService_findTile(tileId) {
548
548
  /*istanbul ignore else */
549
549
  if (__classPrivateFieldGet(this, _SkyTileDashboardService_config, "f") && __classPrivateFieldGet(this, _SkyTileDashboardService_config, "f").layout.multiColumn) {
@@ -909,14 +909,14 @@ class SkyTileDashboardColumnComponent {
909
909
  }
910
910
  _SkyTileDashboardColumnComponent_dashboardService = new WeakMap();
911
911
  SkyTileDashboardColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnComponent, deps: [{ token: i0.Injector }, { token: SkyTileDashboardService }], target: i0.ɵɵFactoryTarget.Component });
912
- SkyTileDashboardColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyTileDashboardColumnComponent, selector: "sky-tile-dashboard-column", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"], dependencies: [{ kind: "directive", type: i1.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] });
912
+ SkyTileDashboardColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyTileDashboardColumnComponent, selector: "sky-tile-dashboard-column", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"], dependencies: [{ kind: "directive", type: i1.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] });
913
913
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnComponent, decorators: [{
914
914
  type: Component,
915
915
  args: [{ selector: 'sky-tile-dashboard-column', template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"] }]
916
916
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: SkyTileDashboardService }]; }, propDecorators: { content: [{
917
917
  type: ViewChild,
918
918
  args: ['content', {
919
- read: ElementRef,
919
+ read: ViewContainerRef,
920
920
  static: false,
921
921
  }]
922
922
  }] } });