UNPKG

@vericus/slate-kit-align

Version:

Plugins to provide a way to align blocks on slate

36 lines 1.19 kB
function removeAlign(opts) { var dataField = opts.dataField; return function (editor, align) { var value = editor.value; editor.withoutNormalizing(function () { editor .getAlignBlocks(value) .filter(function (n) { return align && n.data && n.data.get(dataField) === align; }) .forEach(function (n) { return editor.setNodeByKey(n.key, { data: n.data.delete(dataField) }); }); }); }; } function setAlign(opts) { var dataField = opts.dataField; return function (editor, align) { var value = editor.value; var alignments = opts.alignments; if (!alignments || !alignments.includes(align)) return; editor.withoutNormalizing(function () { editor.getAlignBlocks(value).forEach(function (n) { editor.setNodeByKey(n.key, { data: n.data.set(dataField, align) }); }); }); }; } function createCommands(opts) { return { removeAlign: removeAlign(opts), setAlign: setAlign(opts), }; } export default createCommands; //# sourceMappingURL=index.js.map