import type { ComponentType } from 'react'; import type { EditorCommands } from './editorCommandsType'; import type { IEditorQuery } from './query'; import type { TiptapEditor } from './tiptap'; import type { ToolbarType } from './toolbarEnums'; import type { IToolbarItemConfigTiptap } from './toolbarTypes'; export type ToolbarButtonProps = { type?: string; tooltip?: string; toolbars?: ToolbarType[]; getIcon?: () => ComponentType; getLabel?: () => string; onClick?: (e: any & { ref?: any; render?: any; }) => void; isActive?: () => boolean; isDisabled?: () => boolean; onChange?: (files: File[]) => void; accept?: string; multiple?: boolean; dataHook?: string; name?: string; }; /** * Represents formatting toolbar button. * Responsibilities: * - maps button attribute RESOLVERS_IDS to resolvers * * @export * @interface FormattingToolbarButton */ export interface FormattingToolbarButton { toToolbarItemConfig(editorCommands: EditorCommands, editor: TiptapEditor, toolbarType: ToolbarType): IToolbarItemConfigTiptap; toExternalToolbarButtonConfig(editorCommands: EditorCommands, editor: TiptapEditor, editorQuery: IEditorQuery): ToolbarButtonProps; getButtonId: () => string; } /** * Aggregates formatting toolbar buttons. * Responsibilities: * - orders buttons according to config * - manages separators * - constructs full tooltip from tooltip key and shortcut info * * @export * @interface FormattingToolbarButtons */ export interface FormattingToolbarButtons { asArray(): FormattingToolbarButton[]; toToolbarItemsConfig: (toolbarType: ToolbarType, isMobile: boolean, editorCommands: EditorCommands, editor: TiptapEditor, options?: { disabled: boolean; }) => IToolbarItemConfigTiptap[]; toExternalToolbarButtonsConfigs(editorCommands: EditorCommands, editor: TiptapEditor, isMobile: boolean, editorQuery: IEditorQuery): Record; registerFormattingToolbarModal(): void; } //# sourceMappingURL=formatting-toolbar-buttons.d.ts.map