type ArgFreeEventType =
"selectionchange" |
"currentpagechange" |
"librarychange" |
"viewportchange" |
"close" |
interface RunEvent {
parameters?: ParameterValues;
command: string;
}
interface DropEvent {
node: BaseNode | SceneNode;
x: number;
y: number;
absoluteX: number;
absoluteY: number;
items: DropItem[];
files: DropFile[];
dropMetadata?: any;
}
interface EditTypeChangeEvent {
id: string;
type: "FOCUS" | "BLUR";
}
interface DetachInstanceEvent {
id: string;
componentId: string;
}
interface DetachStyleEvent {
id: string;
styleId: string;
}
interface ToptoolselectEvent {
command: string;
}
interface BottomToolSelectEvent {
command: string;
}
interface ContextMenuSelectEvent {
command: string;
}
interface ShortcutHitEvent {
command: string;
}
interface ThemeChangeEvent {
theme: ThemeType;
}
type ThemeType = "DARK" | "LIGHT";
interface DocumentChangeEvent {
documentChanges: DocumentChange[];
}
type DocumentChange =
| CreateChange
| DeleteChange
| PropertyChange
| StyleCreateChange
| StyleDeleteChange
| StylePropertyChange;
interface BaseDocumentChange {
id: string;
}
interface CreateChange extends BaseDocumentChange {
type: "CREATE";
}
interface DeleteChange extends BaseDocumentChange {
type: "DELETE";
}
interface PropertyChange extends BaseDocumentChange {
type: "PROPERTY_CHANGE";
properties: NodeChangeProperty[];
}
interface StyleCreateChange extends BaseDocumentChange {
type: "STYLE_CREATE";
}
interface StyleDeleteChange extends BaseDocumentChange {
type: "STYLE_DELETE";
style: null;
}
interface StylePropertyChange extends BaseDocumentChange {
type: "STYLE_PROPERTY_CHANGE";
properties: StyleChangeProperty[];
}
interface FieldsetEvent {
bounds: {
x: number;
y: number;
width: number;
height: number;
};
selection: SceneNode[];
}
interface StickyToolbarEvent {
command: string;
type: "CLICK" | "MOUSE_ENTER" | "MOUSE_LEAVE";
bounds: {
x: number;
y: number;
width: number;
height: number;
};
}
interface LibraryEvent {
key: string;
}