either "void" or "not void" as defined by editor.isVoid
Block vs. Inline
A "block" element can only be siblings with other "block" elements. An "inline" node can be siblings with Text nodes or other "inline" elements.
Void vs Not Void
In a not "void" element, Slate handles the rendering of its children (e.g. in a paragraph where the Text and Inline children are rendered by Slate). In a "void" element, the children are rendered by the Element's render code.
Voids That Support Marks
Some void elements are effectively stand-ins for text, such as with the Mentions example, where the mention element renders the character's name. Users might want to format Void elements like this with bold, or set their font and size, so editor.markableVoid tells Slate whether or not to apply Marks to the text children of void elements.
Rendering Void Elements
Void Elements must
always have one empty child text node (for selection)
render using attributes and children (so, their outermost HTML element can't be an HTML void element)
set contentEditable={false} (for Firefox)
Typical rendering code will resemble this thematic-break (horizontal rule) element:
For a "markable" void such as a mention element, marks on the empty child element can be used to determine how the void element is rendered (Slate Marks are applied only to Text leaves):