geoiq-frontend-ui-kit
Version:
This project is a UI kit for GeoIQ's frontend. It's built with React, TypeScript, and Vite.
34 lines (33 loc) • 1.7 kB
TypeScript
import { KonvaEventObject } from 'konva/lib/Node';
import { default as Konva } from 'konva';
import { EditorState, CanvasElements } from '../types';
interface UseMouseHandlersProps {
editorState: EditorState;
setEditorState: React.Dispatch<React.SetStateAction<EditorState>>;
canvasElements: CanvasElements;
setCanvasElements: React.Dispatch<React.SetStateAction<CanvasElements>>;
selectionState: {
selectedImageIndex: number | null;
selectedTextBoxIndex: number | null;
selectedLineId: string | null;
};
clearSelection: () => void;
selectImage: (index: number | null) => void;
selectTextBox: (index: number | null) => void;
toggleTextEditing: (isEditing: boolean) => void;
saveStateToHistory: () => void;
transformerRef: React.RefObject<Konva.Transformer>;
textBoxRefs: React.MutableRefObject<(Konva.Text | null)[]>;
}
export declare const useMouseHandlers: ({ editorState, setEditorState, setCanvasElements, clearSelection, selectImage, selectTextBox, toggleTextEditing, saveStateToHistory, transformerRef, textBoxRefs, }: UseMouseHandlersProps) => {
handleStageClick: (e: KonvaEventObject<MouseEvent>) => void;
handleImageClick: (index: number, e: KonvaEventObject<MouseEvent>) => void;
handleTextClick: (index: number, e: KonvaEventObject<MouseEvent>) => void;
handleLineClick: (id: string, e: KonvaEventObject<Event>) => void;
handleTextDblClick: (index: number) => void;
handleImageTransform: (index: number, node: Konva.Image) => void;
handleTextTransformStart: () => void;
handleTextTransformEnd: (index: number) => void;
};
export {};
//# sourceMappingURL=use-mouse-handlers.d.ts.map