Files
AFFiNE-Mirror/blocksuite/affine/components/src/toolbar/menu-context.ts
T
2025-03-28 07:20:34 +00:00

31 lines
631 B
TypeScript

import type { BlockStdScope, EditorHost } from '@blocksuite/std';
import type { GfxModel } from '@blocksuite/std/gfx';
import type { BlockModel, Store } from '@blocksuite/store';
export abstract class MenuContext {
abstract get doc(): Store;
get firstElement(): GfxModel | null {
return null;
}
abstract get host(): EditorHost;
abstract get selectedBlockModels(): BlockModel[];
abstract get std(): BlockStdScope;
// Sometimes we need to close the menu.
close() {}
isElement() {
return false;
}
abstract isEmpty(): boolean;
abstract isMultiple(): boolean;
abstract isSingle(): boolean;
}