diff --git a/.gitignore b/.gitignore index 364114195..5a4d054e4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ examples/__examples.html .parcel-cache .docusaurus /docs/api +react-virtuoso-0.0.0-development.tgz diff --git a/src/component-interfaces/VirtuosoGrid.ts b/src/component-interfaces/VirtuosoGrid.ts index d18802849..98a52f322 100644 --- a/src/component-interfaces/VirtuosoGrid.ts +++ b/src/component-interfaces/VirtuosoGrid.ts @@ -1,4 +1,3 @@ -import { GridStateSnapshot } from '../gridSystem' import type { GridComponents, GridComputeItemKey, @@ -10,6 +9,23 @@ import type { } from '../interfaces' import { LogLevel } from '../loggerSystem' +export interface Gap { + row: number + column: number +} + +export interface ElementDimensions { + width: number + height: number +} + +export interface GridStateSnapshot { + viewport: ElementDimensions + item: ElementDimensions + gap: Gap + scrollTop: number +} + export interface VirtuosoGridProps extends GridRootProps { /** * The total amount of items to be rendered. diff --git a/src/gridSystem.ts b/src/gridSystem.ts index 0c1a37a72..c0171a9fe 100644 --- a/src/gridSystem.ts +++ b/src/gridSystem.ts @@ -11,19 +11,10 @@ import { loggerSystem } from './loggerSystem' import { windowScrollerSystem } from './windowScrollerSystem' import { getInitialTopMostItemIndexNumber } from './initialTopMostItemIndexSystem' import { skipFrames } from './utils/skipFrames' +import { ElementDimensions, Gap, GridStateSnapshot } from './component-interfaces/VirtuosoGrid' export type Data = unknown[] | null -export interface Gap { - row: number - column: number -} - -export interface ElementDimensions { - width: number - height: number -} - export interface GridLayout { top: number bottom: number @@ -80,13 +71,6 @@ function dimensionComparator(prev: ElementDimensions, next: ElementDimensions) { return prev && prev.width === next.width && prev.height === next.height } -export interface GridStateSnapshot { - viewport: ElementDimensions - item: ElementDimensions - gap: Gap - scrollTop: number -} - export const gridSystem = /*#__PURE__*/ u.system( ([ { overscan, visibleRange, listBoundary },