From 4ab3edc97b87278212e17b1f0d92708c78e67b64 Mon Sep 17 00:00:00 2001 From: MartinBraquet Date: Thu, 11 Sep 2025 18:37:31 +0200 Subject: [PATCH] Add email footer --- backend/api/package.json | 10 +- backend/email/emails/test.tsx | 24 +++-- backend/email/emails/utils.tsx | 11 ++- backend/email/package.json | 13 +-- backend/email/tsconfig.json | 2 + backend/email/yarn.lock | 143 ----------------------------- common/src/socials.ts | 9 +- package.json | 5 +- web/components/user/social.tsx | 13 ++- web/package.json | 2 +- yarn.lock | 161 +++++++++++++++------------------ 11 files changed, 129 insertions(+), 264 deletions(-) diff --git a/backend/api/package.json b/backend/api/package.json index c8332f49..6ee15bc2 100644 --- a/backend/api/package.json +++ b/backend/api/package.json @@ -1,7 +1,7 @@ { "name": "@compass/api", "description": "Backend API endpoints", - "version": "0.1.0", + "version": "1.0.0", "private": true, "scripts": { "watch:compile": "npx concurrently \"tsc -b --watch --preserveWatchOutput\" \"(cd ../../common && tsc-alias --watch)\" \"(cd ../shared && tsc-alias --watch)\" \"(cd ../email && tsc-alias --watch)\" \"tsc-alias --watch\"", @@ -27,7 +27,7 @@ "dependencies": { "@google-cloud/monitoring": "4.0.0", "@google-cloud/secret-manager": "4.2.1", - "@react-email/components": "0.0.33", + "@react-email/components": "0.5.3", "@supabase/supabase-js": "2.38.5", "@tiptap/core": "2.3.2", "@tiptap/extension-blockquote": "2.3.2", @@ -41,6 +41,8 @@ "@tiptap/pm": "2.3.2", "@tiptap/starter-kit": "2.3.2", "@tiptap/suggestion": "2.3.2", + "@types/react": "18.2.0", + "@types/react-dom": "18.2.0", "colors": "1.4.0", "cors": "2.8.5", "dayjs": "1.11.4", @@ -51,8 +53,8 @@ "lodash": "4.17.21", "pg-promise": "11.4.1", "posthog-node": "4.11.0", - "react": "19.0.0", - "react-dom": "19.0.0", + "react": "18.2.0", + "react-dom": "18.2.0", "react-email": "3.0.7", "resend": "4.1.2", "string-similarity": "4.0.4", diff --git a/backend/email/emails/test.tsx b/backend/email/emails/test.tsx index e7f74b05..e3c1486f 100644 --- a/backend/email/emails/test.tsx +++ b/backend/email/emails/test.tsx @@ -1,19 +1,17 @@ 'use server' -import { Head, Html, Preview, Tailwind, Text } from '@react-email/components' -import React from 'react' +import * as React from 'react' +import { Html, Head, Preview, Tailwind, Text } from '@react-email/components' -export const Test = (props: { name: string }) => { - return ( - - - Helloo {props.name} - - Hello {props.name} - - - ) -} +export const Test = ({ name }: { name: string }) => ( + + + Hello {name} + + Hello {name} + + +) Test.PreviewProps = { name: 'Friend', diff --git a/backend/email/emails/utils.tsx b/backend/email/emails/utils.tsx index 0129c266..c506496c 100644 --- a/backend/email/emails/utils.tsx +++ b/backend/email/emails/utils.tsx @@ -1,5 +1,5 @@ import {Link, Row, Section, Text} from "@react-email/components"; -import {TbBrandDiscord, TbBrandGithub, TbBrandPatreon, TbBrandPaypal} from "react-icons/tb"; +import {SocialIcon} from "web/components/user/social"; interface Props { email?: string @@ -17,17 +17,18 @@ export const Footer = ({ Compass © {new Date().getFullYear()} +
- + - + - + - +
diff --git a/backend/email/package.json b/backend/email/package.json index a41a71c9..5ae2592b 100644 --- a/backend/email/package.json +++ b/backend/email/package.json @@ -1,23 +1,24 @@ { "name": "react-email-starter", - "version": "0.1.9", + "version": "1.0.0", "private": true, "scripts": { "dev": "email dev", "build": "tsc -b" }, "dependencies": { - "@react-email/components": "0.0.33", - "react": "19.0.0", - "react-dom": "19.0.0", + "react": "18.2.0", + "react-dom": "18.2.0", "react-email": "3.0.7", + "@react-email/components": "^0.5.3", + "@react-email/render": "^1.2.3", "react-icons": "5.5.0", "resend": "4.1.2" }, "devDependencies": { "@types/html-to-text": "9.0.4", "@types/prismjs": "1.26.5", - "@types/react": "19.0.10", - "@types/react-dom": "19.0.4" + "@types/react": "18.2.0", + "@types/react-dom": "18.2.0" } } diff --git a/backend/email/tsconfig.json b/backend/email/tsconfig.json index 6a405478..946f6214 100644 --- a/backend/email/tsconfig.json +++ b/backend/email/tsconfig.json @@ -20,6 +20,8 @@ "isolatedModules": false, "declaration": true, "jsx": "react-jsx", + "jsxImportSource": "react", + "types": ["react", "react-dom"], "paths": { "common/*": ["../../common/src/*", "../../../common/lib/*"], "shared/*": ["../shared/src/*", "../../shared/lib/*"], diff --git a/backend/email/yarn.lock b/backend/email/yarn.lock index 81d73377..6e50ec47 100644 --- a/backend/email/yarn.lock +++ b/backend/email/yarn.lock @@ -488,149 +488,6 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@react-email/body@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/body/-/body-0.0.11.tgz#996bc8ab0038a3b183d086fc4b5c581764b36d32" - integrity sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg== - -"@react-email/button@0.0.19": - version "0.0.19" - resolved "https://registry.yarnpkg.com/@react-email/button/-/button-0.0.19.tgz#f7585fd560f59be661c6ccdc3211df8b17f9fc86" - integrity sha512-HYHrhyVGt7rdM/ls6FuuD6XE7fa7bjZTJqB2byn6/oGsfiEZaogY77OtoLL/mrQHjHjZiJadtAMSik9XLcm7+A== - -"@react-email/code-block@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/code-block/-/code-block-0.0.11.tgz#20369e4ac25789345f13d3c97c92a37536e81201" - integrity sha512-4D43p+LIMjDzm66gTDrZch0Flkip5je91mAT7iGs6+SbPyalHgIA+lFQoQwhz/VzHHLxuD0LV6gwmU/WUQ2WEg== - dependencies: - prismjs "1.29.0" - -"@react-email/code-inline@0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@react-email/code-inline/-/code-inline-0.0.5.tgz#1ca46f4d44207c3dcca3ce35210f643d811ee8e0" - integrity sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA== - -"@react-email/column@0.0.13": - version "0.0.13" - resolved "https://registry.yarnpkg.com/@react-email/column/-/column-0.0.13.tgz#0aaa5d6abae1b590a0262bfbfd241344a2c60ad3" - integrity sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ== - -"@react-email/components@0.0.33": - version "0.0.33" - resolved "https://registry.yarnpkg.com/@react-email/components/-/components-0.0.33.tgz#ac641aa897c60bf38d559275e3b29e9dfa7867ce" - integrity sha512-/GKdT3YijT1iEWPAXF644jr12w5xVgzUr0zlbZGt2KOkGeFHNZUCL5UtRopmnjrH/Fayf8Gjv6q/4E2cZgDtdQ== - dependencies: - "@react-email/body" "0.0.11" - "@react-email/button" "0.0.19" - "@react-email/code-block" "0.0.11" - "@react-email/code-inline" "0.0.5" - "@react-email/column" "0.0.13" - "@react-email/container" "0.0.15" - "@react-email/font" "0.0.9" - "@react-email/head" "0.0.12" - "@react-email/heading" "0.0.15" - "@react-email/hr" "0.0.11" - "@react-email/html" "0.0.11" - "@react-email/img" "0.0.11" - "@react-email/link" "0.0.12" - "@react-email/markdown" "0.0.14" - "@react-email/preview" "0.0.12" - "@react-email/render" "1.0.5" - "@react-email/row" "0.0.12" - "@react-email/section" "0.0.16" - "@react-email/tailwind" "1.0.4" - "@react-email/text" "0.0.11" - -"@react-email/container@0.0.15": - version "0.0.15" - resolved "https://registry.yarnpkg.com/@react-email/container/-/container-0.0.15.tgz#6a35f0792cfd4b1ec557c7d566cdc2ecbdeb6d01" - integrity sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg== - -"@react-email/font@0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@react-email/font/-/font-0.0.9.tgz#fe2ae24c408fe605cb564f75ef00d826a3dbdd35" - integrity sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw== - -"@react-email/head@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@react-email/head/-/head-0.0.12.tgz#83c1beba4e0e5207aa6f7ae9601f8cbdbda23d13" - integrity sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA== - -"@react-email/heading@0.0.15": - version "0.0.15" - resolved "https://registry.yarnpkg.com/@react-email/heading/-/heading-0.0.15.tgz#c6dd807ae684cbc37402fdd23dbd5500e245b531" - integrity sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg== - -"@react-email/hr@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/hr/-/hr-0.0.11.tgz#bce7748f5c1b9558429e733e5a239b09d06b77db" - integrity sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw== - -"@react-email/html@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/html/-/html-0.0.11.tgz#10557538436cb098819b8c7a0d1da9ddd8aaf4d8" - integrity sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA== - -"@react-email/img@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/img/-/img-0.0.11.tgz#ee2c9d6b2c61e8e9537a00b6d5f3d51428410f85" - integrity sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ== - -"@react-email/link@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@react-email/link/-/link-0.0.12.tgz#3b65e50af546e2539d9bfbb8442c7bdad7007235" - integrity sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ== - -"@react-email/markdown@0.0.14": - version "0.0.14" - resolved "https://registry.yarnpkg.com/@react-email/markdown/-/markdown-0.0.14.tgz#12ec4e48f2bdeea99065ad40708fd04529de510d" - integrity sha512-5IsobCyPkb4XwnQO8uFfGcNOxnsg3311GRXhJ3uKv51P7Jxme4ycC/MITnwIZ10w2zx7HIyTiqVzTj4XbuIHbg== - dependencies: - md-to-react-email "5.0.5" - -"@react-email/preview@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@react-email/preview/-/preview-0.0.12.tgz#5c1291d7e18d63991430e59da43dd9952d2d9988" - integrity sha512-g/H5fa9PQPDK6WUEG7iTlC19sAktI23qyoiJtMLqQiXFCfWeQMhqjLGKeLSKkfzszqmfJCjZtpSiKtBoOdxp3Q== - -"@react-email/render@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@react-email/render/-/render-1.0.1.tgz#5a8897a2b87c1aa41ebe5dd36233bd8d983b801a" - integrity sha512-W3gTrcmLOVYnG80QuUp22ReIT/xfLsVJ+n7ghSlG2BITB8evNABn1AO2rGQoXuK84zKtDAlxCdm3hRyIpZdGSA== - dependencies: - html-to-text "9.0.5" - js-beautify "^1.14.11" - react-promise-suspense "0.3.4" - -"@react-email/render@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@react-email/render/-/render-1.0.5.tgz#88285b9314b85d2bc102f5bf3e558be82b87bc18" - integrity sha512-CA69HYXPk21HhtAXATIr+9JJwpDNmAFCvdMUjWmeoD1+KhJ9NAxusMRxKNeibdZdslmq3edaeOKGbdQ9qjK8LQ== - dependencies: - html-to-text "9.0.5" - prettier "3.4.2" - react-promise-suspense "0.3.4" - -"@react-email/row@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@react-email/row/-/row-0.0.12.tgz#c9d18f6d4b173e95787949909a48ad5a5633bbf2" - integrity sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ== - -"@react-email/section@0.0.16": - version "0.0.16" - resolved "https://registry.yarnpkg.com/@react-email/section/-/section-0.0.16.tgz#34214e6367d8c1b725b38a8b89391cd38f076a81" - integrity sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w== - -"@react-email/tailwind@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@react-email/tailwind/-/tailwind-1.0.4.tgz#e2685cc16c87f63c30bb0b766fd494c0fc15b2da" - integrity sha512-tJdcusncdqgvTUYZIuhNC6LYTfL9vNTSQpwWdTCQhQ1lsrNCEE4OKCSdzSV3S9F32pi0i0xQ+YPJHKIzGjdTSA== - -"@react-email/text@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/text/-/text-0.0.11.tgz#b0c24a9eba5f841fe8c4d303dc6f5c1a1095b5e3" - integrity sha512-a7nl/2KLpRHOYx75YbYZpWspUbX1DFY7JIZbOv5x0QU8SvwDbJt+Hm01vG34PffFyYvHEXrc6Qnip2RTjljNjg== - "@selderee/plugin-htmlparser2@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz#d5b5e29a7ba6d3958a1972c7be16f4b2c188c517" diff --git a/common/src/socials.ts b/common/src/socials.ts index aff0103b..be7d0b1b 100644 --- a/common/src/socials.ts +++ b/common/src/socials.ts @@ -5,11 +5,12 @@ export const SITE_ORDER = [ 'bluesky', 'mastodon', 'substack', - // 'onlyfans', + 'paypal', 'instagram', 'github', 'linkedin', 'facebook', + 'patreon', 'spotify', ] as const @@ -29,6 +30,8 @@ const stripper: { [key in Site]: (input: string) => string } = { .replace(/^@/, '') .replace(/\/$/, ''), discord: (s) => s, + paypal: (s) => s, + patreon: (s) => s, bluesky: (s) => s .replace(/^(https?:\/\/)?(www\.)?bsky\.app\/profile\//, '') @@ -83,6 +86,8 @@ const urler: { [key in Site]: (handle: string) => string } = { linkedin: (s) => `https://linkedin.com/in/${s}`, facebook: (s) => `https://facebook.com/${s}`, spotify: (s) => `https://open.spotify.com/user/${s}`, + paypal: (s) => `https://paypal.com/user/${s}`, + patreon: (s) => `https://patreon.com/user/${s}`, } export const PLATFORM_LABELS: { [key in Site]: string } = { @@ -98,4 +103,6 @@ export const PLATFORM_LABELS: { [key in Site]: string } = { linkedin: 'LinkedIn', facebook: 'Facebook', spotify: 'Spotify', + paypal: 'Paypal', + patreon: 'Patreon', } diff --git a/package.json b/package.json index 77583a9d..e2dc4878 100644 --- a/package.json +++ b/package.json @@ -34,8 +34,11 @@ "@tiptap/starter-kit": "2.3.2", "@tiptap/suggestion": "2.3.2", "colorette": "^2.0.20", + "prismjs": "^1.30.0", "react-markdown": "*", - "prismjs": "^1.30.0" + "react-email": "3.0.7", + "@react-email/components": "^0.5.3", + "@react-email/render": "^1.2.3" }, "devDependencies": { "@testing-library/jest-dom": "^6.6.4", diff --git a/web/components/user/social.tsx b/web/components/user/social.tsx index 52ce2ab2..93e1d4f5 100644 --- a/web/components/user/social.tsx +++ b/web/components/user/social.tsx @@ -10,7 +10,8 @@ import { TbBrandInstagram, TbBrandLinkedin, TbBrandMastodon, - // TbBrandOnlyfans, + TbBrandPatreon, + TbBrandPaypal, TbBrandSpotify, TbBrandX, } from 'react-icons/tb' @@ -24,15 +25,21 @@ export const PLATFORM_ICONS: { bluesky: TbBrandBluesky, mastodon: TbBrandMastodon, substack: LuBookmark, - // onlyfans: TbBrandOnlyfans, instagram: TbBrandInstagram, github: TbBrandGithub, linkedin: TbBrandLinkedin, facebook: TbBrandFacebook, spotify: TbBrandSpotify, + patreon: TbBrandPatreon, + paypal: TbBrandPaypal, } -export const SocialIcon = (props: { site: string; className?: string }) => { +export const SocialIcon = (props: { + site: string; + className?: string; + size?: number; + color?: string; +}) => { const { site, ...rest } = props const Icon = PLATFORM_ICONS[site as Site] || PLATFORM_ICONS.site diff --git a/web/package.json b/web/package.json index 02d7dd9f..1cb52255 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "web", - "version": "0.0.0", + "version": "1.0.0", "private": true, "scripts": { "serve": "next dev -p 3000", diff --git a/yarn.lock b/yarn.lock index 20755dc8..db7cd711 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2588,22 +2588,22 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect" "1.0.1" -"@react-email/body@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/body/-/body-0.0.11.tgz#996bc8ab0038a3b183d086fc4b5c581764b36d32" - integrity sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg== +"@react-email/body@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@react-email/body/-/body-0.1.0.tgz#903a628b276917effbb5838f54a07b0bea2beb64" + integrity sha512-o1bcSAmDYNNHECbkeyceCVPGmVsYvT+O3sSO/Ct7apKUu3JphTi31hu+0Nwqr/pgV5QFqdoT5vdS3SW5DJFHgQ== -"@react-email/button@0.0.19": - version "0.0.19" - resolved "https://registry.yarnpkg.com/@react-email/button/-/button-0.0.19.tgz#f7585fd560f59be661c6ccdc3211df8b17f9fc86" - integrity sha512-HYHrhyVGt7rdM/ls6FuuD6XE7fa7bjZTJqB2byn6/oGsfiEZaogY77OtoLL/mrQHjHjZiJadtAMSik9XLcm7+A== +"@react-email/button@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@react-email/button/-/button-0.2.0.tgz#738d5b9d79fa5008c9ce8efa8e1e277c5b60061c" + integrity sha512-8i+v6cMxr2emz4ihCrRiYJPp2/sdYsNNsBzXStlcA+/B9Umpm5Jj3WJKYpgTPM+aeyiqlG/MMI1AucnBm4f1oQ== -"@react-email/code-block@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/code-block/-/code-block-0.0.11.tgz#20369e4ac25789345f13d3c97c92a37536e81201" - integrity sha512-4D43p+LIMjDzm66gTDrZch0Flkip5je91mAT7iGs6+SbPyalHgIA+lFQoQwhz/VzHHLxuD0LV6gwmU/WUQ2WEg== +"@react-email/code-block@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@react-email/code-block/-/code-block-0.1.0.tgz#df8c591e529e3c8039fd37574e158685f6a6a577" + integrity sha512-jSpHFsgqnQXxDIssE4gvmdtFncaFQz5D6e22BnVjcCPk/udK+0A9jRwGFEG8JD2si9ZXBmU4WsuqQEczuZn4ww== dependencies: - prismjs "1.29.0" + prismjs "^1.30.0" "@react-email/code-inline@0.0.5": version "0.0.5" @@ -2615,14 +2615,14 @@ resolved "https://registry.yarnpkg.com/@react-email/column/-/column-0.0.13.tgz#0aaa5d6abae1b590a0262bfbfd241344a2c60ad3" integrity sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ== -"@react-email/components@0.0.33": - version "0.0.33" - resolved "https://registry.yarnpkg.com/@react-email/components/-/components-0.0.33.tgz#ac641aa897c60bf38d559275e3b29e9dfa7867ce" - integrity sha512-/GKdT3YijT1iEWPAXF644jr12w5xVgzUr0zlbZGt2KOkGeFHNZUCL5UtRopmnjrH/Fayf8Gjv6q/4E2cZgDtdQ== +"@react-email/components@0.5.3", "@react-email/components@^0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@react-email/components/-/components-0.5.3.tgz#849db8589bf7de992cb9d99fbc05aa284dd86cdc" + integrity sha512-8G5vsoMehuGOT4cDqaYLdpagtqCYPl4vThXNylClxO6SrN2w9Mh1+i2RNGj/rdqh/woamHORjlXMYCA/kzDMew== dependencies: - "@react-email/body" "0.0.11" - "@react-email/button" "0.0.19" - "@react-email/code-block" "0.0.11" + "@react-email/body" "0.1.0" + "@react-email/button" "0.2.0" + "@react-email/code-block" "0.1.0" "@react-email/code-inline" "0.0.5" "@react-email/column" "0.0.13" "@react-email/container" "0.0.15" @@ -2633,13 +2633,13 @@ "@react-email/html" "0.0.11" "@react-email/img" "0.0.11" "@react-email/link" "0.0.12" - "@react-email/markdown" "0.0.14" - "@react-email/preview" "0.0.12" - "@react-email/render" "1.0.5" + "@react-email/markdown" "0.0.15" + "@react-email/preview" "0.0.13" + "@react-email/render" "1.2.3" "@react-email/row" "0.0.12" "@react-email/section" "0.0.16" - "@react-email/tailwind" "1.0.4" - "@react-email/text" "0.0.11" + "@react-email/tailwind" "1.2.2" + "@react-email/text" "0.1.5" "@react-email/container@0.0.15": version "0.0.15" @@ -2681,17 +2681,17 @@ resolved "https://registry.yarnpkg.com/@react-email/link/-/link-0.0.12.tgz#3b65e50af546e2539d9bfbb8442c7bdad7007235" integrity sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ== -"@react-email/markdown@0.0.14": - version "0.0.14" - resolved "https://registry.yarnpkg.com/@react-email/markdown/-/markdown-0.0.14.tgz#12ec4e48f2bdeea99065ad40708fd04529de510d" - integrity sha512-5IsobCyPkb4XwnQO8uFfGcNOxnsg3311GRXhJ3uKv51P7Jxme4ycC/MITnwIZ10w2zx7HIyTiqVzTj4XbuIHbg== +"@react-email/markdown@0.0.15": + version "0.0.15" + resolved "https://registry.yarnpkg.com/@react-email/markdown/-/markdown-0.0.15.tgz#b1a4421796f711a3d5ea2e29c1a943b41ab5e918" + integrity sha512-UQA9pVm5sbflgtg3EX3FquUP4aMBzmLReLbGJ6DZQZnAskBF36aI56cRykDq1o+1jT+CKIK1CducPYziaXliag== dependencies: - md-to-react-email "5.0.5" + md-to-react-email "^5.0.5" -"@react-email/preview@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@react-email/preview/-/preview-0.0.12.tgz#5c1291d7e18d63991430e59da43dd9952d2d9988" - integrity sha512-g/H5fa9PQPDK6WUEG7iTlC19sAktI23qyoiJtMLqQiXFCfWeQMhqjLGKeLSKkfzszqmfJCjZtpSiKtBoOdxp3Q== +"@react-email/preview@0.0.13": + version "0.0.13" + resolved "https://registry.yarnpkg.com/@react-email/preview/-/preview-0.0.13.tgz#b68365d26a2772910d7a19345fa109819b167606" + integrity sha512-F7j9FJ0JN/A4d7yr+aw28p4uX7VLWs7hTHtLo7WRyw4G+Lit6Zucq4UWKRxJC8lpsUdzVmG7aBJnKOT+urqs/w== "@react-email/render@1.0.1": version "1.0.1" @@ -2702,14 +2702,14 @@ js-beautify "^1.14.11" react-promise-suspense "0.3.4" -"@react-email/render@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@react-email/render/-/render-1.0.5.tgz#88285b9314b85d2bc102f5bf3e558be82b87bc18" - integrity sha512-CA69HYXPk21HhtAXATIr+9JJwpDNmAFCvdMUjWmeoD1+KhJ9NAxusMRxKNeibdZdslmq3edaeOKGbdQ9qjK8LQ== +"@react-email/render@1.2.3", "@react-email/render@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@react-email/render/-/render-1.2.3.tgz#2acf817f0f9103efe94ad04ee92443e2cd16670c" + integrity sha512-qu3XYNkHGao3teJexVD5CrcgFkNLrzbZvpZN17a7EyQYUN3kHkTkE9saqY4VbvGx6QoNU3p8rsk/Xm++D/+pTw== dependencies: - html-to-text "9.0.5" - prettier "3.4.2" - react-promise-suspense "0.3.4" + html-to-text "^9.0.5" + prettier "^3.5.3" + react-promise-suspense "^0.3.4" "@react-email/row@0.0.12": version "0.0.12" @@ -2721,15 +2721,15 @@ resolved "https://registry.yarnpkg.com/@react-email/section/-/section-0.0.16.tgz#34214e6367d8c1b725b38a8b89391cd38f076a81" integrity sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w== -"@react-email/tailwind@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@react-email/tailwind/-/tailwind-1.0.4.tgz#e2685cc16c87f63c30bb0b766fd494c0fc15b2da" - integrity sha512-tJdcusncdqgvTUYZIuhNC6LYTfL9vNTSQpwWdTCQhQ1lsrNCEE4OKCSdzSV3S9F32pi0i0xQ+YPJHKIzGjdTSA== +"@react-email/tailwind@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@react-email/tailwind/-/tailwind-1.2.2.tgz#be745ebbf1fd07b9e111b6aebec33c4a460ecdea" + integrity sha512-heO9Khaqxm6Ulm6p7HQ9h01oiiLRrZuuEQuYds/O7Iyp3c58sMVHZGIxiRXO/kSs857NZQycpjewEVKF3jhNTw== -"@react-email/text@0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@react-email/text/-/text-0.0.11.tgz#b0c24a9eba5f841fe8c4d303dc6f5c1a1095b5e3" - integrity sha512-a7nl/2KLpRHOYx75YbYZpWspUbX1DFY7JIZbOv5x0QU8SvwDbJt+Hm01vG34PffFyYvHEXrc6Qnip2RTjljNjg== +"@react-email/text@0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@react-email/text/-/text-0.1.5.tgz#cbfd6a8b32f789c7d70de6a3f4ab7bc8b2825a7e" + integrity sha512-o5PNHFSE085VMXayxH+SJ1LSOtGsTv+RpNKnTiJDrJUwoBu77G3PlKOsZZQHCNyD28WsQpl9v2WcJLbQudqwPg== "@react-spring/animated@~9.7.1", "@react-spring/animated@~9.7.3": version "9.7.3" @@ -3779,6 +3779,13 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== +"@types/react-dom@18.2.0": + version "18.2.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.0.tgz#374f28074bb117f56f58c4f3f71753bebb545156" + integrity sha512-8yQrvS6sMpSwIovhPOwfyNf2Wz6v/B62LFSVYQ85+Rq3tLsBIG7rP5geMxaijTUxSkrO6RzN/IRuIAADYQsleA== + dependencies: + "@types/react" "*" + "@types/react-dom@18.3.0": version "18.3.0" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" @@ -3786,11 +3793,6 @@ dependencies: "@types/react" "*" -"@types/react-dom@19.0.4": - version "19.0.4" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.0.4.tgz#bedba97f9346bd4c0fe5d39e689713804ec9ac89" - integrity sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg== - "@types/react@*", "@types/react@18.3.5": version "18.3.5" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.5.tgz#5f524c2ad2089c0ff372bbdabc77ca2c4dbadf8f" @@ -3799,11 +3801,13 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@19.0.10": - version "19.0.10" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.10.tgz#d0c66dafd862474190fe95ce11a68de69ed2b0eb" - integrity sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g== +"@types/react@18.2.0": + version "18.2.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.0.tgz#15cda145354accfc09a18d2f2305f9fc099ada21" + integrity sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA== dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" csstype "^3.0.2" "@types/request@^2.48.8": @@ -3824,6 +3828,11 @@ "@types/glob" "*" "@types/node" "*" +"@types/scheduler@*": + version "0.26.0" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.26.0.tgz#2b7183b9bbb622d130b23bedf06899b7fec7eed5" + integrity sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA== + "@types/semver@^7.5.0": version "7.5.8" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" @@ -6824,7 +6833,7 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-to-text@9.0.5: +html-to-text@9.0.5, html-to-text@^9.0.5: version "9.0.5" resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-9.0.5.tgz#6149a0f618ae7a0db8085dca9bbf96d32bb8368d" integrity sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg== @@ -8195,7 +8204,7 @@ marked@^4.0.10: resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== -md-to-react-email@5.0.5: +md-to-react-email@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/md-to-react-email/-/md-to-react-email-5.0.5.tgz#1306b2454afe530526e3df42e7f8903fdf6ab07f" integrity sha512-OvAXqwq57uOk+WZqFFNCMZz8yDp8BD3WazW1wAKHUrPbbdr89K9DWS6JXY09vd9xNdPNeurI8DU/X4flcfaD8A== @@ -9466,10 +9475,10 @@ prettier@2.8.4: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== -prettier@3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" - integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== +prettier@^3.5.3: + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" @@ -9480,11 +9489,6 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -prismjs@1.29.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - prismjs@^1.30.0: version "1.30.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" @@ -9860,13 +9864,6 @@ react-dom@18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" -react-dom@19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57" - integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ== - dependencies: - scheduler "^0.25.0" - react-email@3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/react-email/-/react-email-3.0.7.tgz#8b52684f157c5d5e6200bc201590827aaf9dc9ec" @@ -9958,7 +9955,7 @@ react-popper@2.3.0: react-fast-compare "^3.0.1" warning "^4.0.2" -react-promise-suspense@0.3.4: +react-promise-suspense@0.3.4, react-promise-suspense@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/react-promise-suspense/-/react-promise-suspense-0.3.4.tgz#05d19a75703d71374674840056cfef2fcd38809d" integrity sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ== @@ -9979,11 +9976,6 @@ react@18.2.0: dependencies: loose-envify "^1.1.0" -react@19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd" - integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ== - read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -10320,11 +10312,6 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -scheduler@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015" - integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== - selderee@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/selderee/-/selderee-0.11.0.tgz#6af0c7983e073ad3e35787ffe20cefd9daf0ec8a"