RichText
The RichText
component allows the user to edit a multiline rich text.
It is very flexible, as it allows you to:
- Choose the allowed rich text features (Bold, Italic, Code, Highlight, Link).
- Provide your own components to render each marker.
Properties
Here's the Typescript interface for the props of the RichText
component:
interface RichTextProps { propName: string renderBlock: React.FC placeholder: string allowedFeatures?: types.RichTextFeatures[] renderBold?: React.FC renderItalic?: React.FC renderHighlight?: React.FC renderCode?: React.FC renderLink?: React.FC renderUL?: React.FC renderOL?: React.FC renderLI?: React.FC}
Properties definition
Property | Definition |
---|---|
propName | The prop of the Brick component corresponding to this text. |
renderBlock | A React functional component used to render each paragraph of text. |
placeholder | The placeholder to show when the text is empty. |
allowedFeatures | An array of allowed rich text features: the available features are BOLD , ITALIC , CODE , HIGHLIGHT , LINK , UL , OL .You find them on the exported types.RichTextFeatures |
renderBold | The optional render function for the BOLD marker. |
renderItalic | The optional render function for the ITALIC marker. |
renderCode | The optional render function for the CODE marker. |
renderHighlight | The optional render function for the HIGHLIGHT marker. |
renderLink | The optional render function for the LINK marker.Warning: this render function will override the default React Bricks Link component (which uses the configured renderLocalLink for local links and a <a> tag for external links). |
renderUL | The optional render function for Unordered Lists. |
renderOL | The optional render function for Ordered Lists. |
renderLI | The optional render function for List Items. |
Usage example
<RichText renderBlock={(props: any) => ( <p className="text-lg sm:text-xl text-center" {...props.attributes} > {props.children} </p> )} placeholder="Type a text..." propName="text" allowedFeatures={[ types.RichTextFeatures.Bold, types.RichTextFeatures.Italic, types.RichTextFeatures.Code, types.RichTextFeatures.Highlight, types.RichTextFeatures.Link, types.RichTextFeatures.UnorderedList, types.RichTextFeatures.OrderedList, ]}/>