import { Value } from 'slate'
A Value
is the top-level representation of data in Slate, containing both a Document
and a Selection
. It's what you need to pass into the Slate <Editor>
to render something onto the page.
Value({document: Document,selection: Selection,data: Data,decorations: List<Decoration>,})
Data
An object containing arbitrary data for the value.
List<Decoration>
A list of ranges in the document with marks that aren't part of the content itself—like matches for the current search string.
Document
The current document of the value.
String
A string with a value of 'value'
.
Selection
The current selection of the value.
These properties aren't supplied when creating a Value
, but are instead computed based on the current document
and selection
.
Text
Get the leaf Text
node at {edge}
. Where {edge}
is one of: anchor
, focus
, start
or end
.
Block
Get the leaf Block
node at {edge}
. Where {edge}
is one of: anchor
, focus
, start
or end
.
Set
Get a set of the Marks
in the current selection.
Set
Get a subset of the Marks
that are present in all the characters in the current selection. It can be used to determine the active/inactive state of toolbar buttons corresponding to marks, based on the usual rich text editing conventions.
List
Get a list of the lowest-depth Block
nodes in the current selection.
Document
Get a Document
fragment of the current selection.
List
Get a list of the lowest-depth Inline
nodes in the current selection.
List
Get a list of the Text
nodes in the current selection.
Value.create(properties: Object) => Value
Create a new Value
instance with properties
.
Value.fromJSON(object: Object) => Value
Create a value from a JSON object
.
Value.isValue(any: Any) => Boolean
Returns a boolean if the passed in argument is a Value
.
toJSON() => Object
Returns a JSON representation of the value.