import { default as HtmlEditorMode } from './types/HtmlEditorMode'; /** * Props for the top-level HtmlEditor component. */ export default interface IHtmlEditorProps { /** * Initial HTML string to seed the editor with. * * Security note: * - This HTML is parsed and rendered into the DOM by the editor. * - Do not pass untrusted or user-supplied HTML without sanitizing it first, * as this can lead to cross-site scripting (XSS) vulnerabilities. * - TipTap provides some built-in protection, but it is not a replacement * for proper HTML sanitization at the boundary where you accept user input. * * Consumers are responsible for ensuring that any HTML provided here has been * sanitized according to their application's security requirements. * * @default '' */ initialContent?: string; /** * Fired on every content change with the latest HTML output. * @param html - The current editor content as an HTML string. */ onContentChange?: (html: string) => void; /** * Starting editing mode. * @default 'visual' */ mode?: HtmlEditorMode; /** * Custom color palette displayed in the text-color popover as preset swatches. * Each entry must be a valid hex color string (e.g. "#ff5733"). * No runtime validation is performed; the consumer is responsible for ensuring * that all entries are valid hex colors. Falls back to the built-in 8-color * default palette when omitted. * * @default DEFAULT_COLOR_PALETTE */ colorPalette?: string[]; }