UNPKG

@mui/x-virtualizer

Version:

MUI virtualization library

101 lines 2.29 kB
import { Size } from "./core.js"; export interface DimensionsState { /** * Indicates that the dimensions have been initialized. */ isReady: boolean; /** * The root container size. */ root: Size; /** * The viewport size including scrollbars. */ viewportOuterSize: Size; /** * The viewport size not including scrollbars. */ viewportInnerSize: Size; /** * The size of the main content (unpinned rows & columns). */ contentSize: Size; /** * The minimum size to display the grid, including all pinned sections and headers. */ minimumSize: Size; /** * Indicates if a scroll is currently needed to go from the beginning of the first column to the end of the last column. */ hasScrollX: boolean; /** * Indicates if a scroll is currently needed to go from the beginning of the first row to the end of the last row. */ hasScrollY: boolean; /** * Size of the scrollbar used to scroll the rows in pixel. * It is defined even when the scrollbar is currently not needed. */ scrollbarSize: number; /** * Width of a row. At least as wide as `viewportOuterSize.width`. */ rowWidth: number; /** * Height of a row. */ rowHeight: number; /** * Size of all the columns. */ columnsTotalWidth: number; /** * Size of left pinned columns. */ leftPinnedWidth: number; /** * Size of right pinned columns. */ rightPinnedWidth: number; /** * Size of the top container. */ topContainerHeight: number; /** * Size of the bottom container. */ bottomContainerHeight: number; } /** * The rows total height and positions. */ export interface RowsMetaState { /** * The grid rows positions. */ positions: number[]; /** * The sum of all visible grid rows in the current rows. */ currentPageTotalHeight: number; /** * The total height of the pinned top rows. */ pinnedTopRowsTotalHeight: number; /** * The total height of the pinned bottom rows. */ pinnedBottomRowsTotalHeight: number; } export interface RowSpacing { top?: number; bottom?: number; } export type HeightEntry = { content: number; spacingTop: number; spacingBottom: number; detail: number; autoHeight: boolean; needsFirstMeasurement: boolean; };