/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { EventEmitter, QueryList, SimpleChanges, ElementRef, Renderer2, NgZone, OnInit, AfterViewInit, OnDestroy, AfterContentInit, OnChanges } from '@angular/core'; import { TileLayoutDraggingService } from './dragging-service'; import { TileLayoutResizeEvent } from './resize-event'; import { TileLayoutItemComponent } from './tilelayout-item.component'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { TileLayoutReorderEvent } from './reorder-event'; import { TileLayoutGap } from './models/gap.interface'; import { TileLayoutFlowMode } from './models/flowmode.type'; import { TileLayoutKeyboardNavigationService } from './keyboard-navigation.service'; import * as i0 from "@angular/core"; /** * Represents the [Kendo UI TileLayout component for Angular]({% slug overview_tilelayout %}) * * @example * ```html * * Content 1 * Content 2 * * ``` * @remarks * Supported children components are: {@link TileLayoutItemComponent}. */ export declare class TileLayoutComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy, OnChanges { private zone; private elem; private renderer; private localization; private draggingService; private navigationService; /** * Specifies the number of columns ([see example](slug:tiles_tilelayout#size-and-position)). * @default 1 */ columns: number; /** * Sets the width of the columns. * Use numeric values for pixels or string values for other CSS units ([see example](slug:tiles_tilelayout#size-and-position)). * @default '1fr' */ columnWidth: string | number; /** * Sets the spacing between layout items in pixels. * Use an object with `rows` and `columns` properties to set different horizontal and vertical spacing. * Use a single number to apply the same spacing to both directions. * * @default { rows: 16, columns: 16 } */ set gap(value: TileLayoutGap | number); get gap(): TileLayoutGap | number; /** * Enables or disables item reordering ([see example]({% slug reordering_tilelayout %})). * @default false */ reorderable: boolean; /** * Enables or disables item resizing ([see example]({% slug resizing_tilelayout %})). * @default false */ resizable: boolean; /** * Sets the height of the rows. * Use numeric values for pixels or string values for other CSS units ([see example](slug:tiles_tilelayout#size-and-position)). * @default '1fr' */ rowHeight: string | number; /** * * Controls how the auto-placement algorithm works, specifying exactly how auto-placed items are flowed in the TileLayout ([see example]({% slug tiles_autoflow_tilelayout %})). * * For further reference, check the [grid-auto-flow CSS article](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow). * @default 'column' */ autoFlow: TileLayoutFlowMode; /** * Enables or disables [keyboard navigation](slug:keyboard_navigation_tilelayout). * @default true */ navigable: boolean; /** * Fires when item reordering is completed ([see example]({% slug reordering_tilelayout %})). * You can prevent this event to cancel the reorder operation. */ reorder: EventEmitter; /** * Fires when item resizing is completed ([see example]({% slug resizing_tilelayout %})). * You can prevent this event to cancel the resize operation. */ resize: EventEmitter; hostClass: boolean; hostRole: string; get gapStyle(): string; direction: 'ltr' | 'rtl'; get currentColStart(): string; get currentRowStart(): string; get draggedItemWrapper(): HTMLElement; get targetOrder(): number; /** * Contains a query list of the `TileLayoutItemComponent` instances that are used in the TileLayout. * This allows you to access the items programmatically and manipulate their properties or listen to their events. */ items: QueryList; private hint; /** * @hidden */ showLicenseWatermark: boolean; private draggable; private subs; private _gap; constructor(zone: NgZone, elem: ElementRef, renderer: Renderer2, localization: LocalizationService, draggingService: TileLayoutDraggingService, navigationService: TileLayoutKeyboardNavigationService); ngOnInit(): void; ngAfterViewInit(): void; ngAfterContentInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private handlePress; private handleDrag; private handleRelease; private applyColStyling; private applyRowStyling; private draggingServiceConfig; private initializeDraggable; private applyAutoFlow; private setItemsOrder; private onFocusIn; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }