From 6f676d67712b15216cf611e01dead990ee0dd8c1 Mon Sep 17 00:00:00 2001 From: Justin Weiss Date: Tue, 24 Oct 2017 22:36:49 -0700 Subject: [PATCH] Keep marks after splitting a block (#1273) If you have, for example, a bold mark, and you hit "Enter", the new block won't carry over the formatting. Instead, it should (at least if you start typing right away). Fixes #1269. --- packages/slate-react/src/plugins/after.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/slate-react/src/plugins/after.js b/packages/slate-react/src/plugins/after.js index 39115a405..111f2e076 100644 --- a/packages/slate-react/src/plugins/after.js +++ b/packages/slate-react/src/plugins/after.js @@ -474,9 +474,15 @@ function AfterPlugin(options = {}) { const { state } = change if (HOTKEYS.SPLIT_BLOCK(event)) { - return state.isInVoid - ? change.collapseToStartOfNextText() - : change.splitBlock() + if (state.isInVoid) { + return change.collapseToStartOfNextText() + } else { + change = change.splitBlock() + state.activeMarks.forEach((mark) => { + change = change.addMark(mark) + }) + return change + } } if (HOTKEYS.DELETE_CHAR_BACKWARD(event)) {