5.39.5 • Published 15 days ago

@webiny/react-rich-text-lexical-renderer v5.39.5

Weekly downloads
-
License
MIT
Repository
github
Last release
15 days ago

@webiny/react-rich-text-lexical-renderer

npm.io npm.io code style: prettier PRs Welcome

A React component to render lexical editor data coming from Webiny Headless CMS and Webiny Form Builder.

About

Webiny uses Lexical editor https://lexical.dev/ as a go to Rich Text Editor, with some additional plugins. To speed up the rendering of data for developers, we created this component.

Install

npm install --save @webiny/react-rich-text-lexical-renderer

Or if you prefer yarn:

yarn add @webiny/react-rich-text-lexical-renderer

Usage

Fetch your data from Headless CMS, then pass it to the component like this:

import { RichTextRenderer } from "@webiny/react-rich-text-renderer";

// Load content from Headless CMS (here we show what your content might look like).
const content = {
    root: {
        children: [
            {
                children: [
                    {
                        detail: 0,
                        format: 0,
                        mode: "normal",
                        style: "",
                        text: "A well written paragraph of text can bring so much joy!",
                        type: "text",
                        version: 1
                    }
                ],
                direction: "ltr",
                styles: [],
                format: "",
                indent: 0,
                tag: "p",
                type: "paragraph-element",
                version: 1
            }
        ],
            direction: "ltr",
            format: "",
            indent: 0,
            type: "root",
            version: 1
    }
}

// Mount the component
<RichTextLexicalRenderer value={content} />;

Adding your custom lexical nodes for rendering

You can add custom lexical nodes for rendering your content:

class MyCustomNode extends LexicalNode {
    ...
}

// Mount the component
<RichTextLexicalRenderer value={content} nodes={[MyCustomNode]} />;

Adding your custom typography theme.

You can override Webiny default typography theme that is used by lexical editor by providing your custom typography object.

Please read our docs and check our theme object on GitHub before add you custom theme.

const myTheme = {
    styles: {
        typography: {
            headings: [
                {
                    id: "custom_heading1",
                    name: "Custom Heading 1",
                    tag: "h1",
                    styles: { ...headings, fontWeight: "bold", fontSize: 48 }
                }]
        }
    }
}

// Mount the component
<RichTextLexicalRenderer value={content}  theme={myTheme} nodes={[MyCustomNode]} />;
5.39.5

15 days ago

5.39.5-beta.1

15 days ago

5.40.0-beta.2

15 days ago

5.40.0-beta.1

21 days ago

5.39.4

28 days ago

5.39.4-beta.1

28 days ago

5.40.0-beta.0

1 month ago

5.39.4-beta.0

2 months ago

5.39.3

2 months ago

5.39.3-beta.0

2 months ago

5.39.3-beta.1

2 months ago

5.39.2

2 months ago

5.39.2-beta.2

2 months ago

5.39.2-beta.3

2 months ago

5.39.2-beta.1

2 months ago

5.39.2-beta.0

2 months ago

5.38.6

3 months ago

5.39.1

3 months ago

5.39.1-beta.1

3 months ago

5.39.0

3 months ago

5.39.1-beta.0

3 months ago

5.39.0-beta.2

3 months ago

5.39.0-beta.3

3 months ago

5.38.5-beta.0

4 months ago

5.38.5

4 months ago

5.38.4

4 months ago

5.38.4-beta.0

4 months ago

5.38.3-beta.1

4 months ago

5.38.3

4 months ago

5.38.3-beta.0

4 months ago

5.38.2

5 months ago

5.38.2-beta.0

5 months ago

5.38.1

6 months ago

5.38.1-beta.0

6 months ago

5.39.0-beta.1

6 months ago

5.39.0-beta.0

6 months ago

5.38.0

6 months ago

5.38.0-beta.6

6 months ago

5.38.0-beta.5

6 months ago

5.38.0-beta.4

6 months ago

5.38.0-beta.3

6 months ago

5.38.0-beta.2

6 months ago

5.38.0-beta.1

6 months ago

5.38.0-beta.0

6 months ago

5.37.8

7 months ago

5.37.8-beta.0

7 months ago

5.37.7

7 months ago

5.37.7-beta.0

7 months ago

5.37.6

7 months ago

5.37.6-beta.1

7 months ago

5.37.6-beta.0

7 months ago

5.37.5

7 months ago

5.37.5-beta.1

7 months ago

5.37.5-beta.0

7 months ago

5.37.4

8 months ago

5.37.4-beta.1

8 months ago

5.37.4-beta.0

8 months ago

5.37.3

8 months ago

5.37.3-beta.2

8 months ago

5.37.3-beta.1

8 months ago

5.37.3-beta.0

8 months ago

5.37.2

9 months ago

5.37.2-beta.3

9 months ago

5.37.2-beta.2

9 months ago

5.37.2-beta.1

9 months ago

5.37.2-beta.0

9 months ago

5.37.1

9 months ago

5.37.1-beta.3

9 months ago

5.37.1-beta.2

9 months ago

5.37.1-beta.1

9 months ago

5.37.1-beta.0

9 months ago

5.37.0

10 months ago

5.37.0-beta.3

10 months ago

5.37.0-beta.2

10 months ago

5.37.0-beta.1

10 months ago

5.37.0-beta.0

10 months ago

5.36.2-beta.2

10 months ago