import { type FieldProcessor, FieldSchema } from '@ephox/boulder'; import type { Optional } from '@ephox/katamari'; import * as ComponentSchema from '../../core/ComponentSchema'; export interface CommonMenuItemSpec { enabled?: boolean; text?: string; value?: string; meta?: Record; shortcut?: string; context?: string; } export interface CommonMenuItemInstanceApi { isEnabled: () => boolean; setEnabled: (state: boolean) => void; } export interface CommonMenuItem { enabled: boolean; text: Optional; value: string; role: Optional; meta: Record; shortcut: Optional; context: string; } export const commonMenuItemFields: FieldProcessor[] = [ ComponentSchema.enabled, ComponentSchema.optionalText, ComponentSchema.optionalRole, ComponentSchema.optionalShortcut, ComponentSchema.generatedValue('menuitem'), ComponentSchema.defaultedMeta, FieldSchema.defaultedString('context', 'mode:design') ];