@helpscout/artboard
Version:
A tool kit for React UI development and design
67 lines (66 loc) • 1.73 kB
TypeScript
import * as React from 'react';
export declare type Snapshot = {
x: number;
y: number;
};
export declare type ViewportCoordinates = {
height: number;
width: number;
x: number;
y: number;
};
export declare type Snapshots = Array<Snapshot>;
export interface Props {
color: string;
isActive: boolean;
onSnapshot?: (snapshot: Snapshot) => void;
posX: number;
posY: number;
showSnapshots: boolean;
snapshotOpacity: number;
snapshots: Snapshots;
style?: Object;
zoomLevel: number;
}
export interface State {
centerCoords: ViewportCoordinates;
isActive: boolean;
x: number;
y: number;
snapshots: Snapshots;
}
export declare class Crosshair extends React.PureComponent<Props, State> {
static defaultProps: {
color: string;
isActive: boolean;
posX: number;
posY: number;
snapshots: never[];
snapshotOpacity: number;
showSnapshots: boolean;
style: {};
zoomLevel: number;
};
constructor(props: any);
componentDidMount(): void;
componentWillUnmount(): void;
componentWillReceiveProps(nextProps: any): void;
getCenterCoords: () => ViewportCoordinates;
setCenterCoords: () => void;
handleOnKeyUp: (event: any) => void;
setCoordinates: (event: any) => void;
addSnapshot: () => void;
stopCrosshair: () => void;
getLineProps: () => {
centerCoords: ViewportCoordinates;
color: string;
posX: number;
posY: number;
opacity: number;
snapshotOpacity: number;
zoomLevel: number;
};
renderSnapshots: () => JSX.Element[] | null;
render(): JSX.Element;
}
export default Crosshair;