diff --git a/packages/xl-email-exporter/src/react-email/__snapshots__/reactEmailExporter.test.tsx.snap b/packages/xl-email-exporter/src/react-email/__snapshots__/reactEmailExporter.test.tsx.snap index d9cc16d87f..82eba87f15 100644 --- a/packages/xl-email-exporter/src/react-email/__snapshots__/reactEmailExporter.test.tsx.snap +++ b/packages/xl-email-exporter/src/react-email/__snapshots__/reactEmailExporter.test.tsx.snap @@ -1,10 +1,10 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`react email exporter > should export a document (HTML snapshot) > __snapshots__/reactEmailExporter 1`] = `"

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; +exports[`react email exporter > should export a document (HTML snapshot) > __snapshots__/reactEmailExporter 1`] = `"

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; -exports[`react email exporter > should export a document with multiple preview lines > __snapshots__/reactEmailExporterWithMultiplePreview 1`] = `"
First preview lineSecond preview line
Β β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»Ώ

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; +exports[`react email exporter > should export a document with multiple preview lines > __snapshots__/reactEmailExporterWithMultiplePreview 1`] = `"
First preview lineSecond preview line
Β β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»Ώ

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; -exports[`react email exporter > should export a document with preview > __snapshots__/reactEmailExporterWithPreview 1`] = `"
This is a preview of the email content
Β β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»Ώ

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; +exports[`react email exporter > should export a document with preview > __snapshots__/reactEmailExporterWithPreview 1`] = `"
This is a preview of the email content
Β β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»ΏΒ β€Œβ€‹β€β€Žβ€ο»Ώ

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; exports[`react email exporter > should handle document with background colors > __snapshots__/reactEmailExporterBackgroundColor 1`] = `"

Text with background color

"`; @@ -14,7 +14,7 @@ exports[`react email exporter > should handle document with code blocks > __snap exports[`react email exporter > should handle document with complex nested structure > __snapshots__/reactEmailExporterComplexNested 1`] = `"

Complex Document

This is a paragraph with bold and italic text, plus a link.

  • List item with nested content

    Nested paragraph

    1. Nested numbered item

"`; -exports[`react email exporter > should handle document with custom body styles > __snapshots__/reactEmailExporterCustomBodyStyles 1`] = `"

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; +exports[`react email exporter > should handle document with custom body styles > __snapshots__/reactEmailExporterCustomBodyStyles 1`] = `"

Welcome to this demo πŸ™Œ!

Hello World nested

Hello World double nested

This paragraph has a background color

Paragraph

Heading

Heading right

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Emojis: πŸ˜€ πŸŽ‰ πŸš€ πŸ‘ πŸ‘πŸ½ 🌍 πŸšΆβ€β™€οΈ

Centered paragraph

justified paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


  • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    • Bullet List Item right. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    1. Numbered List Item 1

    2. Numbered List Item 2

      1. Numbered List Item Nested 1

      2. Numbered List Item Nested 2

      3. Numbered List Item Nested funky right

      4. Numbered List Item Nested funky center

  1. Numbered List Item

Check List Item

Checked List Item

  1. Numbered List Item starting at 5

  2. Numbered List Item 6

  • Toggle List Item

    Content nested inside the toggle list item.

    • A nested bullet inside the toggle

Toggle Heading

Content nested inside the toggle heading.

Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
Wide CellTable CellTable Cell
From https://placehold.co/332x322.jpg
Open video

From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm

Open audio

From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3

audio.mp3

Audio file caption

Inline Content:

Styled Text underlined strikethrough Link

Table Header 1Table Header 2Table Header 3
Table Cell 4Table Cell Bold Colored 5Table Cell 6
Table Cell 7Table Cell 8Table Cell 9
Merged HeaderHeader C
Header AHeader BHeader C2
Merged RowsCell B1Cell C1
Cell B2Cell C2

A hard line break
within a single paragraph

const ‍​helloWorld ‍​= ‍​(message) ‍​=> ‍​{
 ‍​ ‍​console.log("Hello World", ‍​message);
};

Some inline code: var foo = 'bar';

This paragraph is in a column!

So is this heading!

You can have multiple blocks in a column too

  • Block 1

  • Block 2

  • Block 3


All those moments will be lost in time, like tears in rain.

"`; exports[`react email exporter > should handle document with headings of different levels > __snapshots__/reactEmailExporterHeadings 1`] = `"

Heading 1

Heading 2

Heading 3

"`; diff --git a/packages/xl-email-exporter/src/react-email/reactEmailExporter.test.tsx b/packages/xl-email-exporter/src/react-email/reactEmailExporter.test.tsx index 91ef40cf36..976acb1fc1 100644 --- a/packages/xl-email-exporter/src/react-email/reactEmailExporter.test.tsx +++ b/packages/xl-email-exporter/src/react-email/reactEmailExporter.test.tsx @@ -120,6 +120,37 @@ describe("react email exporter", () => { expect(html).toMatchSnapshot("__snapshots__/reactEmailExporterStyledText"); }); + it("should escape HTML characters in text content", async () => { + const exporter = new ReactEmailExporter( + BlockNoteSchema.create(), + reactEmailDefaultSchemaMappings, + ); + + const untrustedDocument = [ + { + id: "1", + type: "paragraph", + content: [ + { + type: "text", + text: "x < 10 & y > 20\n", + styles: {}, + }, + ], + children: [], + props: {}, + }, + ]; + + const html = await exporter.toReactEmailDocument(untrustedDocument as any); + + expect(html).not.toContain("