@infinite-canvas-tutorial/webcomponents
Version:
WebComponents UI implementation
44 lines (43 loc) • 1.11 kB
TypeScript
import { SerializedNode, Pen, Theme, ThemeMode } from '@infinite-canvas-tutorial/ecs';
import { API } from './API';
export declare enum Task {
SHOW_LAYERS_PANEL = "show-layers-panel",
SHOW_PROPERTIES_PANEL = "show-properties-panel"
}
/**
* Prefer flat objects.
* @see https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/initialdata
*/
export interface AppState {
theme: Theme;
cameraZoom: number;
penbarAll: Pen[];
penbarSelected: Pen[];
taskbarAll: Task[];
taskbarSelected: Task[];
layersSelected: SerializedNode['id'][];
}
export declare const appStateContext: {
__context__: AppState;
};
export declare const nodesContext: {
__context__: SerializedNode[];
};
export declare const apiContext: {
__context__: API;
};
export declare const getDefaultAppState: () => {
theme: {
mode: ThemeMode;
colors: {
light: {};
dark: {};
};
};
cameraZoom: number;
penbarAll: Pen[];
penbarSelected: Pen[];
taskbarAll: Task[];
taskbarSelected: any[];
layersSelected: any[];
};