import { RenderElementProps } from "slate-react"; import React from "react"; export type RenderElementFunction = ( props: RenderElementProps, ) => React.JSX.Element; export function makeRenderElementFunction( suggestionsStyle: React.CSSProperties, ): RenderElementFunction { return (props: RenderElementProps) => { switch (props.element.type) { case "paragraph": return ; case "suggestion": return ( ); } }; } const DefaultElement = (props: RenderElementProps) => { return
{props.children}
; }; const SuggestionElement = ( props: RenderElementProps & { suggestionsStyle: React.CSSProperties; }, ) => { return ( {props.children /* https://github.com/ianstormtaylor/slate/issues/3930 */} {props.element.type === "suggestion" && props.element.content} ); };