UNPKG

@vericus/slate-kit-align

Version:

Plugins to provide a way to align blocks on slate

24 lines 1.01 kB
import * as tslib_1 from "tslib"; import { Block } from "slate"; import { List } from "immutable"; function getAlignBlocksInBlock(opts, node) { if (!node || !Block.isBlock(node)) return []; var textBlocks = opts.textBlocks, floatBlocks = opts.floatBlocks; if (node.isLeafBlock()) { if (textBlocks.includes(node.type) || floatBlocks.includes(node.type)) { return [node]; } return []; } return node.nodes.reduce(function (alignBlocks, block) { return tslib_1.__spread(alignBlocks, getAlignBlocksInBlock(opts, block)); }, []); } function getAlignBlocks(opts, editor) { var maybeAlignBlocks = editor.getHighestSelectedBlocks(); if (maybeAlignBlocks.size === 0) return []; return List(maybeAlignBlocks).reduce(function (alignBlocks, block) { return tslib_1.__spread(alignBlocks, getAlignBlocksInBlock(opts, block)); }, []); } export default getAlignBlocks; export { getAlignBlocksInBlock }; //# sourceMappingURL=getAlignBlocks.js.map