feat: implement beautiful jsx-email templates for OTP and team invites (#196)

Co-authored-by: opencode <noreply@opencode.ai>
This commit is contained in:
KM Koushik
2025-08-17 13:17:29 +10:00
committed by GitHub
parent 43d99bb980
commit 91286876da
12 changed files with 571 additions and 54 deletions

122
pnpm-lock.yaml generated
View File

@@ -50,7 +50,7 @@ importers:
version: 0.503.0(react@19.1.0)
next:
specifier: 15.3.1
version: 15.3.1(react-dom@19.1.0)(react@19.1.0)
version: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0)
react:
specifier: ^19.1.0
version: 19.1.0
@@ -209,6 +209,9 @@ importers:
ioredis:
specifier: ^5.6.1
version: 5.6.1
jsx-email:
specifier: ^2.7.1
version: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/node@22.15.2)(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
lucide-react:
specifier: ^0.503.0
version: 0.503.0(react@19.1.0)
@@ -220,7 +223,7 @@ importers:
version: 5.1.5
next:
specifier: ^15.3.1
version: 15.3.1(react-dom@19.1.0)(react@19.1.0)
version: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0)
next-auth:
specifier: ^4.24.11
version: 4.24.11(next@15.3.1)(nodemailer@7.0.3)(react-dom@19.1.0)(react@19.1.0)
@@ -401,7 +404,7 @@ importers:
version: 9.25.1
jsx-email:
specifier: ^2.7.1
version: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
version: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/node@22.15.2)(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
lucide-react:
specifier: ^0.503.0
version: 0.503.0(react@19.1.0)
@@ -3612,7 +3615,7 @@ packages:
'@adobe/css-tools': 4.4.2
hast-util-select: 6.0.4
hast-util-to-string: 3.0.1
jsx-email: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
jsx-email: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/node@22.15.2)(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
unist-util-remove: 4.0.0
unist-util-visit: 5.0.0
dev: false
@@ -3623,7 +3626,7 @@ packages:
peerDependencies:
jsx-email: ^2.6.1
dependencies:
jsx-email: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
jsx-email: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/node@22.15.2)(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
rehype-minify-attribute-whitespace: 4.0.1
rehype-minify-css-style: 4.0.1
rehype-minify-enumerated-attribute: 5.0.2
@@ -3650,7 +3653,7 @@ packages:
peerDependencies:
jsx-email: ^2.0.0
dependencies:
jsx-email: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
jsx-email: 2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/node@22.15.2)(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
pretty: 2.0.0
dev: false
@@ -4436,7 +4439,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-arrow@1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-arrow@1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==}
peerDependencies:
'@types/react': '*'
@@ -4449,8 +4452,9 @@ packages:
'@types/react-dom':
optional: true
dependencies:
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -4499,7 +4503,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-collapsible@1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-collapsible@1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-1///SnrfQHJEofLokyczERxQbWfCGQlQ2XsCZMucVs6it+lq9iw4vXy+uDn1edlb58cOZOWSldnfPAYcT4O/Yg==}
peerDependencies:
'@types/react': '*'
@@ -4516,11 +4520,12 @@ packages:
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-context': 1.1.1(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-id': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-presence': 1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-presence': 1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -4552,7 +4557,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-collection@1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-collection@1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==}
peerDependencies:
'@types/react': '*'
@@ -4567,9 +4572,10 @@ packages:
dependencies:
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-context': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-slot': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -4721,7 +4727,7 @@ packages:
react: 19.1.0
dev: false
/@radix-ui/react-dismissable-layer@1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==}
peerDependencies:
'@types/react': '*'
@@ -4736,10 +4742,11 @@ packages:
dependencies:
'@radix-ui/primitive': 1.1.0
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -4820,7 +4827,7 @@ packages:
react: 19.1.0
dev: false
/@radix-ui/react-focus-scope@1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-focus-scope@1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==}
peerDependencies:
'@types/react': '*'
@@ -4834,9 +4841,10 @@ packages:
optional: true
dependencies:
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -4990,7 +4998,7 @@ packages:
react-remove-scroll: 2.6.3(@types/react@19.1.2)(react@19.1.0)
dev: false
/@radix-ui/react-popover@1.1.2(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-popover@1.1.2(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-u2HRUyWW+lOiA2g0Le0tMmT55FGOEWHwPFt1EPfbLly7uXQExFo5duNKqG2DzmFXIdqOeNd+TpE8baHWJCyP9w==}
peerDependencies:
'@types/react': '*'
@@ -5006,24 +5014,25 @@ packages:
'@radix-ui/primitive': 1.1.0
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-context': 1.1.1(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-focus-scope': 1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-id': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-popper': 1.2.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-portal': 1.1.2(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-presence': 1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-popper': 1.2.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-portal': 1.1.2(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-presence': 1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-slot': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
aria-hidden: 1.2.4
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
react-remove-scroll: 2.6.0(@types/react@19.1.2)(react@19.1.0)
dev: false
/@radix-ui/react-popper@1.2.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-popper@1.2.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==}
peerDependencies:
'@types/react': '*'
@@ -5037,16 +5046,17 @@ packages:
optional: true
dependencies:
'@floating-ui/react-dom': 2.1.2(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-arrow': 1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-arrow': 1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-context': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-size': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/rect': 1.1.0
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -5080,7 +5090,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-portal@1.1.2(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-portal@1.1.2(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==}
peerDependencies:
'@types/react': '*'
@@ -5093,9 +5103,10 @@ packages:
'@types/react-dom':
optional: true
dependencies:
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -5121,7 +5132,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-presence@1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-presence@1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==}
peerDependencies:
'@types/react': '*'
@@ -5137,6 +5148,7 @@ packages:
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -5162,7 +5174,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-primitive@2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-primitive@2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==}
peerDependencies:
'@types/react': '*'
@@ -5177,6 +5189,7 @@ packages:
dependencies:
'@radix-ui/react-slot': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -5242,7 +5255,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-roving-focus@1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-roving-focus@1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==}
peerDependencies:
'@types/react': '*'
@@ -5256,15 +5269,16 @@ packages:
optional: true
dependencies:
'@radix-ui/primitive': 1.1.0
'@radix-ui/react-collection': 1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-collection': 1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-context': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-direction': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-id': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -5452,7 +5466,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-toggle-group@1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-toggle-group@1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==}
peerDependencies:
'@types/react': '*'
@@ -5468,16 +5482,17 @@ packages:
'@radix-ui/primitive': 1.1.0
'@radix-ui/react-context': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-direction': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-roving-focus': 1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-toggle': 1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-toggle': 1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
/@radix-ui/react-toggle@1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
/@radix-ui/react-toggle@1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==}
peerDependencies:
'@types/react': '*'
@@ -5491,9 +5506,10 @@ packages:
optional: true
dependencies:
'@radix-ui/primitive': 1.1.0
'@radix-ui/react-primitive': 2.0.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@types/react': 19.1.2
'@types/react-dom': 19.1.2(@types/react@19.1.2)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
dev: false
@@ -7533,7 +7549,7 @@ packages:
'@trpc/client': 11.1.1(@trpc/server@11.1.1)(typescript@5.8.3)
'@trpc/react-query': 11.1.1(@tanstack/react-query@5.74.4)(@trpc/client@11.1.1)(@trpc/server@11.1.1)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3)
'@trpc/server': 11.1.1(typescript@5.8.3)
next: 15.3.1(react-dom@19.1.0)(react@19.1.0)
next: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
typescript: 5.8.3
@@ -8491,7 +8507,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10)
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
vite: 5.4.18
vite: 5.4.18(@types/node@22.15.2)
transitivePeerDependencies:
- supports-color
dev: false
@@ -12815,7 +12831,7 @@ packages:
object.values: 1.2.1
dev: true
/jsx-email@2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3):
/jsx-email@2.7.1(@jsx-email/plugin-inline@1.0.1)(@jsx-email/plugin-minify@1.0.2)(@jsx-email/plugin-pretty@1.0.0)(@types/node@22.15.2)(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)(typescript@5.8.3):
resolution: {integrity: sha512-N958st14J3W5HrfO5/DKawdgTnCZTdl0xewCcjOnYudv81VI2iAO7BGK7nbDSBnFD7T2+Fzo4RwQWuZzSAZSyA==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -12833,12 +12849,12 @@ packages:
'@jsx-email/plugin-pretty': 1.0.0(jsx-email@2.7.1)
'@parcel/watcher': 2.5.1
'@radix-ui/colors': 3.0.0
'@radix-ui/react-collapsible': 1.1.1(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-collapsible': 1.1.1(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-icons': 1.3.2(react@19.1.0)
'@radix-ui/react-popover': 1.1.2(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-popover': 1.1.2(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-select': 2.2.2(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-slot': 1.1.0(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-toggle-group': 1.1.0(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@19.1.2)(@types/react@19.1.2)(react-dom@19.1.0)(react@19.1.0)
'@unocss/core': 0.65.4
'@unocss/preset-rem-to-px': 0.65.4
'@unocss/preset-typography': 0.65.4
@@ -12878,7 +12894,7 @@ packages:
titleize: 4.0.0
unist-util-visit: 5.0.0
valibot: 0.42.1(typescript@5.8.3)
vite: 5.4.18
vite: 5.4.18(@types/node@22.15.2)
yargs-parser: 21.1.1
transitivePeerDependencies:
- '@emotion/is-prop-valid'
@@ -14025,7 +14041,7 @@ packages:
'@panva/hkdf': 1.2.1
cookie: 0.7.2
jose: 4.15.9
next: 15.3.1(react-dom@19.1.0)(react@19.1.0)
next: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0)
nodemailer: 7.0.3
oauth: 0.9.15
openid-client: 5.7.1
@@ -14068,7 +14084,7 @@ packages:
react-dom: 19.1.0(react@19.1.0)
dev: false
/next@15.3.1(react-dom@19.1.0)(react@19.1.0):
/next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0):
resolution: {integrity: sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
hasBin: true
@@ -14097,7 +14113,7 @@ packages:
postcss: 8.4.31
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
styled-jsx: 5.1.6(react@19.1.0)
styled-jsx: 5.1.6(@babel/core@7.26.10)(react@19.1.0)
optionalDependencies:
'@next/swc-darwin-arm64': 15.3.1
'@next/swc-darwin-x64': 15.3.1
@@ -16919,7 +16935,7 @@ packages:
dependencies:
inline-style-parser: 0.2.4
/styled-jsx@5.1.6(react@19.1.0):
/styled-jsx@5.1.6(@babel/core@7.26.10)(react@19.1.0):
resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
engines: {node: '>= 12.0.0'}
peerDependencies:
@@ -16932,6 +16948,7 @@ packages:
babel-plugin-macros:
optional: true
dependencies:
'@babel/core': 7.26.10
client-only: 0.0.1
react: 19.1.0
dev: false
@@ -17772,7 +17789,7 @@ packages:
d3-timer: 3.0.1
dev: false
/vite@5.4.18:
/vite@5.4.18(@types/node@22.15.2):
resolution: {integrity: sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
@@ -17803,6 +17820,7 @@ packages:
terser:
optional: true
dependencies:
'@types/node': 22.15.2
esbuild: 0.21.5
postcss: 8.5.3
rollup: 4.40.0