import React from "react"; import { EditorContentProps } from "@tiptap/react"; import { DataNode as AntDataNode } from "antd/lib/tree"; export interface TextEditorProps { value?: any; readingMode?: boolean; editable?: boolean; onChange?: (value: string) => any; defaultValue?: any; preMenus?: GroupMenu[]; extraMenus?: GroupMenu[]; isMobile?: boolean; placeholder?: string; toolkitPosition?: "top" | "bottom"; toolkitUpper?: React.ReactNode; toolkitLower?: React.ReactNode; suggestionItems?: SuggesstionItem[]; onUploadImage?: (file: File | null, base64?: string) => string; onEnter?: () => void; fontSizeUnit?: "pt" | "px"; } export interface SuggesstionItem { id: React.Key; label: string; imageUrl?: string; url?: string; } export interface TextEditorMenuProps extends EditorContentProps { isMobile?: boolean; preMenus?: GroupMenu[]; extraMenus?: GroupMenu[]; toolkitUpper?: React.ReactNode; toolkitLower?: React.ReactNode; addImage: (imageUrl: string) => void; fontSizeUnit?: "pt" | "px"; } export interface GroupMenu { menuItems: React.ReactNode[]; } export type DataNode = AntDataNode; export interface TextEditorRefs { importImage: (imageUrl: string) => void; insertHTML: (content: string) => void; focus: () => void; clear: () => void; } export interface MenuBarRefs extends Omit { }