import * as i0 from '@angular/core'; import { EnvironmentInjector, ViewContainerRef, EventEmitter, QueryList, ComponentRef, OnChanges, OnDestroy, ElementRef, TemplateRef, ChangeDetectorRef, SimpleChanges, AfterViewInit } from '@angular/core'; import * as i1 from '@skyux/theme'; import * as i1$1 from '@skyux/i18n'; import { SkyLibResourcesService } from '@skyux/i18n'; import { Subject } from 'rxjs'; import * as i2 from '@angular/common'; /** * @internal */ declare class SkyTileDashboardColumnComponent { #private; injector: EnvironmentInjector; bagId: string; columnId: string; content: ViewContainerRef | undefined; constructor(injector: EnvironmentInjector, dashboardService: SkyTileDashboardService); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface SkyTileDashboardConfigLayoutTile { /** * The ID of a tile to display in the dashboard. */ id: string; /** * Whether the tile is in a collapsed state. */ isCollapsed: boolean; } interface SkyTileDashboardConfigLayoutColumn { /** * An array of `SkyTileDashboardConfigTile` objects that specifies the * tiles to include in the dashboard. */ tiles: SkyTileDashboardConfigLayoutTile[]; } interface SkyTileDashboardConfigLayout { /** * A `SkyTileDashboardConfigLayoutColumn` object that describes how to * display tiles in a single column on small screens. */ singleColumn: SkyTileDashboardConfigLayoutColumn; /** * An array of `SkyTileDashboardConfigLayoutColumn` objects that describes * how to display tiles in multiple columns on larger screens. */ multiColumn: SkyTileDashboardConfigLayoutColumn[]; } interface SkyTileDashboardConfigReorderData { /** * The description of the tile. */ tileDescription: string; /** * The column for the tile. */ column: number; /** * The position of the tile within the column. */ position: number; } interface SkyTileDashboardConfigTile { /** * The ID of the tile. */ id: string; /** * The class type of the tile component. */ componentType: any; /** * The array of data providers that can be passed to the tile. */ providers?: any[]; } interface SkyTileDashboardConfig { /** * An array of SkyTileDashboardConfigTile objects that specifies the tiles * to include in the dashboard. * @required */ tiles: SkyTileDashboardConfigTile[]; /** * A `SkyTileDashboardConfigLayout` object that describes the tile dashboard's layout. */ layout: SkyTileDashboardConfigLayout; /** * A `SkyTileDashboardConfigReorderData` object that describes * how to move a tile within the dashboard. */ movedTile?: SkyTileDashboardConfigReorderData; } /** * @internal */ type SkyTileDashboardColumnMode = 'multi' | 'single'; declare class SkyTileDashboardService { #private; /** * @internal */ bagId: string; /** * @internal */ configChange: EventEmitter; /** * Fires when the tile dashboard's initialization is complete. */ dashboardInitialized: EventEmitter; constructor(); /** * @internal */ init(config: SkyTileDashboardConfig, columns?: QueryList, singleColumn?: SkyTileDashboardColumnComponent, settingsKey?: string): void; /** * Adds a new tile to the tile dashboard. * @param tile Specifies the tile configuration. * @param component Specifies the tile component to add. */ addTileComponent(tile: SkyTileDashboardConfigLayoutTile, component: ComponentRef): void; /** * Checks whether a specified tile is collapsed. * @param tile Specifies the tile component to check. */ tileIsCollapsed(tile: SkyTileComponent): boolean; /** * Sets the collapsed state of all tiles. * @param isCollapsed Indicates whether tiles are collapsed. */ setAllTilesCollapsed(isCollapsed: boolean): void; /** * Sets the collapsed state of a specified tile. * @param tile Specifies the tile component. * @param isCollapsed Indicates whether the tile is collapsed. */ setTileCollapsed(tile: SkyTileComponent | undefined, isCollapsed: boolean): void; /** * @internal */ getTileComponentType(layoutTile: SkyTileDashboardConfigLayoutTile | undefined): any; /** * @internal */ changeColumnMode(mode: SkyTileDashboardColumnMode): void; /** * @internal */ getTileComponent(tileId: string): ComponentRef | undefined; /** * @internal */ moveTileOnKeyDown(tileCmp: SkyTileComponent, direction: 'up' | 'down' | 'left' | 'right', tileDescription: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Provides a common look-and-feel for tab content. */ declare class SkyTileComponent implements OnChanges, OnDestroy { #private; elementRef: ElementRef; /** * A help key that identifies the global help content to display. When specified along with `tileName`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is * added to the tile header. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) as configured by the application. * This property only applies when `tileName` is also specified. */ helpKey: string | undefined; /** * The content of the help popover. When specified along with `tileName`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the tile header. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `tileName` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * Whether to display a settings button in the tile header. To display the * button, you must also listen for the `settingsClick` event. * @default true */ showSettings: boolean; /** * Whether to display a help button in the tile header. To display the * button, you must also listen for the `helpClick` event. * @default true * @deprecated Set the `helpKey` or `helpPopoverContent` inputs instead. */ showHelp: boolean; /** * The human-readable name for the tile that is available to the tile controls for multiple purposes, such as accessibility and instrumentation. The component uses the name to construct ARIA labels for the help, expand/collapse, settings, and drag handle buttons to [support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * For example, if the tile name is "Constituents," the help input's `aria-label` is "Constituents help" and the drag handle's `aria-label` is "Move Constituents." For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label). */ tileName: string | undefined; /** * Fires when users select the settings button in the tile header. The settings * button only appears when the `showSettings` property is set to `true`. */ settingsClick: EventEmitter; /** * Fires when the tile's collapsed state changes. Returns `true` when the tile * collapses and `false` when it expands. */ isCollapsedChange: EventEmitter; /** * Fires when users select the help button in the tile header. The help * button only appears when the `showHelp` property is set to `true`. * @deprecated Set the `helpKey` or `helpPopoverContent` inputs instead. */ helpClick: EventEmitter; get isCollapsed(): boolean; /** * Whether the tile is in a collapsed state. * @default false */ set isCollapsed(value: boolean | undefined); ariaDescribedBy: string | undefined; isInDashboardColumn: boolean; grabHandle: ElementRef | undefined; title: ElementRef | undefined; protected titleRef: ElementRef | undefined; protected tileTitleId: string; constructor(elementRef: ElementRef, changeDetector: ChangeDetectorRef, dashboardService?: SkyTileDashboardService); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; settingsButtonClicked(): void; /** * @deprecated */ helpButtonClicked(): void; get hasSettings(): boolean; /** * @deprecated */ get hasHelp(): boolean; titleClick(evt: MouseEvent): void; chevronDirectionChange(direction: string): void; protected moveTile(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Specifies content to display in the tile's summary. */ declare class SkyTileSummaryComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Specifies content to display in the tile's title. */ declare class SkyTileTitleComponent { protected readonly tileTitleId: string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SkyTileModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * Specifies content to display in the tile's body. */ declare class SkyTileContentComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Specifies content to display inside a padded section of a SkyTileContentComponent. */ declare class SkyTileContentSectionComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SkyTileContentModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * The type of message to send to the tile dashboard component. */ declare enum SkyTileDashboardMessageType { /** * Expands all tiles within the tile dashboard. */ ExpandAll = 0, /** * Collapses all tiles within the tile dashboard. */ CollapseAll = 1 } /** * Specifies the messages to be sent to the tile dashboard component. */ interface SkyTileDashboardMessage { /** * The type of message to send. */ type?: SkyTileDashboardMessageType; } /** * Specifies a container to group multiple tiles. */ declare class SkyTileDashboardComponent implements AfterViewInit, OnDestroy { #private; /** * Populates the tile dashboard based on the `SkyTileDashboardConfig` object. * @required */ set config(value: SkyTileDashboardConfig | undefined); get config(): SkyTileDashboardConfig | undefined; /** * The observable to send commands to the tile dashboard. The commands must respect the * `SkyTileDashboardMessage` type. */ messageStream: Subject; /** * The unique key for the UI Config Service to retrieve stored settings * from a database. The UI Config Service saves configuration settings for users * 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 * about the UI Config Service, see the * [sticky settings documentation](https://developer.blackbaud.com/skyux/learn/develop/sticky-settings). */ settingsKey: string | undefined; /** * Fires when the tile dashboard changes state and emits a SkyTileDashboardConfig * object. This occurs when tiles collapse or expand and when users drag and drop * tiles to rearrange them. */ configChange: EventEmitter; columns: QueryList | undefined; singleColumn: SkyTileDashboardColumnComponent | undefined; tileMovedReport: string; moveInstructionsId: string; protected layoutClassName: i0.Signal; constructor(dashboardService: SkyTileDashboardService, resourcesService?: SkyLibResourcesService); ngAfterViewInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Import into any component library module that needs to use resource strings. */ declare class SkyTilesResourcesModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SkyTileDashboardModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SkyTileDashboardColumnModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SkyTilesModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { SkyTileContentModule, SkyTileDashboardColumnModule, SkyTileDashboardMessageType, SkyTileDashboardModule, SkyTileDashboardService, SkyTileModule, SkyTilesModule, SkyTileComponent as λ1, SkyTileSummaryComponent as λ2, SkyTileTitleComponent as λ3, SkyTileContentSectionComponent as λ4, SkyTileContentComponent as λ5, SkyTileDashboardColumnComponent as λ6, SkyTileDashboardComponent as λ7 }; export type { SkyTileDashboardConfig, SkyTileDashboardConfigLayout, SkyTileDashboardConfigLayoutColumn, SkyTileDashboardConfigLayoutTile, SkyTileDashboardConfigReorderData, SkyTileDashboardConfigTile, SkyTileDashboardMessage };