import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js"; import "../../../utils/index.js"; import { SortOrder } from "./constants.js"; import { Column, ColumnCommonParams, DataGetter, KeyType, RowCommonParams, SortBy, SortState } from "./types.js"; import { AnyColumn } from "./common.js"; import { RowEventHandlers, RowExpandHandler } from "./row.js"; import { onRowRenderedParams } from "./grid.js"; import * as vue from "vue"; import { CSSProperties, ExtractPropTypes, ExtractPublicPropTypes } from "vue"; //#region ../../packages/components/table-v2/src/table.d.ts /** * Param types */ type ColumnSortParams = { column: Column; key: KeyType; order: SortOrder; }; /** * Renderer/Getter types */ type ExtraCellPropGetter = (params: ColumnCommonParams & RowCommonParams & { cellData: T; rowData: any; }) => any; type ExtractHeaderPropGetter = (params: { columns: Column[]; headerIndex: number; }) => any; type ExtractHeaderCellPropGetter = (params: ColumnCommonParams & { headerIndex: number; }) => any; type ExtractRowPropGetter = (params: { columns: Column[]; } & RowCommonParams) => any; type HeaderClassNameGetter = (params: { columns: Column[]; headerIndex: number; }) => string; type RowClassNameGetter = (params: { columns: Column[]; } & RowCommonParams) => string; /** * Handler types */ type ColumnSortHandler = (params: ColumnSortParams) => void; type ColumnResizeHandler = (column: Column, width: number) => void; type ExpandedRowsChangeHandler = (expandedRowKeys: KeyType[]) => void; declare const tableV2Props: { readonly cache: EpPropFinalized; readonly estimatedRowHeight: { readonly default: undefined; readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; readonly __epPropKey: true; }; readonly rowKey: EpPropFinalized<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | (((new (...args: any[]) => string | number | symbol) | (() => KeyType)) | null)[], unknown, unknown, "id", boolean>; readonly headerClass: { readonly type: vue.PropType string | HeaderClassNameGetter) | (() => string | HeaderClassNameGetter) | (((new (...args: any[]) => string | HeaderClassNameGetter) | (() => string | HeaderClassNameGetter)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly headerProps: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly headerCellProps: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly headerHeight: EpPropFinalized<(new (...args: any[]) => number | number[]) | (() => number | number[]) | (((new (...args: any[]) => number | number[]) | (() => number | number[])) | null)[], unknown, unknown, 50, boolean>; readonly footerHeight: EpPropFinalized; readonly rowClass: { readonly type: vue.PropType string | RowClassNameGetter) | (() => string | RowClassNameGetter) | (((new (...args: any[]) => string | RowClassNameGetter) | (() => string | RowClassNameGetter)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly rowProps: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly rowHeight: EpPropFinalized; readonly cellProps: { readonly type: vue.PropType Record | ExtraCellPropGetter) | (() => Record | ExtraCellPropGetter) | (((new (...args: any[]) => Record | ExtraCellPropGetter) | (() => Record | ExtraCellPropGetter)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly columns: { readonly type: vue.PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly data: { readonly type: vue.PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly dataGetter: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly fixedData: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly expandColumnKey: StringConstructor; readonly expandedRowKeys: EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | (((new (...args: any[]) => KeyType[]) | (() => KeyType[])) | null)[], unknown, unknown, () => never[], boolean>; readonly defaultExpandedRowKeys: EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | (((new (...args: any[]) => KeyType[]) | (() => KeyType[])) | null)[], unknown, unknown, () => never[], boolean>; readonly class: StringConstructor; readonly fixed: BooleanConstructor; readonly style: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly width: { readonly type: vue.PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly height: { readonly type: vue.PropType; readonly required: true; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly maxHeight: NumberConstructor; readonly useIsScrolling: BooleanConstructor; readonly indentSize: EpPropFinalized; readonly iconSize: EpPropFinalized; readonly hScrollbarSize: EpPropFinalized; readonly vScrollbarSize: EpPropFinalized; readonly scrollbarAlwaysOn: BooleanConstructor; readonly sortBy: EpPropFinalized<(new (...args: any[]) => SortBy) | (() => SortBy) | (((new (...args: any[]) => SortBy) | (() => SortBy)) | null)[], unknown, unknown, () => { key: KeyType; order: SortOrder; }, boolean>; readonly sortState: EpPropFinalized<(new (...args: any[]) => SortState) | (() => SortState) | (((new (...args: any[]) => SortState) | (() => SortState)) | null)[], unknown, unknown, undefined, boolean>; readonly onColumnSort: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly onExpandedRowsChange: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly onEndReached: { readonly type: vue.PropType<(remainDistance: number) => void>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly onRowExpand: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly onScroll: { readonly type: vue.PropType<(...args: any[]) => void>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly onRowsRendered: { readonly type: vue.PropType<(params: onRowRenderedParams) => void>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly rowEventHandlers: { readonly type: vue.PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }; type TableV2Props = ExtractPropTypes; type TableV2PropsPublic = ExtractPublicPropTypes; //#endregion export { ColumnResizeHandler, ColumnSortHandler, ColumnSortParams, ExpandedRowsChangeHandler, ExtraCellPropGetter, ExtractHeaderCellPropGetter, ExtractHeaderPropGetter, ExtractRowPropGetter, HeaderClassNameGetter, RowClassNameGetter, TableV2Props, TableV2PropsPublic, tableV2Props };