@blinkk/editor
Version:
Structured content editor with live previews.
58 lines (57 loc) • 1.68 kB
TypeScript
import { BasePart, Part } from '.';
import { Modal } from '../ui/modal';
import { TemplateResult } from '@blinkk/selective-edit';
import { DataStorage } from '../../utility/dataStorage';
import { EditorState } from '../state';
import { LiveEditor } from '../editor';
import { SitePart } from './menu/site';
import { UsersPart } from './menu/users';
import { WorkspacesPart } from './menu/workspaces';
export interface MenuPartConfig {
/**
* State class for working with editor state.
*/
state: EditorState;
storage: DataStorage;
}
export interface MenuParts {
site: SitePart;
users: UsersPart;
workspaces: WorkspacesPart;
}
export declare class MenuPart extends BasePart implements Part {
config: MenuPartConfig;
isDocked: boolean;
modal?: Modal;
parts: MenuParts;
constructor(config: MenuPartConfig);
protected createModal(editor: LiveEditor): Modal;
classesForPart(): Record<string, boolean>;
/**
* Close the menu when it is not docked.
*/
close(): void;
/**
* Dock the menu.
*/
dock(): void;
loadProject(): void;
/**
* Open the menu when it is not docked.
*/
open(): void;
template(editor: LiveEditor): TemplateResult;
templateActionDocking(editor: LiveEditor): TemplateResult;
templateActionClose(editor: LiveEditor): TemplateResult;
templateContent(editor: LiveEditor): TemplateResult;
templateMenu(editor: LiveEditor): TemplateResult;
templateStructure(editor: LiveEditor): TemplateResult;
/**
* Toggle the menu when it is not docked.
*/
toggle(): void;
/**
* Undock the menu.
*/
undock(): void;
}