@blueprintjs/table
Version:
Scalable interactive table component
50 lines (49 loc) • 1.59 kB
TypeScript
import * as React from "react";
import type { Props } from "@blueprintjs/core";
export declare enum Orientation {
HORIZONTAL = 1,
VERTICAL = 0
}
export interface LockableLayout {
onLayoutLock: (isLayoutLocked?: boolean) => void;
}
export interface ResizeHandleProps extends Props, LockableLayout {
/**
* A callback that is called while the user is dragging the resize
* handle.
*
* @param offset is the difference between the initial and current coordinates
* @param delta is the difference between this and the previous offset
*/
onResizeMove?: (offset: number, delta: number) => void;
/**
* A callback that is called when the user is done dragging the resize
* handle.
*
* @param offset is the difference between the initial and final coordinates
*/
onResizeEnd?: (offset: number) => void;
/**
* A callback that is called when the user double clicks the resize handle
*/
onDoubleClick?: () => void;
/**
* An enum value to indicate the orientation of the resize handle.
*/
orientation: Orientation;
}
export interface ResizeHandleState {
/**
* A boolean that is true while the user is dragging the resize handle
*/
isDragging: boolean;
}
export declare class ResizeHandle extends React.PureComponent<ResizeHandleProps, ResizeHandleState> {
state: ResizeHandleState;
render(): React.JSX.Element | undefined;
private handleActivate;
private handleDragMove;
private handleDragEnd;
private handleClick;
private handleDoubleClick;
}