/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ColumnSortSettings } from './SortSettings'; /** * Base interface for column props */ export interface ColumnBaseProps { /** * The field to which the column is bound. */ field?: string; /** * The title of the column. */ title?: string; /** * Allows the column headers to be clicked and the `sortChange` event emitted. * You have to handle the `sortChange` event yourself and sort the data. * Defaults to `true`. */ sortable?: boolean | ColumnSortSettings; /** * The width of the column (in pixels). */ width?: string | number; /** * Defines if the header selection checkbox is checked. */ headerSelectionValue?: boolean; /** * The format that is applied to the value before it is displayed. * Takes the `{0:format}` form where `format` is a standard number format, a custom number format, * a standard date format, or a custom date format. For more information on the supported date and number formats, * refer to the [kendo-intl](https://github.com/telerik/kendo-intl/blob/develop/docs/index.md) documentation. */ format?: string; /** * Sets the custom CSS classes to the column header cell. */ headerClassName?: string; /** * Sets the custom CSS classes to the column cells. */ className?: string; /** * Indicates whether the column is resizable. */ resizable?: boolean; /** * Indicates whether the column is reorderable. */ reorderable?: boolean; /** * The width of the column (in pixels) below which the user is not able to resize the column through the UI. Defaults to `10`. */ minResizableWidth?: number; /** * Determinates the position of the column. * Columns with smaller `orderIndex` will appear before columns with bigger `orderIndex`. * Defaults to `0`. */ orderIndex?: number; /** * The column identifier used to distinguish columns for example in multi column header scenarios with resize and keyboard navigation. * Also used for unique key for rendering the component cells. * If not set, the component will generate unique `id` automatically. */ id?: string; /** * Defines the component that will be rendered as a cell. * If not set, a `Cell` will be rendered by default. */ cell?: any; /** * @hidden */ navigatable?: boolean; /** * @hidden */ locked?: boolean; } /** * @hidden */ export interface TreeColumnBaseProps extends ColumnBaseProps { /** * A collection of child columns. */ children?: TreeColumnBaseProps[]; /** * The column menu component. If set to `true`, the column menu will be rendered. */ columnMenu?: any; /** * If set to `true`, the column will render the icons that are used for expanding and collapsing child rows. */ expandable?: boolean; /** * Defines the component that will be rendered as an edit cell. */ editCell?: any; /** * Defines the component that will be rendered as a header cell. * If not set, a `HeaderCell` will be rendered by default. */ headerCell?: any; /** * **Deprecated**. Use `filterCell` prop instead. */ filter?: any; /** * Defines the component that will be rendered as a filter cell. */ filterCell?: any; /** * Defines the component that will be rendered as a footer cell. */ footerCell?: any; } /** * @hidden */ export interface ExtendedColumnProps extends TreeColumnBaseProps { declarationIndex: number; parentIndex: number; colSpan: number; rowSpan: number; depth: number; kFirst?: boolean; index: number; children: ExtendedColumnProps[]; left: number; right: number; rightBorder: boolean; groupable: boolean; ariaColumnIndex: number; isAccessible: boolean; } /** * @hidden */ export declare const ColumnDefaultProps: { filterable: boolean; editable: boolean; sortable: boolean; resizable: boolean; reorderable: boolean; groupable: boolean; };