UNPKG

@saleae/react-scrollbars-custom

Version:
38 lines (37 loc) 2.04 kB
import * as PropTypes from "prop-types"; import * as React from "react"; import { DraggableData, DraggableEvent } from "react-draggable"; import { AXIS_DIRECTION, ElementPropsWithElementRefAndRenderer } from "./types"; export declare type DragCallbackData = Pick<DraggableData, Exclude<keyof DraggableData, "node">>; export declare type ScrollbarThumbProps = Pick<ElementPropsWithElementRefAndRenderer, Exclude<keyof ElementPropsWithElementRefAndRenderer, "onDragEnd">> & { axis: AXIS_DIRECTION; onDrag?: (data: DragCallbackData, isEnd: boolean) => void; onDragStart?: (data: DragCallbackData) => void; onDragEnd?: (data: DragCallbackData, isEnd: boolean) => void; ref?: (ref: ScrollbarThumb | null) => void; }; export default class ScrollbarThumb extends React.Component<ScrollbarThumbProps, {}> { static propTypes: { axis: PropTypes.Requireable<AXIS_DIRECTION>; onDrag: PropTypes.Requireable<(...args: any[]) => any>; onDragStart: PropTypes.Requireable<(...args: any[]) => any>; onDragEnd: PropTypes.Requireable<(...args: any[]) => any>; elementRef: PropTypes.Requireable<(...args: any[]) => any>; renderer: PropTypes.Requireable<(...args: any[]) => any>; }; initialOffsetX: number; initialOffsetY: number; lastDragData: DragCallbackData; element: HTMLDivElement | null; private prevUserSelect; private prevOnSelectStart; private static selectStartReplacer; componentDidMount(): void; componentWillUnmount(): void; handleOnDragStart: (ev: DraggableEvent, data: DraggableData) => void; handleOnDrag: (ev: DraggableEvent, data: DraggableData) => void; handleOnDragStop: (ev?: MouseEvent | React.MouseEvent<HTMLElement | SVGElement, MouseEvent> | React.TouchEvent<HTMLElement | SVGElement> | TouchEvent | undefined, data?: DraggableData | undefined) => void; handleOnMouseDown: (ev: MouseEvent) => void; render(): React.ReactElement<any> | null; private elementRef; }