UNPKG

635 BJavaScriptView Raw
1/* eslint-disable new-cap */
2import EditBlockquote from "slate-edit-blockquote";
3import { BLOCKQUOTE, PARAGRAPH } from "@canner/slate-constant/lib/blocks";
4
5export const DEFAULT = {
6 type: BLOCKQUOTE,
7 typeDefault: PARAGRAPH
8};
9
10export default (change, opt = DEFAULT) => {
11 const options = Object.assign({}, DEFAULT, opt);
12 let newChange;
13
14 const utils = EditBlockquote(options).utils;
15 const changes = EditBlockquote(options).changes;
16
17 if (utils.isSelectionInBlockquote(change.value)) {
18 newChange = changes.unwrapBlockquote(change);
19 } else {
20 newChange = changes.wrapInBlockquote(change);
21 }
22
23 return newChange;
24};