slate-align
v0.1.4
Published
Provides align for slate editor
Readme
slate-align
Provides data.textAlign for blocks, providing validateNode for align blocks, providing getStyle and getData to convert between CSS style and slate block.data.
Install
yarn add slate-alignor
npm i --save slate-alignSimple Usage
import AlignPlugin from "slate-align";
export default AlignPlugin(/* options */);Data Structure
<block type="paragraph" textAlign="left" /* or "center", "right" */>
{" "}
/* content */{" "}
</block>Options
Option object you can pass to the plugin.
[floatBlocks : Array<string>]: (Default :['table', 'bad-table', 'image']) block types whose rendering DOMs is aligned bystyle.floatattribute.[textBlocks: Array<string>]: (Default:['paragraph', 'heading', 'table_cell', 'bad-table-cell']) block types whose rendering DOMs is aligned bystyle.textAlignattribute.
Align Plugin
AlignPlugin(options: Options) => Instance
Constructs an instance of the align plugin. Once the plugin is craeted, you get access to utilities, style convection and changes function.
plugin.validateNode
This plugin provides normalization that removes all
plugin.utils
plugin.utils.getAlignBlocksAtRange
getAlignBlocksAtRange(range: Range, document: Document ) : Array<Block>Get all align-able blocks within the range
plugin.changes
plugin.changes.removeAlignAtRange
removeAlignAtRange(change: Change, range: Range, align: string) : voidUnset all aligned blocks within the range whose textAlign is equal to align.
plugin.changes.setAlignBlocksAtRange
setAlignBlocksAtRange(change: Change, range: Range, align: string) : voidAlign all align-able blocks with align within the range.
