The text inplace editor component which allows user to edit text on the canvas. It could have a custom toolbar component to change the color, style, underline, etc., of the selected text. This toolbar appears directly above or below the text when it is in edit mode.
Here is an example how to mount a text inplace editor with a toolbar to the editor.