@gorpacrate/core-graphics
Version:
A core library for creating shape-based graphic editors
36 lines (35 loc) • 1.33 kB
TypeScript
import * as React from 'react';
import { IEditorEvent } from '../editor-state/editor-events';
import { IEditorViewportState } from '../editor-state/editor-state';
export declare const TARGET_SHAPE = "TARGET_SHAPE";
export declare const TARGET_BACKGROUND = "TARGET_BACKGROUND";
export declare type CONTEXT_MENU_TARGET_TYPE = 'TARGET_SHAPE' | 'TARGET_BACKGROUND';
export interface IContextMenuState {
open: boolean;
x: number;
y: number;
target?: IContextMenuTarget;
}
export declare enum IContextMenuTargetType {
Shapes = 0,
Background = 1
}
export interface IContextMenuTarget {
type: IContextMenuTargetType;
}
export interface IContextMenuTargetShapes extends IContextMenuTarget {
payload: {
ids: string[];
};
}
export interface IContextMenuTargetBackground extends IContextMenuTarget {
payload: {};
}
export declare function shapesContextMenuTarget(ids: string[]): IContextMenuTargetShapes;
export declare function isShapesContextMenuTarget(base: IContextMenuTarget): base is IContextMenuTargetShapes;
export interface IContextMenuRendererPropTypes {
contextMenuState: IContextMenuState;
onEditorEvent: (ev: IEditorEvent) => void;
viewport: IEditorViewportState;
}
export declare type ContextMenuRendererComponent = React.ComponentClass<IContextMenuRendererPropTypes>;