appflowy_editor library

AppFlowyEditor library

Classes

AFMobileIcon
{@tool snippet} All the icons are from AFMobileIcons enum.
AppFlowyClipboard
AppFlowyClipboardData
AppFlowyEditor
AppFlowyEditorHTMLCodec
AppFlowyEditorL10n
AppFlowyEditorLocalizations
AppFlowyEditorMarkdownCodec
AppFlowyKeyboardService
AppFlowyKeyboardService is responsible for processing shortcut keys, like command, shift, control keys.
AppFlowyRichText
AppFlowyRichTextKeys
AppFlowyScrollService
AppFlowyScrollService is responsible for processing document scrolling.
AppFlowySelectionService
AppFlowySelectionService is responsible for processing the Selection changes and updates.
AppLocalizationDelegate
ApplyOptions
BackgroundColorOptionsWidgets
BlockComponentActionState
BlockComponentActionWrapper
BlockComponentBuilder
BlockComponentBuilder is used to build a BlockComponentWidget.
BlockComponentConfiguration
only for the common config of block component
BlockComponentContainer
BlockComponentContainer is a wrapper of block component
BlockComponentContainerState
BlockComponentContext
BlockComponentRenderer
BlockComponentRendererService
BlockComponentStatefulWidget
BlockComponentStatelessWidget
BlockSelectionArea
BlockSelectionArea is a widget that renders the selection area or the cursor of a block.
BlockSelectionContainer
BuiltInAttributeKey
Supported partial rendering types: bold, italic, underline, strikethrough, textColor, highlightColor, href
BulletedListBlockComponentBuilder
BulletedListBlockComponentWidget
BulletedListBlockKeys
BulletedListNodeParser
CharacterShortcutEvent
Defines the implementation of shortcut event based on character.
ClearColorButton
CodeBlockNodeParser
ColorButton
ColorOption
ColorPicker
CommandShortcutEvent
Defines the implementation of shortcut event based on command.
ContextMenu
ContextMenuItem
Counters
Used by the WordCountService to contain count statistics in eg. a Document or in the current Selection.
CustomColorItem
Debounce
DeleteOperation
DeleteOperation represents a delete operation.
Delta
Deltas are a simple, yet expressive format that can be used to describe contents and changes. The format is JSON based, and is human readable, yet easily parsible by machines. Deltas can describe any rich text document, includes all text and formatting information, without the ambiguity and complexity of HTML.
DeltaHTMLEncoder
A Delta encoder that encodes a Delta to html.
DeltaMarkdownDecoder
DeltaMarkdownEncoder
A Delta encoder that encodes a Delta to Markdown.
DeltaTextInputService
DividerBlockComponentBuilder
DividerBlockComponentWidget
DividerBlockKeys
DividerNodeParser
Document
Document represents an AppFlowy Editor document structure.
DocumentHTMLDecoder
DocumentHTMLEncoder
DocumentMarkdownEncoder
DocumentV0
⚠️ THIS FILE HAS BEEN DEPRECATED. ⚠️ THIS FILE HAS BEEN DEPRECATED. ⚠️ THIS FILE HAS BEEN DEPRECATED.
EditorScrollController
This class controls the scroll behavior of the editor.
EditorService
EditorState
The state of the editor.
EditorStyle
The style of the editor.
EditorSvg
FindReplaceLocalizations
FindReplaceStyle
FloatingToolbar
A floating toolbar that displays at the top of the editor when the selection and will be hidden when the selection is collapsed.
FloatingToolbarStyle
FloatingToolbarWidget
FullScreenOverlayEntry
HeadingBlockComponentBuilder
HeadingBlockComponentWidget
HeadingBlockKeys
HeadingNodeParser
HeadingUnit
HTMLBulletedListNodeParser
HTMLHeadingNodeParser
HTMLImageNodeParser
HTMLNodeParser
HTMLNumberedListNodeParser
HTMLQuoteNodeParser
HtmlTableNodeParser
HTMLTags
HTMLTextNodeParser
HTMLTodoListNodeParser
ImageBlockComponentBuilder
ImageBlockComponentWidget
ImageBlockComponentWidgetState
ImageBlockKeys
ImageNodeParser
InsertOperation
InsertOperation represents an insert operation.
KeepEditorFocusNotifier
Keybinding
KeyboardServiceWidget
KeyboardServiceWidgetState
LinkEditForm
ListUnit
Log
For logging message in AppFlowyEditor
LogConfiguration
Manages log service for AppFlowyEditor
MobileFloatingToolbar
A mobile floating toolbar that displays at the top of the editor when the selection is not collapsed. and will be hidden when the selection is collapsed.
MobileFloatingToolbarItem
MobileLinkMenu
MobileToolbar
MobileToolbarItem
MobileToolbarItemMenu
MobileToolbarItemMenuBtn
MobileToolbarTheme
Style for the mobile toolbar.
MobileToolbarV2
MobileToolbarWidget
MobileToolbarWidgetService
To update the state of the MobileToolbarWidget
MobileToolbarWidgetState
NestedListWidget
Node
Node represents a node in the document tree.
NodeExternalValues
NodeIterator
NodeIterator is used to traverse the nodes in visual order.
NodeParser
NodeV0
⚠️ THIS FILE HAS BEEN DEPRECATED. ⚠️ THIS FILE HAS BEEN DEPRECATED. ⚠️ THIS FILE HAS BEEN DEPRECATED.
NumberedListBlockComponentBuilder
NumberedListBlockComponentWidget
NumberedListBlockKeys
NumberedListNodeParser
Operation
Operation represents a change to a Document.
PageBlockComponent
PageBlockComponentBuilder
PageBlockKeys
ParagraphBlockComponentBuilder
ParagraphBlockComponentWidget
ParagraphBlockKeys
Position
PropertyValueNotifier<T>
PropertyValueNotifier is a subclass of ValueNotifier.
QuillDeltaEncoder
QuoteBlockComponentBuilder
QuoteBlockComponentWidget
QuoteBlockKeys
QuoteNodeParser
RemoteBlockSelectionArea
RemoteBlockSelectionArea is a widget that renders the selection area or the cursor of a block from remote.
RemoteBlockSelectionsArea
RemoteSelection
ResetColorButton
ResizableImage
ScrollServiceWidget
SearchServiceV3
Selection
Selection represents the selected area or the cursor area in the editor.
SelectionGestureInterceptor
SelectionMenu
SelectionMenuIconWidget
SelectionMenuItem
Selection Menu Item
SelectionMenuItemWidget
SelectionMenuService
SelectionMenuStyle
SelectionMenuWidget
SelectionServiceWidget
SliverGridDelegateWithFixedCrossAxisCountAndFixedHeight
SVGIconItemWidget
TableActions
TableBlockComponentBuilder
TableBlockComponentWidget
TableBlockKeys
TableCelBlockWidget
TableCellBlockComponentBuilder
TableCellBlockKeys
TableDefaults
TableNodeParser
TableStyle
TextColorOptionsWidgets
TextDecorationUnit
TextDelete
TextInsert
TextNode
TextNodeParser
TextNodeV0
TextOperation
TextRetain
TextStyleConfiguration
only for the common config of text style
TodoListBlockComponentBuilder
TodoListBlockComponentWidget
TodoListBlockKeys
TodoListNodeParser
ToggleColorsStyle
ToolbarItem
Transaction
A Transaction has a list of Operation objects that will be applied to the editor.
UpdateOperation
UpdateOperation represents an attributes update operation.
UpdateTextOperation
UpdateTextOperation represents a text update operation.
UploadImageMenu
WordCountService
A Word Counter service that runs based on the changes and updates to an EditorState.

Properties

alignmentItems List<ToolbarItem>
final
appFlowyEditorAutoScrollEdgeOffset double
The default value of the auto scroll edge offset on mobile The editor will scroll when the cursor is close to the edge of the screen
getter/setter pair
arrowDownKeys List<CommandShortcutEvent>
final
arrowLeftKeys List<CommandShortcutEvent>
final
arrowRightKeys List<CommandShortcutEvent>
final
arrowUpKeys List<CommandShortcutEvent>
final
autoCompletableBlockTypes Set<String>
final
backspaceCommand CommandShortcutEvent
Backspace key event.
final
blockComponentBackgroundColorDecorator BlockComponentBackgroundColorDecorator?
getter/setter pair
blocksMobileToolbarItem MobileToolbarItem
final
bulletedListItem ToolbarItem
final
codeMobileToolbarItem MobileToolbarItem
final
convertibleBlockTypes List<String>
final
convertMinusesToDivider CharacterShortcutEvent
insert divider into a document by typing three dashes (-) or one em dash (—) and one dash (-)
final
convertStarsToDivider CharacterShortcutEvent
final
convertToParagraphCommand CommandShortcutEvent
Convert to paragraph command.
final
convertUnderscoreToDivider CharacterShortcutEvent
final
copyCommand CommandShortcutEvent
Copy.
final
cutCommand CommandShortcutEvent
cut.
final
deleteCommand CommandShortcutEvent
Delete key event.
final
deleteLeftSentenceCommand CommandShortcutEvent
Remove Line to the Left.
final
deleteLeftWordCommand CommandShortcutEvent
Backspace key event.
final
deleteRightWordCommand CommandShortcutEvent
final
deltaHTMLEncoder DeltaHTMLEncoder
final
dividerMenuItem SelectionMenuItem
getter/setter pair
dividerMobileToolbarItem MobileToolbarItem
final
endCommand CommandShortcutEvent
End key event.
final
exitEditingCommand CommandShortcutEvent
End key event.
final
formatAsteriskToBulletedList CharacterShortcutEvent
Convert '* ' to bulleted list
getter/setter pair
formatAsteriskToItalic CharacterShortcutEvent
format the text surrounded by single asterisk to italic
final
formatBackquoteToCode CharacterShortcutEvent
format the text surrounded by single backquote to code
final
formatDoubleAsterisksToBold CharacterShortcutEvent
format the text surrounded by double asterisks to bold
final
formatDoubleHyphenEmDash CharacterShortcutEvent
format two hyphens into an em dash
final
formatDoubleQuoteToQuote CharacterShortcutEvent
Convert '" ' to quote
getter/setter pair
formatDoubleTilesToStrikethrough CharacterShortcutEvent
format the text surrounded by double asterisks to bold
final
formatDoubleUnderscoresToBold CharacterShortcutEvent
format the text surrounded by double underscores to bold
final
formatEmptyBracketsToUncheckedBox CharacterShortcutEvent
Convert '[] ' to unchecked todo list
getter/setter pair
formatFilledBracketsToCheckedBox CharacterShortcutEvent
Convert 'x ' to checked todo list
getter/setter pair
formatGreaterEqual CharacterShortcutEvent
format '=' + '>' into an ⇒
final
formatGreaterHyphen CharacterShortcutEvent
format '-' + '>' into an →
final
formatHyphenEmptyBracketsToUncheckedBox CharacterShortcutEvent
Convert '-[] ' to unchecked todo list
getter/setter pair
formatHyphenFilledBracketsToCheckedBox CharacterShortcutEvent
Convert '-x ' to checked todo list
getter/setter pair
format the markdown link syntax to hyperlink
final
formatMinusToBulletedList CharacterShortcutEvent
Convert '- ' to bulleted list
getter/setter pair
formatNumberToNumberedList CharacterShortcutEvent
Convert 'num. ' to bulleted list
getter/setter pair
formatSignToHeading CharacterShortcutEvent
Convert '# ' to bulleted list
getter/setter pair
formatTildeToStrikethrough CharacterShortcutEvent
format the text surrounded by single tilde to strikethrough
getter/setter pair
formatUnderscoreToItalic CharacterShortcutEvent
format the text surrounded by single underscore to italic
getter/setter pair
headingItems List<ToolbarItem>
getter/setter pair
headingMobileToolbarItem MobileToolbarItem
final
homeCommand CommandShortcutEvent
Home key event.
final
indentableBlockTypes Set<String>
final
indentCommand CommandShortcutEvent
Indent the current block
final
insertNewLine CharacterShortcutEvent
insert a new line block
final
insertNewLineAfterBulletedList CharacterShortcutEvent
Insert a new block after the bulleted list block.
getter/setter pair
insertNewLineAfterHeading CharacterShortcutEvent
Insert a new block after the heading block.
getter/setter pair
insertNewLineAfterNumberedList CharacterShortcutEvent
Insert a new block after the numbered list block.
getter/setter pair
insertNewLineAfterTodoList CharacterShortcutEvent
Insert a new block after the todo list block.
getter/setter pair
keepEditorFocusNotifier KeepEditorFocusNotifier
getter/setter pair
keyToCodeMapping Map<String, int>
Keyboard key to keycode mapping table
getter/setter pair
linkItem ToolbarItem
final
linkMobileToolbarItem MobileToolbarItem
final
listMobileToolbarItem MobileToolbarItem
final
markdownFormatItems List<ToolbarItem>
final
markdownSyntaxShortcutEvents List<CharacterShortcutEvent>
final
moveCursorBeginSelectCommand CommandShortcutEvent
final
moveCursorBottomCommand CommandShortcutEvent
arrow down + ctrl or cmd move the cursor to the bottommost position of the document
getter/setter pair
moveCursorBottomSelectCommand CommandShortcutEvent
arrow down + shift + ctrl or cmd move the cursor to the bottommost position of the document and select everything in between
getter/setter pair
moveCursorDownCommand CommandShortcutEvent
Arrow down key events.
final
moveCursorDownSelectCommand CommandShortcutEvent
arrow down + shift moves vertically down one line and selects everything between
getter/setter pair
moveCursorEndSelectCommand CommandShortcutEvent
final
moveCursorLeftCommand CommandShortcutEvent
Arrow left key events.
final
moveCursorLeftSelectCommand CommandShortcutEvent
final
moveCursorLeftWordSelectCommand CommandShortcutEvent
final
moveCursorRightCommand CommandShortcutEvent
Arrow right key events.
final
moveCursorRightSelectCommand CommandShortcutEvent
final
moveCursorRightWordSelectCommand CommandShortcutEvent
final
moveCursorToBeginCommand CommandShortcutEvent
final
moveCursorToEndCommand CommandShortcutEvent
final
moveCursorToLeftWordCommand CommandShortcutEvent
final
moveCursorTopCommand CommandShortcutEvent
arrow up + ctrl or cmd move the cursor to the topmost position of the document
final
moveCursorTopSelectCommand CommandShortcutEvent
arrow up + shift + ctrl or cmd move the cursor to the topmost position of the document and select everything in between
final
moveCursorToRightWordCommand CommandShortcutEvent
final
moveCursorUpCommand CommandShortcutEvent
Arrow up key events.
final
moveCursorUpSelectCommand CommandShortcutEvent
arrow up + ctrl or cmd moves vertically down one line and selects everything between
final
numberedListItem ToolbarItem
final
openInlineLinkCommand CommandShortcutEvent
Option/Alt + Enter: to open inline link
final
openLinksCommand CommandShortcutEvent
Option/Alt + Shift + Enter: to open links
final
outdentCommand CommandShortcutEvent
Outdent the current block
final
pageDownCommand CommandShortcutEvent
Page down key event.
final
pageUpCommand CommandShortcutEvent
Page up key event.
final
paragraphItem ToolbarItem
final
pasteCommand CommandShortcutEvent
Paste.
final
pasteCommands List<CommandShortcutEvent>
final
pasteTextWithoutFormattingCommand CommandShortcutEvent
final
placeholderItem ToolbarItem
final
quillDeltaEncoder QuillDeltaEncoder
final
quoteItem ToolbarItem
final
quoteMobileToolbarItem MobileToolbarItem
final
redoCommand CommandShortcutEvent
Redo key event.
final
selectAllCommand CommandShortcutEvent
Select all key event.
final
showLinkMenuCommand CommandShortcutEvent
Cmd / Ctrl + K: show link menu
final
slashCommand CharacterShortcutEvent
Show the slash menu
final
standardBlockComponentBuilderMap Map<String, BlockComponentBuilder>
final
standardCharacterShortcutEvents List<CharacterShortcutEvent>
final
standardCommandShortcutEvents List<CommandShortcutEvent>
final
standardSelectionMenuItems List<SelectionMenuItem>
final
supportSlashMenuNodeWhiteList Set<String>
final
tableCommands List<CommandShortcutEvent>
final
tableMenuItem SelectionMenuItem
getter/setter pair
tabToAutoCompleteCommand CommandShortcutEvent
Auto complete the current block
final
textDecorationMobileToolbarItem MobileToolbarItem
final
textDecorationMobileToolbarItemV2 MobileToolbarItem
final
textDirectionItems List<ToolbarItem>
final
todoListMobileToolbarItem MobileToolbarItem
final
toggleBoldCommand CommandShortcutEvent
Markdown key event.
final
toggleCodeCommand CommandShortcutEvent
final
toggleHighlightCommand CommandShortcutEvent
final
toggleItalicCommand CommandShortcutEvent
final
toggleMarkdownCommands List<CommandShortcutEvent>
final
toggleStrikethroughCommand CommandShortcutEvent
final
toggleTodoListCommand CommandShortcutEvent
Arrow down key events.
final
toggleUnderlineCommand CommandShortcutEvent
final
toolbarItemWhiteList Set<String>
final
undoCommand CommandShortcutEvent
Undo key event.
final

Functions

buildHighlightColorItem({List<ColorOption>? colorOptions}) ToolbarItem
buildMobileToolbarMenuGridDelegate({required MobileToolbarTheme mobileToolbarStyle, required int crossAxisCount}) SliverGridDelegate
buildTextAndBackgroundColorMobileToolbarItem({List<ColorOption>? textColorOptions, List<ColorOption>? backgroundColorOptions}) MobileToolbarItem
buildTextColorItem({List<ColorOption>? colorOptions}) ToolbarItem
bulletedListNode({String? text, Delta? delta, String? textDirection, Attributes? attributes, Iterable<Node>? children}) Node
calculateNodeDirection({required Node node, required TextDirection layoutDirection, String? defaultTextDirection, TextDirection? lastDirection}) TextDirection
Calculate the text direction of a node.
composeAttributes(Attributes? base, Attributes? other, {dynamic keepNull = false}) Attributes?
customSlashCommand(List<SelectionMenuItem> items, {bool shouldInsertSlash = true, SelectionMenuStyle style = SelectionMenuStyle.light}) CharacterShortcutEvent
customToggleHighlightCommand({required ToggleColorsStyle style}) CommandShortcutEvent
defaultTextSpanDecoratorForAttribute(BuildContext context, Node node, int index, TextInsert text, TextSpan before, TextSpan after) TextSpan
Support Desktop and Web platform
deleteSelectedContent(EditorState editorState) → void
diffDocuments(Document oldDocument, Document newDocument) List<Operation>
diffNodes(Node oldNode, Node newNode) List<Operation>
dividerNode() Node
documentToHTML(Document document, {List<HTMLNodeParser> customParsers = const []}) String
Converts a Document to html.
documentToMarkdown(Document document, {List<NodeParser> customParsers = const []}) String
Converts a Document to markdown.
findAndReplaceCommands({FindReplaceLocalizations? localizations, required BuildContext context, FindReplaceStyle? style}) List<CommandShortcutEvent>
formatFontColor(EditorState editorState, Selection? selection, String? color, {bool withUpdateSelection = false}) → void
formatHighlightColor(EditorState editorState, Selection? selection, String? color, {bool withUpdateSelection = false}) → void
formatMarkdownSymbol(EditorState editorState, bool shouldFormat(Node node), bool predicate(Node node, String text, Selection selection), List<Node> nodesBuilder(String text, Node node, Delta delta)) Future<bool>
Formats the current node to specified markdown style.
generateHighlightColorOptions() List<ColorOption>
Default background color options when no option is provided
generateTextColorOptions() List<ColorOption>
Default text color options when no option is provided
handleCopy(EditorState editorState) → void
handleCut(EditorState editorState) → void
  • delete selected content
  • handleFormatByWrappingWithDoubleCharacter({required EditorState editorState, required String character, required DoubleCharacterFormatStyle formatStyle}) bool
    handleFormatByWrappingWithSingleCharacter({required EditorState editorState, required String character, required FormatStyleByWrappingWithSingleChar formatStyle}) bool
    handlePaste(EditorState editorState) → void
    handlePastePlainText(EditorState editorState, String plainText) → void
    hashAttributes(Attributes base) int
    headingNode({required int level, String? text, Delta? delta, String? textDirection, Attributes? attributes}) Node
    htmlToDocument(String html) Document
    Converts a html to Document.
    imageNode({required String url, String align = 'center', double? height, double? width}) Node
    insertNewLineInType(EditorState editorState, String type, {Attributes attributes = const {}}) Future<bool>
    invertAttributes(Attributes? from, Attributes? to) Attributes
    isAttributesEqual(Attributes? a, Attributes? b) bool
    isIndentable(EditorState editorState) bool
    isOutdentable(EditorState editorState) bool
    isRTL(EditorState editorState) bool
    isValidPosition(int col, int row, int numCols, int numRows) bool
    markdownToDocument(String markdown, {List<CustomNodeParser> customParsers = const [], List<InlineSyntax> customInlineSyntaxes = const []}) Document
    Converts a markdown to Document.
    mobileTextSpanDecoratorForAttribute(BuildContext context, Node node, int index, TextInsert text, TextSpan before, TextSpan after) TextSpan
    Support mobile platform
    newCellNode(Node tableNode, dynamic n) → dynamic
    numberedListNode({Delta? delta, Attributes? attributes, int? number, String? textDirection, Iterable<Node>? children}) Node
    onlyShowInSingleSelectionAndTextType(EditorState editorState) bool
    onlyShowInTextType(EditorState editorState) bool
    openFindDialog({FindReplaceLocalizations? localizations, required BuildContext context, required FindReplaceStyle style}) CommandShortcutEvent
    Show the slash menu
    openReplaceDialog({FindReplaceLocalizations? localizations, required BuildContext context, required FindReplaceStyle style}) CommandShortcutEvent
    pageNode({required Iterable<Node> children, Attributes attributes = const {}}) Node
    paragraphNode({String? text, Delta? delta, String? textDirection, Attributes? attributes, Iterable<Node> children = const []}) Node
    pasteHTML(EditorState editorState, String html) → void
    quoteNode({Delta? delta, String? textDirection, Attributes? attributes, Iterable<Node>? children}) Node
    safeLaunchUrl(String? href) Future<bool>
    showColorMenu(BuildContext context, EditorState editorState, Selection selection, {String? currentColorHex, List<ColorOption>? textColorOptions, List<ColorOption>? highlightColorOptions, required bool isTextColor, bool showClearButton = false}) → void
    showImageMenu(OverlayState container, EditorState editorState, SelectionMenuService menuService, {OnInsertImage? onInsertImage}) → void
    showLinkMenu(BuildContext context, EditorState editorState, Selection selection, bool isHref) → void
    sliceNode(Node node, int selectionIndex) → (Node, Node?)
    stringify(Node node) String
    todoListNode({required bool checked, String? text, Delta? delta, String? textDirection, Attributes? attributes, Iterable<Node>? children}) Node
    toggleColorCommands({ToggleColorsStyle? style}) List<CommandShortcutEvent>
    Toggle Color Commands
    transformOperation(Operation a, Operation b) Operation?
    transformPath(Path preInsertPath, Path b, [int delta = 1]) Path

    Typedefs

    AppFlowyAutoCompleteTextProvider = String? Function(BuildContext context, Node node, TextSpan? textSpan)
    AppFlowyTextSpanDecorator = TextSpan Function(TextSpan textSpan)
    Attributes = Map<String, dynamic>
    Attributes is used to describe the Node's information.
    BlockActionBuilder = Widget Function(BlockComponentContext blockComponentContext, BlockComponentActionState state)
    BlockComponentActionBuilder = Widget Function(BuildContext context, BlockComponentActionState state)
    BlockComponentBackgroundColorDecorator = Color? Function(Node node, String colorString)
    If you want to customize the logic of how to convert a color string to a Color, you can set this variable.
    CharacterShortcutEventHandler = Future<bool> Function(EditorState editorState)
    CommandShortcutEventHandler = KeyEventResult Function(EditorState editorState)
    DividerBlockWrapper = Widget Function(BuildContext context, Node node, Widget child)
    ImageBlockComponentMenuBuilder = Widget Function(Node node, ImageBlockComponentWidgetState state)
    LogHandler = void Function(String message)
    MobileToolbarItemActionHandler = void Function(BuildContext context, EditorState editorState)
    MobileToolbarItemIconBuilder = Widget? Function(BuildContext context, EditorState editorState, MobileToolbarWidgetService service)
    NumberedListIconBuilder = Widget Function(BuildContext context, Node node, TextDirection direction)
    OnInsertImage = void Function(String url)
    Path = List<int>
    SelectionMenuItemHandler = void Function(EditorState editorState, SelectionMenuService menuService, BuildContext context)
    ShowPlaceholder = bool Function(EditorState editorState, Node node)
    TableBlockComponentMenuBuilder = Widget Function(Node, EditorState, int, TableDirection, VoidCallback? , VoidCallback? )
    TextSpanDecoratorForAttribute = InlineSpan Function(BuildContext context, Node node, int index, TextInsert text, TextSpan before, TextSpan after)
    TodoListIconBuilder = Widget Function(BuildContext context, Node node, VoidCallback onCheck)
    ToolbarItemEventHandler = void Function(EditorState editorState, BuildContext context)
    ToolbarItemHighlightCallback = bool Function(EditorState editorState)
    ToolbarItemValidator = bool Function(EditorState editorState)