diff --git a/docs/package.json b/docs/package.json
index a9a9b11870..153f91c4a7 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -48,7 +48,7 @@
"@polar-sh/better-auth": "^1.1.9",
"@polar-sh/nextjs": "^0.4.9",
"@polar-sh/sdk": "^0.34.17",
- "@react-email/render": "^1.1.2",
+ "@react-email/render": "^2.0.4",
"@react-pdf/renderer": "^4.3.0",
"@sentry/nextjs": "9.14.0",
"@shikijs/core": "^3.19.0",
@@ -119,7 +119,7 @@
"@liveblocks/react-tiptap": "^2.24.3",
"@liveblocks/react-ui": "^2.24.3",
"@mui/material": "^5.17.1",
- "@react-email/components": "^0.0.36",
+ "@react-email/components": "^1.0.6",
"@react-pdf/renderer": "^4.3.0",
"@tailwindcss/postcss": "^4.1.14",
"@types/better-sqlite3": "7.6.13",
@@ -133,7 +133,7 @@
"next-themes": "0.4.6",
"next-validate-link": "^1.6.3",
"postcss": "^8.5.6",
- "react-email": "^4.3.0",
+ "react-email": "^5.2.5",
"react-icons": "^5.5.0",
"tailwindcss": "^4.1.14",
"tw-animate-css": "^1.4.0",
diff --git a/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json b/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json
index 4292fc5c25..34a9fffa9c 100644
--- a/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json
+++ b/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json
@@ -5,7 +5,7 @@
"tags": [""],
"dependencies": {
"@blocknote/xl-email-exporter": "latest",
- "@react-email/render": "^1.1.2"
+ "@react-email/render": "^2.0.4"
},
"pro": true
}
diff --git a/examples/05-interoperability/08-converting-blocks-to-react-email/package.json b/examples/05-interoperability/08-converting-blocks-to-react-email/package.json
index 132f1798eb..d20b54ee00 100644
--- a/examples/05-interoperability/08-converting-blocks-to-react-email/package.json
+++ b/examples/05-interoperability/08-converting-blocks-to-react-email/package.json
@@ -22,7 +22,7 @@
"react": "^19.2.1",
"react-dom": "^19.2.1",
"@blocknote/xl-email-exporter": "latest",
- "@react-email/render": "^1.1.2"
+ "@react-email/render": "^2.0.4"
},
"devDependencies": {
"@types/react": "^19.2.2",
diff --git a/packages/xl-email-exporter/package.json b/packages/xl-email-exporter/package.json
index 0bd1174eb5..68e59ec05b 100644
--- a/packages/xl-email-exporter/package.json
+++ b/packages/xl-email-exporter/package.json
@@ -57,12 +57,12 @@
"web-streams-polyfill": "^4.2.0",
"@blocknote/core": "0.46.1",
"@blocknote/react": "0.46.1",
- "@react-email/components": "^0.1.1",
- "@react-email/render": "^1.4.0",
+ "@react-email/components": "^1.0.6",
+ "@react-email/render": "^2.0.4",
"buffer": "^6.0.3",
"react": "^19.2.1",
"react-dom": "^19.2.1",
- "react-email": "^4.3.0"
+ "react-email": "^5.2.5"
},
"devDependencies": {
"@types/jsdom": "^21.1.7",
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 73e152af24..0bfcd950f1 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,37 +1,37 @@
// 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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const helloWorld = ( message ) => {
console . log ( "Hello World" , message ) ;
} ;
Some inline code: var foo = 'bar';
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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const Β ββ helloWorld Β ββ = Β ββ ( message ) Β ββ => Β ββ { Β ββΒ ββ console . log ( "Hello World" , Β ββmessage ) ; } ; Some inline code: var foo = 'bar';
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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const helloWorld = ( message ) => {
console . log ( "Hello World" , message ) ;
} ;
Some inline code: var foo = 'bar';
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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const Β ββ helloWorld Β ββ = Β ββ ( message ) Β ββ => Β ββ { Β ββΒ ββ console . log ( "Hello World" , Β ββmessage ) ; } ; Some inline code: var foo = 'bar';
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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const helloWorld = ( message ) => {
console . log ( "Hello World" , message ) ;
} ;
Some inline code: var foo = 'bar';
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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const Β ββ helloWorld Β ββ = Β ββ ( message ) Β ββ => Β ββ { Β ββΒ ββ console . log ( "Hello World" , Β ββmessage ) ; } ; Some inline code: var foo = 'bar';
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
"`;
+exports[`react email exporter > should handle document with background colors > __snapshots__/reactEmailExporterBackgroundColor 1`] = `"Text with background color
"`;
-exports[`react email exporter > should handle document with check list items > __snapshots__/reactEmailExporterCheckList 1`] = `"Checked item
Unchecked item
"`;
+exports[`react email exporter > should handle document with check list items > __snapshots__/reactEmailExporterCheckList 1`] = `"Checked item
Unchecked item
"`;
-exports[`react email exporter > should handle document with code blocks > __snapshots__/reactEmailExporterCodeBlock 1`] = `"const hello = 'world' ;
console . log ( hello ) ;
"`;
+exports[`react email exporter > should handle document with code blocks > __snapshots__/reactEmailExporterCodeBlock 1`] = `"const Β ββhelloΒ ββ = Β ββ 'world' ; console . log ( hello ) ;
"`;
-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 .
"`;
+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 .
"`;
-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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const helloWorld = ( message ) => {
console . log ( "Hello World" , message ) ;
} ;
Some inline code: var foo = 'bar';
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 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.
Numbered List Item 1
Numbered List Item 2
Numbered List Item Nested 1
Numbered List Item Nested 2
Numbered List Item Nested funky right
Numbered List Item Nested funky center
Numbered List Item
Check List Item
Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell Wide Cell Table Cell Table Cell
Open video file From https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
Open audio file From https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3
Inline Content:
Styled Text Link
Table Cell 1 Table Cell 2 Table Cell 3 Table Cell 4 Table Cell Bold 5 Table Cell 6 Table Cell 7 Table Cell 8 Table Cell 9
const Β ββ helloWorld Β ββ = Β ββ ( message ) Β ββ => Β ββ { Β ββΒ ββ console . log ( "Hello World" , Β ββmessage ) ; } ; Some inline code: var foo = 'bar';
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 "`;
+exports[`react email exporter > should handle document with headings of different levels > __snapshots__/reactEmailExporterHeadings 1`] = `"Heading 1 Heading 2 Heading 3
"`;
-exports[`react email exporter > should handle document with links > __snapshots__/reactEmailExporterWithLinks 1`] = `"Click here
"`;
+exports[`react email exporter > should handle document with links > __snapshots__/reactEmailExporterWithLinks 1`] = `" "`;
-exports[`react email exporter > should handle document with mixed content types > __snapshots__/reactEmailExporterMixedContent 1`] = `"Main Heading Regular paragraph with bold text
Numbered list item
"`;
+exports[`react email exporter > should handle document with mixed content types > __snapshots__/reactEmailExporterMixedContent 1`] = `"Main Heading Regular paragraph with bold text
Numbered list item
"`;
-exports[`react email exporter > should handle document with mixed list types > __snapshots__/reactEmailExporterMixedLists 1`] = `"Bullet item 1
Bullet item 2
Numbered item 1
Numbered item 2
"`;
+exports[`react email exporter > should handle document with mixed list types > __snapshots__/reactEmailExporterMixedLists 1`] = `"Bullet item 1
Bullet item 2
Numbered item 1
Numbered item 2
"`;
-exports[`react email exporter > should handle document with nested lists > __snapshots__/reactEmailExporterNestedLists 1`] = `" "`;
+exports[`react email exporter > should handle document with nested lists > __snapshots__/reactEmailExporterNestedLists 1`] = `" "`;
-exports[`react email exporter > should handle document with only text blocks > __snapshots__/reactEmailExporterSimpleText 1`] = `"Simple text content
"`;
+exports[`react email exporter > should handle document with only text blocks > __snapshots__/reactEmailExporterSimpleText 1`] = `" "`;
-exports[`react email exporter > should handle document with styled text > __snapshots__/reactEmailExporterStyledText 1`] = `"Bold and italic text
"`;
+exports[`react email exporter > should handle document with styled text > __snapshots__/reactEmailExporterStyledText 1`] = `" "`;
-exports[`react email exporter > should handle document with text alignment > __snapshots__/reactEmailExporterTextAlignment 1`] = `" "`;
+exports[`react email exporter > should handle document with text alignment > __snapshots__/reactEmailExporterTextAlignment 1`] = `" "`;
-exports[`react email exporter > should handle document with text colors > __snapshots__/reactEmailExporterTextColor 1`] = `" "`;
+exports[`react email exporter > should handle document with text colors > __snapshots__/reactEmailExporterTextColor 1`] = `" "`;
-exports[`react email exporter > should handle empty document > __snapshots__/reactEmailExporterEmpty 1`] = `" "`;
+exports[`react email exporter > should handle empty document > __snapshots__/reactEmailExporterEmpty 1`] = `" "`;
diff --git a/playground/src/examples.gen.tsx b/playground/src/examples.gen.tsx
index 7628ff957c..46f0c461b8 100644
--- a/playground/src/examples.gen.tsx
+++ b/playground/src/examples.gen.tsx
@@ -1149,7 +1149,7 @@
],
"dependencies": {
"@blocknote/xl-email-exporter": "latest",
- "@react-email/render": "^1.1.2"
+ "@react-email/render": "^2.0.4"
} as any,
"pro": true
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2ba3ccc723..2db137b5aa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -164,8 +164,8 @@ importers:
specifier: ^0.34.17
version: 0.34.17
'@react-email/render':
- specifier: ^1.1.2
- version: 1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ specifier: ^2.0.4
+ version: 2.0.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@react-pdf/renderer':
specifier: ^4.3.0
version: 4.3.1(react@19.2.3)
@@ -348,8 +348,8 @@ importers:
specifier: workspace:*
version: link:../packages/shadcn
'@react-email/components':
- specifier: ^0.0.36
- version: 0.0.36(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ specifier: ^1.0.6
+ version: 1.0.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@tailwindcss/postcss':
specifier: ^4.1.14
version: 4.1.14
@@ -384,8 +384,8 @@ importers:
specifier: ^8.5.6
version: 8.5.6
react-email:
- specifier: ^4.3.0
- version: 4.3.0
+ specifier: ^5.2.5
+ version: 5.2.5
tailwindcss:
specifier: ^4.1.14
version: 4.1.14
@@ -2898,8 +2898,8 @@ importers:
specifier: ^6.0.22
version: 6.0.22(react@19.2.3)
'@react-email/render':
- specifier: ^1.1.2
- version: 1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ specifier: ^2.0.4
+ version: 2.0.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react:
specifier: ^19.2.1
version: 19.2.3
@@ -5408,11 +5408,11 @@ importers:
specifier: 0.46.1
version: link:../react
'@react-email/components':
- specifier: ^0.1.1
- version: 0.1.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ specifier: ^1.0.6
+ version: 1.0.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@react-email/render':
- specifier: ^1.4.0
- version: 1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ specifier: ^2.0.4
+ version: 2.0.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
buffer:
specifier: ^6.0.3
version: 6.0.3
@@ -5423,8 +5423,8 @@ importers:
specifier: ^19.2.1
version: 19.2.3(react@19.2.3)
react-email:
- specifier: ^4.3.0
- version: 4.3.0
+ specifier: ^5.2.5
+ version: 5.2.5
web-streams-polyfill:
specifier: ^4.2.0
version: 4.2.0
@@ -8947,184 +8947,162 @@ packages:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- '@react-email/body@0.0.11':
- resolution: {integrity: sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg==}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/button@0.0.19':
- resolution: {integrity: sha512-HYHrhyVGt7rdM/ls6FuuD6XE7fa7bjZTJqB2byn6/oGsfiEZaogY77OtoLL/mrQHjHjZiJadtAMSik9XLcm7+A==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/button@0.1.0':
- resolution: {integrity: sha512-fg4LtgTu5zXxaRSly9cuv6sHVF/hi1lElbRaIA8EPx5coWOBhCto6rCPfawcXpaN2oER7rNHUrcNBkI+lz5F9A==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/code-block@0.0.12':
- resolution: {integrity: sha512-Faw3Ij9+/Qwq6moWaeHnV8Hn7ekc/EqyAzPi6yUar21dhcqYugCC4Da1x4d9nA9zC0H9KU3lYVJczh8D3cA+Eg==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/code-block@0.1.0':
- resolution: {integrity: sha512-jSpHFsgqnQXxDIssE4gvmdtFncaFQz5D6e22BnVjcCPk/udK+0A9jRwGFEG8JD2si9ZXBmU4WsuqQEczuZn4ww==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/code-inline@0.0.5':
- resolution: {integrity: sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/column@0.0.13':
- resolution: {integrity: sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/components@0.0.36':
- resolution: {integrity: sha512-VMh+OQplAnG8JMLlJjdnjt+ThJZ+JVkp0q2YMS2NEz+T88N22bLD2p7DZO0QgtNaKgumOhJI/0a2Q7VzCrwu5g==}
- engines: {node: '>=18.0.0'}
+ '@react-email/body@0.2.1':
+ resolution: {integrity: sha512-ljDiQiJDu/Fq//vSIIP0z5Nuvt4+DX1RqGasstChDGJB/14ogd4VdNS9aacoede/ZjGy3o3Qb+cxyS+XgM6SwQ==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/components@0.1.1':
- resolution: {integrity: sha512-NyPuoqd1o77HL4+58pBrpk3e5/0UZLNU11/OBnE59F2MCZ8IaZX+55Ce+HR5itKTMdqlgfncz7sGA1TDITo41g==}
- engines: {node: '>=18.0.0'}
+ '@react-email/button@0.2.1':
+ resolution: {integrity: sha512-qXyj7RZLE7POy9BMKSoqQ00tOXThjOZSUnI2Yu9i29IHngPlmrNayIWBoVKtElES7OWwypUcpiajwi1mUWx6/A==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/container@0.0.15':
- resolution: {integrity: sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg==}
- engines: {node: '>=18.0.0'}
+ '@react-email/code-block@0.2.1':
+ resolution: {integrity: sha512-M3B7JpVH4ytgn83/ujRR1k1DQHvTeABiDM61OvAbjLRPhC/5KLHU5KkzIbbuGIrjWwxAbL1kSQzU8MhLEtSxyw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/font@0.0.9':
- resolution: {integrity: sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw==}
+ '@react-email/code-inline@0.0.6':
+ resolution: {integrity: sha512-jfhebvv3dVsp3OdPgKXnk8+e2pBiDVZejDOBFzBa/IblrAJ9cQDkN6rBD5IyEg8hTOxwbw3iaI/yZFmDmIguIA==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/head@0.0.12':
- resolution: {integrity: sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA==}
- engines: {node: '>=18.0.0'}
+ '@react-email/column@0.0.14':
+ resolution: {integrity: sha512-f+W+Bk2AjNO77zynE33rHuQhyqVICx4RYtGX9NKsGUg0wWjdGP0qAuIkhx9Rnmk4/hFMo1fUrtYNqca9fwJdHg==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/heading@0.0.15':
- resolution: {integrity: sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg==}
- engines: {node: '>=18.0.0'}
+ '@react-email/components@1.0.6':
+ resolution: {integrity: sha512-3GwOeq+5yyiAcwSf7TnHi/HWKn22lXbwxQmkkAviSwZLlhsRVxvmWqRxvUVfQk/HclDUG+62+sGz9qjfb2Uxjw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/hr@0.0.11':
- resolution: {integrity: sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw==}
- engines: {node: '>=18.0.0'}
+ '@react-email/container@0.0.16':
+ resolution: {integrity: sha512-QWBB56RkkU0AJ9h+qy33gfT5iuZknPC7Un/IjZv9B0QmMIK+WWacc0cH6y2SV5Cv/b99hU94fjEMOOO4enpkbQ==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/html@0.0.11':
- resolution: {integrity: sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA==}
- engines: {node: '>=18.0.0'}
+ '@react-email/font@0.0.10':
+ resolution: {integrity: sha512-0urVSgCmQIfx5r7Xc586miBnQUVnGp3OTYUm8m5pwtQRdTRO5XrTtEfNJ3JhYhSOruV0nD8fd+dXtKXobum6tA==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/img@0.0.11':
- resolution: {integrity: sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ==}
- engines: {node: '>=18.0.0'}
+ '@react-email/head@0.0.13':
+ resolution: {integrity: sha512-AJg6le/08Gz4tm+6MtKXqtNNyKHzmooOCdmtqmWxD7FxoAdU1eVcizhtQ0gcnVaY6ethEyE/hnEzQxt1zu5Kog==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/link@0.0.12':
- resolution: {integrity: sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ==}
- engines: {node: '>=18.0.0'}
+ '@react-email/heading@0.0.16':
+ resolution: {integrity: sha512-jmsKnQm1ykpBzw4hCYHwBkt5pW2jScXffPeEH5ZRF5tZeF5b1pvlFTO9han7C0pCkZYo1kEvWiRtx69yfCIwuw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/markdown@0.0.14':
- resolution: {integrity: sha512-5IsobCyPkb4XwnQO8uFfGcNOxnsg3311GRXhJ3uKv51P7Jxme4ycC/MITnwIZ10w2zx7HIyTiqVzTj4XbuIHbg==}
- engines: {node: '>=18.0.0'}
+ '@react-email/hr@0.0.12':
+ resolution: {integrity: sha512-TwmOmBDibavUQpXBxpmZYi2Iks/yeZOzFYh+di9EltMSnEabH8dMZXrl+pxNXzCgZ2XE8HY7VmUL65Lenfu5PA==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/markdown@0.0.15':
- resolution: {integrity: sha512-UQA9pVm5sbflgtg3EX3FquUP4aMBzmLReLbGJ6DZQZnAskBF36aI56cRykDq1o+1jT+CKIK1CducPYziaXliag==}
- engines: {node: '>=18.0.0'}
+ '@react-email/html@0.0.12':
+ resolution: {integrity: sha512-KTShZesan+UsreU7PDUV90afrZwU5TLwYlALuCSU0OT+/U8lULNNbAUekg+tGwCnOfIKYtpDPKkAMRdYlqUznw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/preview@0.0.12':
- resolution: {integrity: sha512-g/H5fa9PQPDK6WUEG7iTlC19sAktI23qyoiJtMLqQiXFCfWeQMhqjLGKeLSKkfzszqmfJCjZtpSiKtBoOdxp3Q==}
- engines: {node: '>=18.0.0'}
+ '@react-email/img@0.0.12':
+ resolution: {integrity: sha512-sRCpEARNVTf3FQhZOC+JTvu5r6ubiYWkT0ucYXg8ctkyi4G8QG+jgYPiNUqVeTLA2STOfmPM/nrk1nb84y6CPQ==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/preview@0.0.13':
- resolution: {integrity: sha512-F7j9FJ0JN/A4d7yr+aw28p4uX7VLWs7hTHtLo7WRyw4G+Lit6Zucq4UWKRxJC8lpsUdzVmG7aBJnKOT+urqs/w==}
- engines: {node: '>=18.0.0'}
+ '@react-email/link@0.0.13':
+ resolution: {integrity: sha512-lkWc/NjOcefRZMkQoSDDbuKBEBDES9aXnFEOuPH845wD3TxPwh+QTf0fStuzjoRLUZWpHnio4z7qGGRYusn/sw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/render@1.0.6':
- resolution: {integrity: sha512-zNueW5Wn/4jNC1c5LFgXzbUdv5Lhms+FWjOvWAhal7gx5YVf0q6dPJ0dnR70+ifo59gcMLwCZEaTS9EEuUhKvQ==}
- engines: {node: '>=18.0.0'}
+ '@react-email/markdown@0.0.18':
+ resolution: {integrity: sha512-gSuYK5fsMbGk87jDebqQ6fa2fKcWlkf2Dkva8kMONqLgGCq8/0d+ZQYMEJsdidIeBo3kmsnHZPrwdFB4HgjUXg==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/render@1.1.3':
- resolution: {integrity: sha512-TjjF1tdTmOqYEIWWg9wMx5q9JbQRbWmnG7owQbSGEHkNfc/c/vBu7hjfrki907lgQEAkYac9KPTyIjOKhvhJCg==}
- engines: {node: '>=18.0.0'}
+ '@react-email/preview@0.0.14':
+ resolution: {integrity: sha512-aYK8q0IPkBXyMsbpMXgxazwHxYJxTrXrV95GFuu2HbEiIToMwSyUgb8HDFYwPqqfV03/jbwqlsXmFxsOd+VNaw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/render@1.4.0':
- resolution: {integrity: sha512-ZtJ3noggIvW1ZAryoui95KJENKdCzLmN5F7hyZY1F/17B1vwzuxHB7YkuCg0QqHjDivc5axqYEYdIOw4JIQdUw==}
- engines: {node: '>=18.0.0'}
+ '@react-email/render@2.0.4':
+ resolution: {integrity: sha512-kht2oTFQ1SwrLpd882ahTvUtNa9s53CERHstiTbzhm6aR2Hbykp/mQ4tpPvsBGkKAEvKRlDEoooh60Uk6nHK1g==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
react-dom: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/row@0.0.12':
- resolution: {integrity: sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/section@0.0.16':
- resolution: {integrity: sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^18.0 || ^19.0 || ^19.0.0-rc
-
- '@react-email/tailwind@1.0.4':
- resolution: {integrity: sha512-tJdcusncdqgvTUYZIuhNC6LYTfL9vNTSQpwWdTCQhQ1lsrNCEE4OKCSdzSV3S9F32pi0i0xQ+YPJHKIzGjdTSA==}
- engines: {node: '>=18.0.0'}
+ '@react-email/row@0.0.13':
+ resolution: {integrity: sha512-bYnOac40vIKCId7IkwuLAAsa3fKfSfqCvv6epJKmPE0JBuu5qI4FHFCl9o9dVpIIS08s/ub+Y/txoMt0dYziGw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/tailwind@1.0.5':
- resolution: {integrity: sha512-BH00cZSeFfP9HiDASl+sPHi7Hh77W5nzDgdnxtsVr/m3uQD9g180UwxcE3PhOfx0vRdLzQUU8PtmvvDfbztKQg==}
- engines: {node: '>=18.0.0'}
+ '@react-email/section@0.0.17':
+ resolution: {integrity: sha512-qNl65ye3W0Rd5udhdORzTV9ezjb+GFqQQSae03NDzXtmJq6sqVXNWNiVolAjvJNypim+zGXmv6J9TcV5aNtE/w==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
- '@react-email/text@0.1.1':
- resolution: {integrity: sha512-Zo9tSEzkO3fODLVH1yVhzVCiwETfeEL5wU93jXKWo2DHoMuiZ9Iabaso3T0D0UjhrCB1PBMeq2YiejqeToTyIQ==}
- engines: {node: '>=18.0.0'}
+ '@react-email/tailwind@2.0.3':
+ resolution: {integrity: sha512-URXb/T2WS4RlNGM5QwekYnivuiVUcU87H0y5sqLl6/Oi3bMmgL0Bmw/W9GeJylC+876Vw+E6NkE0uRiUFIQwGg==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
+ '@react-email/body': 0.2.1
+ '@react-email/button': 0.2.1
+ '@react-email/code-block': 0.2.1
+ '@react-email/code-inline': 0.0.6
+ '@react-email/container': 0.0.16
+ '@react-email/heading': 0.0.16
+ '@react-email/hr': 0.0.12
+ '@react-email/img': 0.0.12
+ '@react-email/link': 0.0.13
+ '@react-email/preview': 0.0.14
+ '@react-email/text': 0.1.6
react: ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@react-email/body':
+ optional: true
+ '@react-email/button':
+ optional: true
+ '@react-email/code-block':
+ optional: true
+ '@react-email/code-inline':
+ optional: true
+ '@react-email/container':
+ optional: true
+ '@react-email/heading':
+ optional: true
+ '@react-email/hr':
+ optional: true
+ '@react-email/img':
+ optional: true
+ '@react-email/link':
+ optional: true
+ '@react-email/preview':
+ optional: true
- '@react-email/text@0.1.5':
- resolution: {integrity: sha512-o5PNHFSE085VMXayxH+SJ1LSOtGsTv+RpNKnTiJDrJUwoBu77G3PlKOsZZQHCNyD28WsQpl9v2WcJLbQudqwPg==}
- engines: {node: '>=18.0.0'}
+ '@react-email/text@0.1.6':
+ resolution: {integrity: sha512-TYqkioRS45wTR5il3dYk/SbUjjEdhSwh9BtRNB99qNH1pXAwA45H7rAuxehiu8iJQJH0IyIr+6n62gBz9ezmsw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0 || ^19.0 || ^19.0.0-rc
@@ -10710,6 +10688,14 @@ packages:
ajv:
optional: true
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
ajv-keywords@5.1.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies:
@@ -10857,6 +10843,9 @@ packages:
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ atomically@2.1.0:
+ resolution: {integrity: sha512-+gDffFXRW6sl/HCwbta7zK4uNqbPjv4YJEAdz7Vu+FLQHe77eZ4bvbJGi4hE0QPeJlMYMA3piXEr1UL3dAwx7Q==}
+
autoprefixer@10.4.21:
resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
engines: {node: ^10 || ^12 || >=14}
@@ -11297,6 +11286,10 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ conf@15.0.2:
+ resolution: {integrity: sha512-JBSrutapCafTrddF9dH3lc7+T2tBycGF4uPkI4Js+g4vLLEhG6RZcFi3aJd5zntdf5tQxAejJt8dihkoQ/eSJw==}
+ engines: {node: '>=20'}
+
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
@@ -11415,6 +11408,10 @@ packages:
date-fns@3.6.0:
resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
+ debounce-fn@6.0.0:
+ resolution: {integrity: sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==}
+ engines: {node: '>=18'}
+
debounce@2.2.0:
resolution: {integrity: sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==}
engines: {node: '>=18'}
@@ -11583,6 +11580,10 @@ packages:
domutils@3.2.2:
resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+ dot-prop@10.1.0:
+ resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==}
+ engines: {node: '>=20'}
+
dotenv-expand@11.0.7:
resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==}
engines: {node: '>=12'}
@@ -11662,6 +11663,10 @@ packages:
resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
engines: {node: '>=0.12'}
+ env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
error-ex@1.3.4:
resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
@@ -11960,9 +11965,6 @@ packages:
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- fast-deep-equal@2.0.1:
- resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==}
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -12902,6 +12904,9 @@ packages:
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+ json-schema-typed@8.0.2:
+ resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}
+
json-schema@0.4.0:
resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
@@ -13152,20 +13157,10 @@ packages:
engines: {node: '>= 18'}
hasBin: true
- marked@7.0.4:
- resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==}
- engines: {node: '>= 16'}
- hasBin: true
-
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
- md-to-react-email@5.0.5:
- resolution: {integrity: sha512-OvAXqwq57uOk+WZqFFNCMZz8yDp8BD3WazW1wAKHUrPbbdr89K9DWS6JXY09vd9xNdPNeurI8DU/X4flcfaD8A==}
- peerDependencies:
- react: ^18.0 || ^19.0
-
mdast-util-find-and-replace@3.0.2:
resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
@@ -13658,8 +13653,8 @@ packages:
'@swc/core':
optional: true
- nypm@0.6.0:
- resolution: {integrity: sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==}
+ nypm@0.6.2:
+ resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==}
engines: {node: ^14.16.0 || >=16.10.0}
hasBin: true
@@ -14305,9 +14300,9 @@ packages:
react-dom: ^19.0.0
react-is: ^19.0.0
- react-email@4.3.0:
- resolution: {integrity: sha512-XFHCSfhdlO7k5q2TYGwC0HsVh5Yn13YaOdahuJEUEOfOJKHEpSP4PKg7R/RiKFoK9cDvzunhY+58pXxz0vE2zA==}
- engines: {node: '>=18.0.0'}
+ react-email@5.2.5:
+ resolution: {integrity: sha512-YaCp5n/0czviN4lFndsYongiI0IJOMFtFoRVIPJc9+WPJejJEvzJO94r31p3Cz9swDuV0RhEhH1W0lJFAXntHA==}
+ engines: {node: '>=20.0.0'}
hasBin: true
react-github-btn@1.4.0:
@@ -14350,9 +14345,6 @@ packages:
react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-promise-suspense@0.3.4:
- resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==}
-
react-refresh@0.17.0:
resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
engines: {node: '>=0.10.0'}
@@ -15012,6 +15004,12 @@ packages:
strnum@2.1.1:
resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==}
+ stubborn-fs@2.0.0:
+ resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==}
+
+ stubborn-utils@1.0.2:
+ resolution: {integrity: sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==}
+
style-to-js@1.1.18:
resolution: {integrity: sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==}
@@ -15069,6 +15067,10 @@ packages:
tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+ tagged-tag@1.0.0:
+ resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==}
+ engines: {node: '>=20'}
+
tailwind-merge@2.6.0:
resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
@@ -15078,6 +15080,9 @@ packages:
tailwindcss@4.1.14:
resolution: {integrity: sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==}
+ tailwindcss@4.1.18:
+ resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==}
+
tapable@2.3.0:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
@@ -15296,6 +15301,10 @@ packages:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
+ type-fest@5.4.1:
+ resolution: {integrity: sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ==}
+ engines: {node: '>=20'}
+
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
@@ -15323,6 +15332,10 @@ packages:
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+ uint8array-extras@1.5.0:
+ resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==}
+ engines: {node: '>=18'}
+
unbox-primitive@1.1.0:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
@@ -15709,6 +15722,9 @@ packages:
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ when-exit@2.1.5:
+ resolution: {integrity: sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==}
+
which-boxed-primitive@1.1.1:
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
engines: {node: '>= 0.4'}
@@ -19686,183 +19702,127 @@ snapshots:
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- '@react-email/body@0.0.11(react@19.2.3)':
- dependencies:
- react: 19.2.3
-
- '@react-email/button@0.0.19(react@19.2.3)':
+ '@react-email/body@0.2.1(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/button@0.1.0(react@19.2.3)':
+ '@react-email/button@0.2.1(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/code-block@0.0.12(react@19.2.3)':
+ '@react-email/code-block@0.2.1(react@19.2.3)':
dependencies:
prismjs: 1.30.0
react: 19.2.3
- '@react-email/code-block@0.1.0(react@19.2.3)':
- dependencies:
- prismjs: 1.30.0
- react: 19.2.3
-
- '@react-email/code-inline@0.0.5(react@19.2.3)':
+ '@react-email/code-inline@0.0.6(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/column@0.0.13(react@19.2.3)':
+ '@react-email/column@0.0.14(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/components@0.0.36(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@react-email/body': 0.0.11(react@19.2.3)
- '@react-email/button': 0.0.19(react@19.2.3)
- '@react-email/code-block': 0.0.12(react@19.2.3)
- '@react-email/code-inline': 0.0.5(react@19.2.3)
- '@react-email/column': 0.0.13(react@19.2.3)
- '@react-email/container': 0.0.15(react@19.2.3)
- '@react-email/font': 0.0.9(react@19.2.3)
- '@react-email/head': 0.0.12(react@19.2.3)
- '@react-email/heading': 0.0.15(react@19.2.3)
- '@react-email/hr': 0.0.11(react@19.2.3)
- '@react-email/html': 0.0.11(react@19.2.3)
- '@react-email/img': 0.0.11(react@19.2.3)
- '@react-email/link': 0.0.12(react@19.2.3)
- '@react-email/markdown': 0.0.14(react@19.2.3)
- '@react-email/preview': 0.0.12(react@19.2.3)
- '@react-email/render': 1.0.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@react-email/row': 0.0.12(react@19.2.3)
- '@react-email/section': 0.0.16(react@19.2.3)
- '@react-email/tailwind': 1.0.4(react@19.2.3)
- '@react-email/text': 0.1.1(react@19.2.3)
+ '@react-email/components@1.0.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@react-email/body': 0.2.1(react@19.2.3)
+ '@react-email/button': 0.2.1(react@19.2.3)
+ '@react-email/code-block': 0.2.1(react@19.2.3)
+ '@react-email/code-inline': 0.0.6(react@19.2.3)
+ '@react-email/column': 0.0.14(react@19.2.3)
+ '@react-email/container': 0.0.16(react@19.2.3)
+ '@react-email/font': 0.0.10(react@19.2.3)
+ '@react-email/head': 0.0.13(react@19.2.3)
+ '@react-email/heading': 0.0.16(react@19.2.3)
+ '@react-email/hr': 0.0.12(react@19.2.3)
+ '@react-email/html': 0.0.12(react@19.2.3)
+ '@react-email/img': 0.0.12(react@19.2.3)
+ '@react-email/link': 0.0.13(react@19.2.3)
+ '@react-email/markdown': 0.0.18(react@19.2.3)
+ '@react-email/preview': 0.0.14(react@19.2.3)
+ '@react-email/render': 2.0.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@react-email/row': 0.0.13(react@19.2.3)
+ '@react-email/section': 0.0.17(react@19.2.3)
+ '@react-email/tailwind': 2.0.3(@react-email/body@0.2.1(react@19.2.3))(@react-email/button@0.2.1(react@19.2.3))(@react-email/code-block@0.2.1(react@19.2.3))(@react-email/code-inline@0.0.6(react@19.2.3))(@react-email/container@0.0.16(react@19.2.3))(@react-email/heading@0.0.16(react@19.2.3))(@react-email/hr@0.0.12(react@19.2.3))(@react-email/img@0.0.12(react@19.2.3))(@react-email/link@0.0.13(react@19.2.3))(@react-email/preview@0.0.14(react@19.2.3))(@react-email/text@0.1.6(react@19.2.3))(react@19.2.3)
+ '@react-email/text': 0.1.6(react@19.2.3)
react: 19.2.3
transitivePeerDependencies:
- react-dom
- '@react-email/components@0.1.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@react-email/body': 0.0.11(react@19.2.3)
- '@react-email/button': 0.1.0(react@19.2.3)
- '@react-email/code-block': 0.1.0(react@19.2.3)
- '@react-email/code-inline': 0.0.5(react@19.2.3)
- '@react-email/column': 0.0.13(react@19.2.3)
- '@react-email/container': 0.0.15(react@19.2.3)
- '@react-email/font': 0.0.9(react@19.2.3)
- '@react-email/head': 0.0.12(react@19.2.3)
- '@react-email/heading': 0.0.15(react@19.2.3)
- '@react-email/hr': 0.0.11(react@19.2.3)
- '@react-email/html': 0.0.11(react@19.2.3)
- '@react-email/img': 0.0.11(react@19.2.3)
- '@react-email/link': 0.0.12(react@19.2.3)
- '@react-email/markdown': 0.0.15(react@19.2.3)
- '@react-email/preview': 0.0.13(react@19.2.3)
- '@react-email/render': 1.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@react-email/row': 0.0.12(react@19.2.3)
- '@react-email/section': 0.0.16(react@19.2.3)
- '@react-email/tailwind': 1.0.5(react@19.2.3)
- '@react-email/text': 0.1.5(react@19.2.3)
- react: 19.2.3
- transitivePeerDependencies:
- - react-dom
-
- '@react-email/container@0.0.15(react@19.2.3)':
- dependencies:
- react: 19.2.3
-
- '@react-email/font@0.0.9(react@19.2.3)':
- dependencies:
- react: 19.2.3
-
- '@react-email/head@0.0.12(react@19.2.3)':
- dependencies:
- react: 19.2.3
-
- '@react-email/heading@0.0.15(react@19.2.3)':
+ '@react-email/container@0.0.16(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/hr@0.0.11(react@19.2.3)':
+ '@react-email/font@0.0.10(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/html@0.0.11(react@19.2.3)':
+ '@react-email/head@0.0.13(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/img@0.0.11(react@19.2.3)':
+ '@react-email/heading@0.0.16(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/link@0.0.12(react@19.2.3)':
+ '@react-email/hr@0.0.12(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/markdown@0.0.14(react@19.2.3)':
+ '@react-email/html@0.0.12(react@19.2.3)':
dependencies:
- md-to-react-email: 5.0.5(react@19.2.3)
react: 19.2.3
- '@react-email/markdown@0.0.15(react@19.2.3)':
+ '@react-email/img@0.0.12(react@19.2.3)':
dependencies:
- md-to-react-email: 5.0.5(react@19.2.3)
react: 19.2.3
- '@react-email/preview@0.0.12(react@19.2.3)':
+ '@react-email/link@0.0.13(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/preview@0.0.13(react@19.2.3)':
+ '@react-email/markdown@0.0.18(react@19.2.3)':
dependencies:
+ marked: 15.0.12
react: 19.2.3
- '@react-email/render@1.0.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
- dependencies:
- html-to-text: 9.0.5
- prettier: 3.5.3
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- react-promise-suspense: 0.3.4
-
- '@react-email/render@1.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ '@react-email/preview@0.0.14(react@19.2.3)':
dependencies:
- html-to-text: 9.0.5
- prettier: 3.6.2
react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- react-promise-suspense: 0.3.4
- '@react-email/render@1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ '@react-email/render@2.0.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
html-to-text: 9.0.5
prettier: 3.6.2
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- react-promise-suspense: 0.3.4
-
- '@react-email/row@0.0.12(react@19.2.3)':
- dependencies:
- react: 19.2.3
- '@react-email/section@0.0.16(react@19.2.3)':
+ '@react-email/row@0.0.13(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/tailwind@1.0.4(react@19.2.3)':
+ '@react-email/section@0.0.17(react@19.2.3)':
dependencies:
react: 19.2.3
- '@react-email/tailwind@1.0.5(react@19.2.3)':
+ '@react-email/tailwind@2.0.3(@react-email/body@0.2.1(react@19.2.3))(@react-email/button@0.2.1(react@19.2.3))(@react-email/code-block@0.2.1(react@19.2.3))(@react-email/code-inline@0.0.6(react@19.2.3))(@react-email/container@0.0.16(react@19.2.3))(@react-email/heading@0.0.16(react@19.2.3))(@react-email/hr@0.0.12(react@19.2.3))(@react-email/img@0.0.12(react@19.2.3))(@react-email/link@0.0.13(react@19.2.3))(@react-email/preview@0.0.14(react@19.2.3))(@react-email/text@0.1.6(react@19.2.3))(react@19.2.3)':
dependencies:
+ '@react-email/text': 0.1.6(react@19.2.3)
react: 19.2.3
-
- '@react-email/text@0.1.1(react@19.2.3)':
- dependencies:
- react: 19.2.3
-
- '@react-email/text@0.1.5(react@19.2.3)':
+ tailwindcss: 4.1.18
+ optionalDependencies:
+ '@react-email/body': 0.2.1(react@19.2.3)
+ '@react-email/button': 0.2.1(react@19.2.3)
+ '@react-email/code-block': 0.2.1(react@19.2.3)
+ '@react-email/code-inline': 0.0.6(react@19.2.3)
+ '@react-email/container': 0.0.16(react@19.2.3)
+ '@react-email/heading': 0.0.16(react@19.2.3)
+ '@react-email/hr': 0.0.12(react@19.2.3)
+ '@react-email/img': 0.0.12(react@19.2.3)
+ '@react-email/link': 0.0.13(react@19.2.3)
+ '@react-email/preview': 0.0.14(react@19.2.3)
+
+ '@react-email/text@0.1.6(react@19.2.3)':
dependencies:
react: 19.2.3
@@ -21807,6 +21767,10 @@ snapshots:
optionalDependencies:
ajv: 8.17.1
+ ajv-formats@3.0.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
ajv-keywords@5.1.0(ajv@8.17.1):
dependencies:
ajv: 8.17.1
@@ -21980,6 +21944,11 @@ snapshots:
asynckit@0.4.0: {}
+ atomically@2.1.0:
+ dependencies:
+ stubborn-fs: 2.0.0
+ when-exit: 2.1.5
+
autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
browserslist: 4.26.3
@@ -22464,6 +22433,18 @@ snapshots:
tree-kill: 1.2.2
yargs: 17.7.2
+ conf@15.0.2:
+ dependencies:
+ ajv: 8.17.1
+ ajv-formats: 3.0.1(ajv@8.17.1)
+ atomically: 2.1.0
+ debounce-fn: 6.0.0
+ dot-prop: 10.1.0
+ env-paths: 3.0.0
+ json-schema-typed: 8.0.2
+ semver: 7.7.3
+ uint8array-extras: 1.5.0
+
confbox@0.1.8: {}
confbox@0.2.2: {}
@@ -22570,6 +22551,10 @@ snapshots:
date-fns@3.6.0: {}
+ debounce-fn@6.0.0:
+ dependencies:
+ mimic-function: 5.0.1
+
debounce@2.2.0: {}
debug@2.6.9:
@@ -22714,6 +22699,10 @@ snapshots:
domelementtype: 2.3.0
domhandler: 5.0.3
+ dot-prop@10.1.0:
+ dependencies:
+ type-fest: 5.4.1
+
dotenv-expand@11.0.7:
dependencies:
dotenv: 16.4.7
@@ -22793,6 +22782,8 @@ snapshots:
entities@6.0.1: {}
+ env-paths@3.0.0: {}
+
error-ex@1.3.4:
dependencies:
is-arrayish: 0.2.1
@@ -23305,8 +23296,6 @@ snapshots:
extend@3.0.2: {}
- fast-deep-equal@2.0.1: {}
-
fast-deep-equal@3.1.3: {}
fast-equals@5.4.0: {}
@@ -24422,6 +24411,8 @@ snapshots:
json-schema-traverse@1.0.0: {}
+ json-schema-typed@8.0.2: {}
+
json-schema@0.4.0: {}
json-stable-stringify-without-jsonify@1.0.1: {}
@@ -24630,15 +24621,8 @@ snapshots:
marked@15.0.12: {}
- marked@7.0.4: {}
-
math-intrinsics@1.1.0: {}
- md-to-react-email@5.0.5(react@19.2.3):
- dependencies:
- marked: 7.0.4
- react: 19.2.3
-
mdast-util-find-and-replace@3.0.2:
dependencies:
'@types/mdast': 4.0.4
@@ -25455,13 +25439,13 @@ snapshots:
transitivePeerDependencies:
- debug
- nypm@0.6.0:
+ nypm@0.6.2:
dependencies:
citty: 0.1.6
consola: 3.4.2
pathe: 2.0.3
pkg-types: 2.3.0
- tinyexec: 0.3.2
+ tinyexec: 1.0.1
object-assign@4.1.1: {}
@@ -26110,12 +26094,13 @@ snapshots:
react-dom: 19.2.3(react@19.2.3)
react-is: 19.2.0
- react-email@4.3.0:
+ react-email@5.2.5:
dependencies:
'@babel/parser': 7.28.4
'@babel/traverse': 7.28.4
chokidar: 4.0.3
commander: 13.1.0
+ conf: 15.0.2
debounce: 2.2.0
esbuild: 0.25.11
glob: 11.0.3
@@ -26123,7 +26108,7 @@ snapshots:
log-symbols: 7.0.1
mime-types: 3.0.1
normalize-path: 3.0.0
- nypm: 0.6.0
+ nypm: 0.6.2
ora: 8.2.0
prompts: 2.4.2
socket.io: 4.8.1
@@ -26164,10 +26149,6 @@ snapshots:
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- react-promise-suspense@0.3.4:
- dependencies:
- fast-deep-equal: 2.0.1
-
react-refresh@0.17.0: {}
react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@19.2.3):
@@ -27071,6 +27052,12 @@ snapshots:
strnum@2.1.1: {}
+ stubborn-fs@2.0.0:
+ dependencies:
+ stubborn-utils: 1.0.2
+
+ stubborn-utils@1.0.2: {}
+
style-to-js@1.1.18:
dependencies:
style-to-object: 1.0.11
@@ -27122,12 +27109,16 @@ snapshots:
tabbable@6.2.0: {}
+ tagged-tag@1.0.0: {}
+
tailwind-merge@2.6.0: {}
tailwind-merge@3.3.1: {}
tailwindcss@4.1.14: {}
+ tailwindcss@4.1.18: {}
+
tapable@2.3.0: {}
tar-fs@2.1.4:
@@ -27331,6 +27322,10 @@ snapshots:
type-fest@4.41.0: {}
+ type-fest@5.4.1:
+ dependencies:
+ tagged-tag: 1.0.0
+
typed-array-buffer@1.0.3:
dependencies:
call-bound: 1.0.4
@@ -27370,6 +27365,8 @@ snapshots:
ufo@1.6.1: {}
+ uint8array-extras@1.5.0: {}
+
unbox-primitive@1.1.0:
dependencies:
call-bound: 1.0.4
@@ -27899,6 +27896,8 @@ snapshots:
tr46: 0.0.3
webidl-conversions: 3.0.1
+ when-exit@2.1.5: {}
+
which-boxed-primitive@1.1.1:
dependencies:
is-bigint: 1.1.0