import { Block } from 'slate'
A block node in a Slate Document
. Block nodes implement the Node
interface.
Block nodes may contain nested block nodes, inline nodes, and text nodes—just like in the DOM. They always contain at least one text node child.
Block({
data: Data,
isVoid: Boolean,
key: String,
nodes: Immutable.List<Node>,
type: String
})
Immutable.Map
Arbitrary data associated with the node. Defaults to an empty Map
.
Boolean
Whether the node is a "void" node, meaning that it has no child content (eg. images, videos, etc.). Defaults to false
.
Note that even though a node may be "void", it will still contain a single, empty Text
node for consistency across other operations. However, when rendered by Slate that single Text
node will not be visible.
String
A unique identifier for the node.
Immutable.List
A list of child nodes. Defaults to a list with a single text node child.
String
The custom type of the node (eg. blockquote
or list-item
).
String
An immutable string value of 'block'
for easily separating this node from Inline
or Text
nodes.
Number
The sum of the lengths of all of the descendant Text
nodes of this node.
String
A concatenated string of all of the descendant Text
nodes of this node.
Block.create(properties: Object) => Block
Create a block from a plain Javascript object of properties
.
Block.createList(array: Array) => List
Create a list of block nodes from a plain Javascript array
.
Blocks implement the Node
interface. For information about all of the node methods, see the Node
reference.