Path: blob/master/src/packages/frontend/editors/slate/elements/break/index.tsx
1698 views
/*1* This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.2* License: MS-RSL – see LICENSE.md for details3*/45import { register, SlateElement } from "../register";6import { Element } from "slate";78export interface Softbreak extends SlateElement {9type: "softbreak";10isInline: true;11isVoid: true;12}1314register({15slateType: "softbreak",1617toSlate: () => {18return {19type: "softbreak",20isInline: true,21isVoid: true,22children: [{ text: "" }],23};24},2526// A softbreak creates a new line without creating27// a new paragraph.28StaticElement: ({ attributes, children }) => {29return (30<span {...attributes}>31<span style={{ whiteSpace: "normal" }}> </span>32{children}33</span>34);35},36});3738export interface Hardbreak extends SlateElement {39type: "hardbreak";40isInline: true;41isVoid: true;42}4344export function hardbreak() {45return {46type: "hardbreak",47isInline: true,48isVoid: true,49children: [{ text: "" }],50} as Element;51}5253register({54slateType: "hardbreak",5556StaticElement: ({ attributes, children }) => {57return (58<span {...attributes}>59<span style={{ whiteSpace: "pre" }}>{"\n"}</span>60{children}61</span>62);63},6465toSlate: hardbreak,66});676869