UNPKG

es-grid-template

Version:

es-grid-template

55 lines (54 loc) 1.46 kB
import type { ArtColumn } from '../interfaces'; export type VirtualEnum = false | true | 'auto'; export interface VerticalRenderRange { topIndex: number; topBlank: number; bottomIndex: number; bottomBlank: number; } export interface HorizontalRenderRange { leftIndex: number; leftBlank: number; rightIndex: number; rightBlank: number; } export type VisibleColumnDescriptor = { type: 'blank'; blankSide: 'left' | 'right'; width: number; } | { type: 'normal'; colIndex: number; col: ArtColumn; }; export interface ResolvedUseVirtual { horizontal: boolean; vertical: boolean; header: boolean; } export interface RenderInfo { verticalRenderRange: VerticalRenderRange; horizontalRenderRange: HorizontalRenderRange; visible: VisibleColumnDescriptor[]; flat: { full: ArtColumn[]; left: ArtColumn[]; center: ArtColumn[]; right: ArtColumn[]; }; nested: { full: ArtColumn[]; left: ArtColumn[]; center: ArtColumn[]; right: ArtColumn[]; }; stickyLeftMap: Map<number, number>; stickyRightMap: Map<number, number>; useVirtual: ResolvedUseVirtual; /** Whether props.columns contains any valid locked columns */ hasLockColumn: boolean; /** Total width of left locked columns */ leftLockTotalWidth: number; /** Total width of right locked columns */ rightLockTotalWidth: number; }