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