/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { TemplateRef, QueryList, AfterViewInit } from '@angular/core'; import { HeaderTemplateDirective } from '../rendering/header/header-template.directive'; import { FooterTemplateDirective } from '../rendering/footer/footer-template.directive'; import { ColumnMenuTemplateDirective } from '../column-menu/column-menu-template.directive'; import { IdService } from '../common/id.service'; import { CellRowspanFn } from './cell-rowspan'; import * as i0 from "@angular/core"; /** * @hidden */ export declare const isSpanColumn: (column: any) => any; /** * @hidden */ export declare const isCheckboxColumn: (column: any) => any; /** * @hidden */ export declare const isRowReorderColumn: (column: any) => any; /** * The base class for the column components of the Grid. * * Use this class as a foundation for custom column implementations. */ export declare class ColumnBase implements AfterViewInit { parent?: ColumnBase; /** * @hidden */ isReordered: boolean; /** * @hidden */ initialMaxResizableWidth: number; /** * @hidden */ initialMinResizableWidth: number; /** * @hidden */ initiallyChecked: boolean; /** * @hidden */ currentlyChecked: boolean; /** * @hidden */ matchesMedia: boolean; /** * Gets the column index after reordering. The `orderIndex` property is read-only. Setting this field does not change the column order. * * @default 0 */ orderIndex: number; /** * @hidden */ set leafIndex(value: number); /** * @hidden */ get leafIndex(): number; protected _leafIndex: number; /** * @hidden */ isColumnGroup: boolean; /** * @hidden */ isSpanColumn: boolean; /** * Specifies if the column is resizable. * @default true */ resizable: boolean; /** * Specifies if the column is reorderable. * @default true */ reorderable: boolean; /** * Sets the distance in pixels by which the column width is adjusted during keyboard navigation resizing. * Used when resizing columns with `Alt/Option + Left/Right Arrow` keyboard shortcuts. * * @default 10 */ resizeStep: number; /** * Sets the minimum width (in pixels) for resizing the column by using the UI ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/columns/resizing#limiting-the-resizing)). * The `autoFitColumn` and `autoFitColumns` methods have higher priority. * @default 10 */ minResizableWidth: number; /** * Sets the maximum width (in pixels) for resizing the column by using the UI ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/columns/resizing#limiting-the-resizing)). * By default, the maximum width is not restricted. * The `autoFitColumn` and `autoFitColumns` methods have higher priority. */ maxResizableWidth: number; /** * Sets the column title. */ title: string; /** * Sets the column width (in pixels). */ set width(value: number); get width(): number; /** * Specifies if the column is automatically resized during initialization to fit its header and row content. */ autoSize: boolean; /** * Toggles the locked (frozen) state of the column ([more information and example](https://www.telerik.com/kendo-angular-ui/components/grid/columns/locked)). * * @default false */ set locked(value: boolean); get locked(): boolean; protected _locked: boolean; /** * Specifies if the column is always visible when scrolling the Grid horizontally. * * @default false */ sticky: boolean; /** * Sets the visibility of the column ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/columns/hidden#using-the-built-in-options)). * * @default false */ hidden: boolean; /** * Sets the condition for the column to remain visible ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/responsive-design#columns)). * If you set the `hidden` property, `media` is ignored. * * Accepts device identifiers from [Bootstrap 4](https://v4-alpha.getbootstrap.com/layout/grid/#grid-options) * ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/responsive-design)). */ media: string; /** * Specifies if the column can be locked or unlocked from the column menu or by reordering. * @default true */ lockable: boolean; /** * Specifies if the column can be stuck or unstuck from the column menu. * @default true */ stickable: boolean; /** * Specifies if the column menu is shown for the column. * @default true */ columnMenu: boolean; /** * Specifies if the column is included in the column-chooser list. * @default true */ includeInChooser: boolean; /** * Sets the `role` attribute for the table cells (excluding footer and header) of the column. * @default "gridcell" */ tableCellsRole: string; /** * Sets custom styles for the table cells (excluding footer and header) of the column. * Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-column-cells). */ style: { [key: string]: string; }; /** * Sets custom styles for the header cell of the column. * Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-column-header). */ headerStyle: { [key: string]: string; }; /** * Sets custom styles for the filter row cell. * Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-filter-row-cells). */ filterStyle: { [key: string]: string; }; /** * Sets custom styles for the footer cell of the column. * Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-column-footer). */ footerStyle: { [key: string]: string; }; /** * Sets custom CSS classes to the column cells. * Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-column-cells). * To customize header and footer column cells, use the [headerClass](https://www.telerik.com/kendo-angular-ui/components/grid/api/columncomponent#headerclass) * and [footerClass](https://www.telerik.com/kendo-angular-ui/components/grid/api/columncomponent#footerclass) inputs. */ cssClass: string | string[] | Set | { [key: string]: any; }; /** * Sets custom CSS classes to the column header cell. * Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-column-header). */ headerClass: string | string[] | Set | { [key: string]: any; }; /** * Sets custom CSS classes to the filter row cell. * Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-filter-row-cells). */ filterClass: string | string[] | Set | { [key: string]: any; }; /** * Sets custom CSS classes to the column footer cell. * Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](https://www.telerik.com/kendo-angular-ui/components/grid/styling-and-appearance/columns#customizing-column-footer). */ footerClass: string | string[] | Set | { [key: string]: any; }; /** * Defines a function to determine the rowspan of each column cell. * If you set this to `true`, a default function is used that spans adjacent cells with equal values. * Cells have equal values when their data items' values for the respective field are equal. */ set cellRowspan(cellRowspan: CellRowspanFn | boolean); get cellRowspan(): CellRowspanFn; /** * @hidden */ headerTemplates: QueryList; /** * @hidden */ footerTemplate: FooterTemplateDirective; /** * @hidden */ columnMenuTemplates: QueryList; /** * @hidden */ resizeStartWidth: number; /** * @hidden */ idService: IdService; /** * @hidden */ _cellRowspan: CellRowspanFn; /** * @hidden */ implicitWidth: number; /** * @hidden */ get level(): number; /** * @hidden */ get isLocked(): boolean; protected _width: number; /** * @hidden */ get id(): string; /** * @hidden */ get colspan(): number; /** * @hidden */ rowspan(totalColumnLevels: number): number; /** * @hidden */ get headerTemplateRef(): TemplateRef; /** * @hidden */ get footerTemplateRef(): TemplateRef; /** * @hidden */ get columnMenuTemplateRef(): TemplateRef; /** * @hidden */ get displayTitle(): string; /** * @hidden */ get isVisible(): boolean; private _id; /** * @hidden */ constructor(parent?: ColumnBase, idService?: IdService); ngAfterViewInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }