import React from 'react'; import BlockData from '../BlockData'; import '../global.css'; import { ICollision, CollisionProps, ColumnProps, ColumnState } from './IColumn'; export default class Column extends React.Component, ColumnState> { blockPropsMap: WeakMap, CollisionProps>; state: { isMouseDown: boolean; blocksCopy: BlockData[]; }; static getDerivedStateFromProps(props: ColumnProps, state: ColumnState): { blocksCopy: BlockData[]; } | null; private generateSelectedBlocks; private _setAllBlockCollisionProps; _calcBlockWidths: (blocks?: BlockData[] | undefined) => void; /** * calculates how close to the previous block label a block is */ _closestCollisionIx: (block: BlockData, collisions: ICollision[]) => number; /** * returns the lowest value index of the collision set */ _minCollisionIx: (collisions: ICollision[]) => number; /** * finds the closest colliding block */ _closestCollision: (blockIx: number, collisions: ICollision[]) => ICollision | undefined; /** * calculates the number of collisions for a block */ _calcNumCollisions: (blockIx: number, closestCollision: ICollision, minCollisionIx: number) => number; /** * calculates the number of blocks the specified block overlaps with */ _collidingBlocks: (block: BlockData, blocks: BlockData[]) => ICollision[]; _setMouseDown: (isMouseDown: boolean) => void; /** * partial application of the 'callActiveMethod' prop */ _callActiveMethod: (indexes: number[], blockToModify?: BlockData | undefined) => void; /** * calls the callback provided in props with the index value of the column */ private toggleSelect; render(): JSX.Element; }