From afba918d3c0932e77cda8a6f393905f1911526b2 Mon Sep 17 00:00:00 2001
From: Alaister Young
Date: Sun, 27 Oct 2024 02:21:26 +0800
Subject: [PATCH] add email status change notifications
---
deno.lock | 1694 ++++++++++++++++-
supabase/config.toml | 6 +
.../_email/StatusChangeNotificationEmail.tsx | 151 ++
supabase/functions/import_map.json | 7 +-
.../notify-domain-status-change/index.ts | 60 +
.../20240917123202_update_whois_function.sql | 4 +-
...1026160057_notify_domain_status_change.sql | 41 +
7 files changed, 1936 insertions(+), 27 deletions(-)
create mode 100644 supabase/functions/_email/StatusChangeNotificationEmail.tsx
create mode 100644 supabase/functions/notify-domain-status-change/index.ts
create mode 100644 supabase/migrations/20241026160057_notify_domain_status_change.sql
diff --git a/deno.lock b/deno.lock
index 5bbc4b7..0d61f57 100644
--- a/deno.lock
+++ b/deno.lock
@@ -4,15 +4,34 @@
"specifiers": {
"jsr:@supabase/functions-js": "jsr:@supabase/functions-js@2.4.3",
"jsr:@supabase/supabase-js@^2.45.4": "jsr:@supabase/supabase-js@2.45.4",
+ "npm:@hookform/resolvers@^3.6.0": "npm:@hookform/resolvers@3.9.0_react-hook-form@7.53.1__react@18.3.1_react@18.3.1",
+ "npm:@radix-ui/react-alert-dialog@^1.1.2": "npm:@radix-ui/react-alert-dialog@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "npm:@radix-ui/react-dialog@^1.1.2": "npm:@radix-ui/react-dialog@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "npm:@radix-ui/react-slot@^1.0.2": "npm:@radix-ui/react-slot@1.1.0_react@18.3.1",
+ "npm:@react-email/components@0.0.7": "npm:@react-email/components@0.0.7",
+ "npm:@react-email/components@^0.0.25": "npm:@react-email/components@0.0.25_react@18.3.1",
"npm:@supabase/auth-js@2.65.0": "npm:@supabase/auth-js@2.65.0",
"npm:@supabase/functions-js@2.4.1": "npm:@supabase/functions-js@2.4.1",
"npm:@supabase/node-fetch@2.6.15": "npm:@supabase/node-fetch@2.6.15",
"npm:@supabase/postgrest-js@1.16.1": "npm:@supabase/postgrest-js@1.16.1",
"npm:@supabase/realtime-js@2.10.2": "npm:@supabase/realtime-js@2.10.2",
"npm:@supabase/storage-js@2.7.0": "npm:@supabase/storage-js@2.7.0",
+ "npm:@tanstack/react-query@^4.29.19": "npm:@tanstack/react-query@4.36.1_react@18.3.1",
+ "npm:@types/node": "npm:@types/node@18.16.19",
+ "npm:class-variance-authority@^0.7.0": "npm:class-variance-authority@0.7.0",
+ "npm:date-fns@^2.30.0": "npm:date-fns@2.30.0",
+ "npm:date-fns@^4.1.0": "npm:date-fns@4.1.0",
+ "npm:lucide-react@^0.387.0": "npm:lucide-react@0.387.0_react@18.3.1",
+ "npm:next@^13.2.4": "npm:next@13.5.7_react@18.3.1_react-dom@18.3.1__react@18.3.1",
"npm:openai@^4.52.5": "npm:openai@4.61.1",
+ "npm:parse-domain@^8.0.2": "npm:parse-domain@8.2.2",
+ "npm:react-hook-form@^7.51.5": "npm:react-hook-form@7.53.1_react@18.3.1",
+ "npm:react@^18.2.0": "npm:react@18.3.1",
+ "npm:react@^18.3.1": "npm:react@18.3.1",
+ "npm:resend@^4.0.0": "npm:resend@4.0.0_react@18.3.1",
"npm:whois@^2.14.2": "npm:whois@2.14.2",
- "npm:whoiser@^1.18.0": "npm:whoiser@1.18.0"
+ "npm:whoiser@^1.18.0": "npm:whoiser@1.18.0",
+ "npm:zod@^3.23.8": "npm:zod@3.23.8"
},
"jsr": {
"@supabase/functions-js@2.4.3": {
@@ -34,6 +53,558 @@
}
},
"npm": {
+ "@babel/runtime@7.25.7": {
+ "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==",
+ "dependencies": {
+ "regenerator-runtime": "regenerator-runtime@0.14.1"
+ }
+ },
+ "@hookform/resolvers@3.9.0_react-hook-form@7.53.1__react@18.3.1_react@18.3.1": {
+ "integrity": "sha512-bU0Gr4EepJ/EQsH/IwEzYLsT/PEj5C0ynLQ4m+GSHS+xKH4TfSelhluTgOaoc4kA5s7eCsQbM4wvZLzELmWzUg==",
+ "dependencies": {
+ "react-hook-form": "react-hook-form@7.53.1_react@18.3.1"
+ }
+ },
+ "@isaacs/cliui@8.0.2": {
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dependencies": {
+ "string-width": "string-width@5.1.2",
+ "string-width-cjs": "string-width@4.2.3",
+ "strip-ansi": "strip-ansi@7.1.0",
+ "strip-ansi-cjs": "strip-ansi@6.0.1",
+ "wrap-ansi": "wrap-ansi@8.1.0",
+ "wrap-ansi-cjs": "wrap-ansi@7.0.0"
+ }
+ },
+ "@next/env@13.5.7": {
+ "integrity": "sha512-uVuRqoj28Ys/AI/5gVEgRAISd0KWI0HRjOO1CTpNgmX3ZsHb5mdn14Y59yk0IxizXdo7ZjsI2S7qbWnO+GNBcA==",
+ "dependencies": {}
+ },
+ "@next/swc-darwin-arm64@13.5.7": {
+ "integrity": "sha512-7SxmxMex45FvKtRoP18eftrDCMyL6WQVYJSEE/s7A1AW/fCkznxjEShKet2iVVzf89gWp8HbXGaL4hCaseux6g==",
+ "dependencies": {}
+ },
+ "@next/swc-darwin-x64@13.5.7": {
+ "integrity": "sha512-6iENvgyIkGFLFszBL4b1VfEogKC3TDPEB6/P/lgxmgXVXIV09Q4or1MVn+U/tYyYmm7oHMZ3oxGpHAyJ80nA6g==",
+ "dependencies": {}
+ },
+ "@next/swc-linux-arm64-gnu@13.5.7": {
+ "integrity": "sha512-P42jDX56wu9zEdVI+Xv4zyTeXB3DpqgE1Gb4bWrc0s2RIiDYr6uKBprnOs1hCGIwfVyByxyTw5Va66QCdFFNUg==",
+ "dependencies": {}
+ },
+ "@next/swc-linux-arm64-musl@13.5.7": {
+ "integrity": "sha512-A06vkj+8X+tLRzSja5REm/nqVOCzR+x5Wkw325Q/BQRyRXWGCoNbQ6A+BR5M86TodigrRfI3lUZEKZKe3QJ9Bg==",
+ "dependencies": {}
+ },
+ "@next/swc-linux-x64-gnu@13.5.7": {
+ "integrity": "sha512-UdHm7AlxIbdRdMsK32cH0EOX4OmzAZ4Xm+UVlS0YdvwLkI3pb7AoBEoVMG5H0Wj6Wpz6GNkrFguHTRLymTy6kw==",
+ "dependencies": {}
+ },
+ "@next/swc-linux-x64-musl@13.5.7": {
+ "integrity": "sha512-c50Y8xBKU16ZGj038H6C13iedRglxvdQHD/1BOtes56gwUrIRDX2Nkzn3mYtpz3Wzax0gfAF9C0Nqljt93IxvA==",
+ "dependencies": {}
+ },
+ "@next/swc-win32-arm64-msvc@13.5.7": {
+ "integrity": "sha512-NcUx8cmkA+JEp34WNYcKW6kW2c0JBhzJXIbw+9vKkt9m/zVJ+KfizlqmoKf04uZBtzFN6aqE2Fyv2MOd021WIA==",
+ "dependencies": {}
+ },
+ "@next/swc-win32-ia32-msvc@13.5.7": {
+ "integrity": "sha512-wXp+/3NVcuyJDED6gJiLXs5dqHaWO7moAB6aBtjlKZvsxBDxpcyjsfRbtHPeYtaT20zCkmPs69H0K25lrVZmlA==",
+ "dependencies": {}
+ },
+ "@next/swc-win32-x64-msvc@13.5.7": {
+ "integrity": "sha512-PLyD3Dl6jTTkLG8AoqhPGd5pXtSs8wbqIhWPQt3yEMfnYld/dGYuF2YPs3YHaVFrijCIF9pXY3+QOyvP23Zn7g==",
+ "dependencies": {}
+ },
+ "@nodelib/fs.scandir@2.1.5": {
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dependencies": {
+ "@nodelib/fs.stat": "@nodelib/fs.stat@2.0.5",
+ "run-parallel": "run-parallel@1.2.0"
+ }
+ },
+ "@nodelib/fs.stat@2.0.5": {
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dependencies": {}
+ },
+ "@nodelib/fs.walk@1.2.8": {
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": {
+ "@nodelib/fs.scandir": "@nodelib/fs.scandir@2.1.5",
+ "fastq": "fastq@1.17.1"
+ }
+ },
+ "@one-ini/wasm@0.1.1": {
+ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
+ "dependencies": {}
+ },
+ "@pkgjs/parseargs@0.11.0": {
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dependencies": {}
+ },
+ "@radix-ui/primitive@1.1.0": {
+ "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==",
+ "dependencies": {}
+ },
+ "@radix-ui/react-alert-dialog@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-eGSlLzPhKO+TErxkiGcCZGuvbVMnLA1MTnyBksGOeGRGkxHiiJUujsjmNTdWTm4iHVSRaUao9/4Ur671auMghQ==",
+ "dependencies": {
+ "@radix-ui/primitive": "@radix-ui/primitive@1.1.0",
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.1.0_react@18.3.1",
+ "@radix-ui/react-context": "@radix-ui/react-context@1.1.1_react@18.3.1",
+ "@radix-ui/react-dialog": "@radix-ui/react-dialog@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-primitive": "@radix-ui/react-primitive@2.0.0_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-slot": "@radix-ui/react-slot@1.1.0_react@18.3.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-compose-refs@1.0.0_react@18.2.0": {
+ "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==",
+ "dependencies": {
+ "@babel/runtime": "@babel/runtime@7.25.7",
+ "react": "react@18.2.0"
+ }
+ },
+ "@radix-ui/react-compose-refs@1.1.0_react@18.3.1": {
+ "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-context@1.1.1_react@18.3.1": {
+ "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-dialog@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==",
+ "dependencies": {
+ "@radix-ui/primitive": "@radix-ui/primitive@1.1.0",
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.1.0_react@18.3.1",
+ "@radix-ui/react-context": "@radix-ui/react-context@1.1.1_react@18.3.1",
+ "@radix-ui/react-dismissable-layer": "@radix-ui/react-dismissable-layer@1.1.1_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-focus-guards": "@radix-ui/react-focus-guards@1.1.1_react@18.3.1",
+ "@radix-ui/react-focus-scope": "@radix-ui/react-focus-scope@1.1.0_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-id": "@radix-ui/react-id@1.1.0_react@18.3.1",
+ "@radix-ui/react-portal": "@radix-ui/react-portal@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-presence": "@radix-ui/react-presence@1.1.1_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-primitive": "@radix-ui/react-primitive@2.0.0_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-slot": "@radix-ui/react-slot@1.1.0_react@18.3.1",
+ "@radix-ui/react-use-controllable-state": "@radix-ui/react-use-controllable-state@1.1.0_react@18.3.1",
+ "aria-hidden": "aria-hidden@1.2.4",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1",
+ "react-remove-scroll": "react-remove-scroll@2.6.0_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-dismissable-layer@1.1.1_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==",
+ "dependencies": {
+ "@radix-ui/primitive": "@radix-ui/primitive@1.1.0",
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.1.0_react@18.3.1",
+ "@radix-ui/react-primitive": "@radix-ui/react-primitive@2.0.0_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-use-callback-ref": "@radix-ui/react-use-callback-ref@1.1.0_react@18.3.1",
+ "@radix-ui/react-use-escape-keydown": "@radix-ui/react-use-escape-keydown@1.1.0_react@18.3.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-focus-guards@1.1.1_react@18.3.1": {
+ "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-focus-scope@1.1.0_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.1.0_react@18.3.1",
+ "@radix-ui/react-primitive": "@radix-ui/react-primitive@2.0.0_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-use-callback-ref": "@radix-ui/react-use-callback-ref@1.1.0_react@18.3.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-id@1.1.0_react@18.3.1": {
+ "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "@radix-ui/react-use-layout-effect@1.1.0_react@18.3.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-portal@1.1.2_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==",
+ "dependencies": {
+ "@radix-ui/react-primitive": "@radix-ui/react-primitive@2.0.0_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@radix-ui/react-use-layout-effect": "@radix-ui/react-use-layout-effect@1.1.0_react@18.3.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-presence@1.1.1_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.1.0_react@18.3.1",
+ "@radix-ui/react-use-layout-effect": "@radix-ui/react-use-layout-effect@1.1.0_react@18.3.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-primitive@2.0.0_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==",
+ "dependencies": {
+ "@radix-ui/react-slot": "@radix-ui/react-slot@1.1.0_react@18.3.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1"
+ }
+ },
+ "@radix-ui/react-slot@1.0.0_react@18.2.0": {
+ "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==",
+ "dependencies": {
+ "@babel/runtime": "@babel/runtime@7.25.7",
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.0.0_react@18.2.0",
+ "react": "react@18.2.0"
+ }
+ },
+ "@radix-ui/react-slot@1.1.0_react@18.3.1": {
+ "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "@radix-ui/react-compose-refs@1.1.0_react@18.3.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-use-callback-ref@1.1.0_react@18.3.1": {
+ "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-use-controllable-state@1.1.0_react@18.3.1": {
+ "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==",
+ "dependencies": {
+ "@radix-ui/react-use-callback-ref": "@radix-ui/react-use-callback-ref@1.1.0_react@18.3.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-use-escape-keydown@1.1.0_react@18.3.1": {
+ "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==",
+ "dependencies": {
+ "@radix-ui/react-use-callback-ref": "@radix-ui/react-use-callback-ref@1.1.0_react@18.3.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "@radix-ui/react-use-layout-effect@1.1.0_react@18.3.1": {
+ "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/body@0.0.10_react@18.3.1": {
+ "integrity": "sha512-dMJyL9aU25ieatdPtVjCyQ/WHZYHwNc+Hy/XpF8Cc18gu21cUynVEeYQzFSeigDRMeBQ3PGAyjVDPIob7YlGwA==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/body@0.0.2": {
+ "integrity": "sha512-SqZrZdxZlH7viwnrLvrMnVzOKpiofVAtho09bmm2siDzy0VMDGItXRzUPLcpg9vcbVJCHZRCIKoNXqA+PtokzQ==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/button@0.0.17_react@18.3.1": {
+ "integrity": "sha512-ioHdsk+BpGS/PqjU6JS7tUrVy9yvbUx92Z+Cem2+MbYp55oEwQ9VHf7u4f5NoM0gdhfKSehBwRdYlHt/frEMcg==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/button@0.0.9": {
+ "integrity": "sha512-eYWQ1X4RFlkKYYSPgSrT6rk98wuLOieEAGENrp9j37t1v/1C+jMmBu0UjZvwHsHWdbOMRjbVDFeMI/+MxWKSEg==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/code-block@0.0.9_react@18.3.1": {
+ "integrity": "sha512-Zrhc71VYrSC1fVXJuaViKoB/dBjxLw6nbE53Bm/eUuZPdnnZ1+ZUIh8jfaRKC5MzMjgnLGQTweGXVnfIrhyxtQ==",
+ "dependencies": {
+ "prismjs": "prismjs@1.29.0",
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/code-inline@0.0.4_react@18.3.1": {
+ "integrity": "sha512-zj3oMQiiUCZbddSNt3k0zNfIBFK0ZNDIzzDyBaJKy6ZASTtWfB+1WFX0cpTX8q0gUiYK+A94rk5Qp68L6YXjXQ==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/column@0.0.12_react@18.3.1": {
+ "integrity": "sha512-Rsl7iSdDaeHZO938xb+0wR5ud0Z3MVfdtPbNKJNojZi2hApwLAQXmDrnn/AcPDM5Lpl331ZljJS8vHTWxxkvKw==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/column@0.0.7": {
+ "integrity": "sha512-B29wVXyIcuVprgGpLkR23waPh/twlqmugZQsCKk05JlMCQ80/Puv4Lgj4dRsIJzgyTLMwG6xq17+Uxc5iGfuaQ==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/components@0.0.25_react@18.3.1": {
+ "integrity": "sha512-lnfVVrThEcET5NPoeaXvrz9UxtWpGRcut2a07dLbyKgNbP7vj/cXTI5TuHtanCvhCddFpMDnElNRghDOfPzwUg==",
+ "dependencies": {
+ "@react-email/body": "@react-email/body@0.0.10_react@18.3.1",
+ "@react-email/button": "@react-email/button@0.0.17_react@18.3.1",
+ "@react-email/code-block": "@react-email/code-block@0.0.9_react@18.3.1",
+ "@react-email/code-inline": "@react-email/code-inline@0.0.4_react@18.3.1",
+ "@react-email/column": "@react-email/column@0.0.12_react@18.3.1",
+ "@react-email/container": "@react-email/container@0.0.14_react@18.3.1",
+ "@react-email/font": "@react-email/font@0.0.8_react@18.3.1",
+ "@react-email/head": "@react-email/head@0.0.11_react@18.3.1",
+ "@react-email/heading": "@react-email/heading@0.0.14_react@18.3.1",
+ "@react-email/hr": "@react-email/hr@0.0.10_react@18.3.1",
+ "@react-email/html": "@react-email/html@0.0.10_react@18.3.1",
+ "@react-email/img": "@react-email/img@0.0.10_react@18.3.1",
+ "@react-email/link": "@react-email/link@0.0.10_react@18.3.1",
+ "@react-email/markdown": "@react-email/markdown@0.0.12_react@18.3.1",
+ "@react-email/preview": "@react-email/preview@0.0.11_react@18.3.1",
+ "@react-email/render": "@react-email/render@1.0.1_react@18.3.1_react-dom@18.3.1__react@18.3.1",
+ "@react-email/row": "@react-email/row@0.0.10_react@18.3.1",
+ "@react-email/section": "@react-email/section@0.0.14_react@18.3.1",
+ "@react-email/tailwind": "@react-email/tailwind@0.1.0_react@18.3.1",
+ "@react-email/text": "@react-email/text@0.0.10_react@18.3.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/components@0.0.7": {
+ "integrity": "sha512-GpRKV8E7EvK9OPf61f5Z8hliB3p0hTot8tslmEUVCTtX7tdL0wM2YEcZiDWU4PJcudJ/QWHJ7Y5wGzNEARcooA==",
+ "dependencies": {
+ "@react-email/body": "@react-email/body@0.0.2",
+ "@react-email/button": "@react-email/button@0.0.9",
+ "@react-email/column": "@react-email/column@0.0.7",
+ "@react-email/container": "@react-email/container@0.0.8",
+ "@react-email/font": "@react-email/font@0.0.2",
+ "@react-email/head": "@react-email/head@0.0.5",
+ "@react-email/heading": "@react-email/heading@0.0.8_react@18.2.0",
+ "@react-email/hr": "@react-email/hr@0.0.5",
+ "@react-email/html": "@react-email/html@0.0.4",
+ "@react-email/img": "@react-email/img@0.0.5",
+ "@react-email/link": "@react-email/link@0.0.5",
+ "@react-email/preview": "@react-email/preview@0.0.6",
+ "@react-email/render": "@react-email/render@0.0.7_react@18.2.0",
+ "@react-email/row": "@react-email/row@0.0.5",
+ "@react-email/section": "@react-email/section@0.0.9",
+ "@react-email/tailwind": "@react-email/tailwind@0.0.8_react@18.2.0",
+ "@react-email/text": "@react-email/text@0.0.5",
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/container@0.0.14_react@18.3.1": {
+ "integrity": "sha512-NgoaJJd9tTtsrveL86Ocr/AYLkGyN3prdXKd/zm5fQpfDhy/NXezyT3iF6VlwAOEUIu64ErHpAJd+P6ygR+vjg==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/container@0.0.8": {
+ "integrity": "sha512-MQZQxvTOoLWjJR+Jm689jltm0I/mtZbEaDnwZbNkkHKgccr++wwb9kOKMgXG777Y7tGa1JATAsZpvFYiCITwUg==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/font@0.0.2": {
+ "integrity": "sha512-mmkyOCAcbgytE7DfIuOBVG1YVDUZY9rPCor4o7pUEzGJiU2y/TNuV8CgNPSU/VgXeBKL/94QDjB62OrGHlFNMQ==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/font@0.0.8_react@18.3.1": {
+ "integrity": "sha512-fSBEqYyVPAyyACBBHcs3wEYzNknpHMuwcSAAKE8fOoDfGqURr/vSxKPdh4tOa9z7G4hlcEfgGrCYEa2iPT22cw==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/head@0.0.11_react@18.3.1": {
+ "integrity": "sha512-skw5FUgyamIMK+LN+fZQ5WIKQYf0dPiRAvsUAUR2eYoZp9oRsfkIpFHr0GWPkKAYjFEj+uJjaxQ/0VzQH7svVg==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/head@0.0.5": {
+ "integrity": "sha512-s84OxJxZMee2z5b1a+RVwY1NOSUNNf1ecjPf6n64aZmMNcNUyn4gOl7RO6xbfBrZko7TigBwsFB1Cgjxtn/ydg==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/heading@0.0.14_react@18.3.1": {
+ "integrity": "sha512-jZM7IVuZOXa0G110ES8OkxajPTypIKlzlO1K1RIe1auk76ukQRiCg1IRV4HZlWk1GGUbec5hNxsvZa2kU8cb9w==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/heading@0.0.8_react@18.2.0": {
+ "integrity": "sha512-7atATmoHBHTk7hFYFsFFzOIBV3u1zPpsSOWkLBojdjSUdenpk2SbX8GP8/3aBhWl/tuFX9RBGcu1Xes+ZijFLg==",
+ "dependencies": {
+ "@radix-ui/react-slot": "@radix-ui/react-slot@1.0.0_react@18.2.0",
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/hr@0.0.10_react@18.3.1": {
+ "integrity": "sha512-3AA4Yjgl3zEid/KVx6uf6TuLJHVZvUc2cG9Wm9ZpWeAX4ODA+8g9HyuC0tfnjbRsVMhMcCGiECuWWXINi+60vA==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/hr@0.0.5": {
+ "integrity": "sha512-nwB8GmSdvPlR/bWjDS07yHtgdfJqtvCaPXee3SVUY69YYP7NeDO/VACJlgrS9V2l79bj1lUpH0MJMU6MNAk5FQ==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/html@0.0.10_react@18.3.1": {
+ "integrity": "sha512-06uiuSKJBWQJfhCKv4MPupELei4Lepyz9Sth7Yq7Fq29CAeB1ejLgKkGqn1I+FZ72hQxPLdYF4iq4yloKv3JCg==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/html@0.0.4": {
+ "integrity": "sha512-7tRYSnudYAWez+NkPWOM8yLZH7EuYFtYdiLPnzpD+pf4cdk16Gz4up531DaIX6dNBbfbyEFpQxhXZxGeJ5ZkfQ==",
+ "dependencies": {}
+ },
+ "@react-email/img@0.0.10_react@18.3.1": {
+ "integrity": "sha512-pJ8glJjDNaJ53qoM95pvX9SK05yh0bNQY/oyBKmxlBDdUII6ixuMc3SCwYXPMl+tgkQUyDgwEBpSTrLAnjL3hA==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/img@0.0.5": {
+ "integrity": "sha512-9ziFgBfrIAL+DpVlsraFcd2KwsTRyobLpqTnoiBYCcVZGod59xbYkmsmB3CbUosmLwPYg6AeD7Q7e+hCiwkWgg==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/link@0.0.10_react@18.3.1": {
+ "integrity": "sha512-tva3wvAWSR10lMJa9fVA09yRn7pbEki0ZZpHE6GD1jKbFhmzt38VgLO9B797/prqoDZdAr4rVK7LJFcdPx3GwA==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/link@0.0.5": {
+ "integrity": "sha512-z+QW9f4gXBdyfhl7iYMY3td+rXKeZYK/2AGElEMsxVoywn5D0b6cF8m5w2jbf0U2V3enT+zy9yc1R6AyT59NOg==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/markdown@0.0.12_react@18.3.1": {
+ "integrity": "sha512-wsuvj1XAb6O63aizCLNEeqVgKR3oFjAwt9vjfg2y2oh4G1dZeo8zonZM2x1fmkEkBZhzwSHraNi70jSXhA3A9w==",
+ "dependencies": {
+ "md-to-react-email": "md-to-react-email@5.0.2_react@18.3.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/preview@0.0.11_react@18.3.1": {
+ "integrity": "sha512-7O/CT4b16YlSGrj18htTPx3Vbhu2suCGv/cSe5c+fuSrIM/nMiBSZ3Js16Vj0XJbAmmmlVmYFZw9L20wXJ+LjQ==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/preview@0.0.6": {
+ "integrity": "sha512-mXDCc3NGpm/4W7gowBtjsTxYXowLNOLsJsYhIfrsjNJWGlVhVFB9uEHm55LjBLpxSG020g6/8LIrpJU6g22qvg==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/render@0.0.17_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-xBQ+/73+WsGuXKY7r1U73zMBNV28xdV0cp9cFjhNYipBReDHhV97IpA6v7Hl0dDtDzt+yS/72dY5vYXrF1v8NA==",
+ "dependencies": {
+ "html-to-text": "html-to-text@9.0.5",
+ "js-beautify": "js-beautify@1.15.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1",
+ "react-promise-suspense": "react-promise-suspense@0.3.4"
+ }
+ },
+ "@react-email/render@0.0.7_react@18.2.0": {
+ "integrity": "sha512-hMMhxk6TpOcDC5qnKzXPVJoVGEwfm+U5bGOPH+MyTTlx0F02RLQygcATBKsbP7aI/mvkmBAZoFbgPIHop7ovug==",
+ "dependencies": {
+ "html-to-text": "html-to-text@9.0.3",
+ "pretty": "pretty@2.0.0",
+ "react": "react@18.2.0",
+ "react-dom": "react-dom@18.2.0_react@18.2.0"
+ }
+ },
+ "@react-email/render@1.0.1_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-W3gTrcmLOVYnG80QuUp22ReIT/xfLsVJ+n7ghSlG2BITB8evNABn1AO2rGQoXuK84zKtDAlxCdm3hRyIpZdGSA==",
+ "dependencies": {
+ "html-to-text": "html-to-text@9.0.5",
+ "js-beautify": "js-beautify@1.15.1",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1",
+ "react-promise-suspense": "react-promise-suspense@0.3.4"
+ }
+ },
+ "@react-email/row@0.0.10_react@18.3.1": {
+ "integrity": "sha512-jPyEhG3gsLX+Eb9U+A30fh0gK6hXJwF4ghJ+ZtFQtlKAKqHX+eCpWlqB3Xschd/ARJLod8WAswg0FB+JD9d0/A==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/row@0.0.5": {
+ "integrity": "sha512-dir5l1M7Z/1BQqQkUrKUPIIDPt6ueEf6ScMGoBOcUh+VNNqmnqJE2Q2CH5X3w2uo6a5X7tnVhoJHGa2KTKe8Sw==",
+ "dependencies": {}
+ },
+ "@react-email/section@0.0.14_react@18.3.1": {
+ "integrity": "sha512-+fYWLb4tPU1A/+GE5J1+SEMA7/wR3V30lQ+OR9t2kAJqNrARDbMx0bLnYnR1QL5TiFRz0pCF05SQUobk6gHEDQ==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/section@0.0.9": {
+ "integrity": "sha512-3EbcWJ1jUZrzquWSvXrv8Hbk9V+BGvLcMWQIli4NdIpQlddmlGKUYfXU2mB2d2pf+5ojqkGcFZZ9fWxycB84jQ==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@react-email/tailwind@0.0.8_react@18.2.0": {
+ "integrity": "sha512-0BLjD5GpiyBK7YDlaDrjHIpj9eTrrZrMJud3f1UPoCZhS+0S/M8LcR8WMbQsR+8/aLGmiy4F4TGZuRQcsJEsFw==",
+ "dependencies": {
+ "html-react-parser": "html-react-parser@3.0.9_react@18.2.0",
+ "react": "react@18.2.0",
+ "react-dom": "react-dom@18.2.0_react@18.2.0",
+ "tw-to-css": "tw-to-css@0.0.11_postcss@8.4.21"
+ }
+ },
+ "@react-email/tailwind@0.1.0_react@18.3.1": {
+ "integrity": "sha512-qysVUEY+M3SKUvu35XDpzn7yokhqFOT3tPU6Mj/pgc62TL5tQFj6msEbBtwoKs2qO3WZvai0DIHdLhaOxBQSow==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/text@0.0.10_react@18.3.1": {
+ "integrity": "sha512-wNAnxeEAiFs6N+SxS0y6wTJWfewEzUETuyS2aZmT00xk50VijwyFRuhm4sYSjusMyshevomFwz5jNISCxRsGWw==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "@react-email/text@0.0.5": {
+ "integrity": "sha512-LXhHiaC6oRRsNAfOzJDos4wQA22eIdVJvR6G7uu4QzUvYNOAatDMf89jRQcKGrxX7InkS640v8sHd9jl5ztM5w==",
+ "dependencies": {
+ "react": "react@18.2.0"
+ }
+ },
+ "@selderee/plugin-htmlparser2@0.10.0": {
+ "integrity": "sha512-gW69MEamZ4wk1OsOq1nG1jcyhXIQcnrsX5JwixVw/9xaiav8TCyjESAruu1Rz9yyInhgBXxkNwMeygKnN2uxNA==",
+ "dependencies": {
+ "domhandler": "domhandler@5.0.3",
+ "selderee": "selderee@0.10.0"
+ }
+ },
+ "@selderee/plugin-htmlparser2@0.11.0": {
+ "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==",
+ "dependencies": {
+ "domhandler": "domhandler@5.0.3",
+ "selderee": "selderee@0.11.0"
+ }
+ },
"@supabase/auth-js@2.65.0": {
"integrity": "sha512-+wboHfZufAE2Y612OsKeVP4rVOeGZzzMLD/Ac3HrTQkkY4qXNjI6Af9gtmxwccE5nFvTiF114FEbIQ1hRq5uUw==",
"dependencies": {
@@ -73,6 +644,24 @@
"@supabase/node-fetch": "@supabase/node-fetch@2.6.15"
}
},
+ "@swc/helpers@0.5.2": {
+ "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
+ "dependencies": {
+ "tslib": "tslib@2.7.0"
+ }
+ },
+ "@tanstack/query-core@4.36.1": {
+ "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==",
+ "dependencies": {}
+ },
+ "@tanstack/react-query@4.36.1_react@18.3.1": {
+ "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==",
+ "dependencies": {
+ "@tanstack/query-core": "@tanstack/query-core@4.36.1",
+ "react": "react@18.3.1",
+ "use-sync-external-store": "use-sync-external-store@1.2.2_react@18.3.1"
+ }
+ },
"@types/node-fetch@2.6.11": {
"integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==",
"dependencies": {
@@ -104,12 +693,32 @@
"@types/node": "@types/node@18.16.19"
}
},
+ "abbrev@2.0.0": {
+ "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+ "dependencies": {}
+ },
"abort-controller@3.0.0": {
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"dependencies": {
"event-target-shim": "event-target-shim@5.0.1"
}
},
+ "acorn-node@1.8.2": {
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "dependencies": {
+ "acorn": "acorn@7.4.1",
+ "acorn-walk": "acorn-walk@7.2.0",
+ "xtend": "xtend@4.0.2"
+ }
+ },
+ "acorn-walk@7.2.0": {
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "dependencies": {}
+ },
+ "acorn@7.4.1": {
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dependencies": {}
+ },
"agentkeepalive@4.5.0": {
"integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
"dependencies": {
@@ -120,16 +729,67 @@
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dependencies": {}
},
+ "ansi-regex@6.1.0": {
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "dependencies": {}
+ },
"ansi-styles@4.3.0": {
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "color-convert@2.0.1"
}
},
+ "ansi-styles@6.2.1": {
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dependencies": {}
+ },
+ "anymatch@3.1.3": {
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dependencies": {
+ "normalize-path": "normalize-path@3.0.0",
+ "picomatch": "picomatch@2.3.1"
+ }
+ },
+ "arg@5.0.2": {
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "dependencies": {}
+ },
+ "aria-hidden@1.2.4": {
+ "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
+ "dependencies": {
+ "tslib": "tslib@2.7.0"
+ }
+ },
"asynckit@0.4.0": {
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dependencies": {}
},
+ "balanced-match@1.0.2": {
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dependencies": {}
+ },
+ "binary-extensions@2.3.0": {
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dependencies": {}
+ },
+ "brace-expansion@2.0.1": {
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "balanced-match@1.0.2"
+ }
+ },
+ "braces@3.0.3": {
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dependencies": {
+ "fill-range": "fill-range@7.1.1"
+ }
+ },
+ "busboy@1.6.0": {
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "dependencies": {
+ "streamsearch": "streamsearch@1.1.0"
+ }
+ },
"call-bind@1.0.7": {
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dependencies": {
@@ -140,10 +800,41 @@
"set-function-length": "set-function-length@1.2.2"
}
},
+ "camelcase-css@2.0.1": {
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "dependencies": {}
+ },
"camelcase@5.3.1": {
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dependencies": {}
},
+ "caniuse-lite@1.0.30001669": {
+ "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==",
+ "dependencies": {}
+ },
+ "chokidar@3.6.0": {
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dependencies": {
+ "anymatch": "anymatch@3.1.3",
+ "braces": "braces@3.0.3",
+ "fsevents": "fsevents@2.3.3",
+ "glob-parent": "glob-parent@5.1.2",
+ "is-binary-path": "is-binary-path@2.1.0",
+ "is-glob": "is-glob@4.0.3",
+ "normalize-path": "normalize-path@3.0.0",
+ "readdirp": "readdirp@3.6.0"
+ }
+ },
+ "class-variance-authority@0.7.0": {
+ "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==",
+ "dependencies": {
+ "clsx": "clsx@2.0.0"
+ }
+ },
+ "client-only@0.0.1": {
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
+ "dependencies": {}
+ },
"cliui@6.0.0": {
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dependencies": {
@@ -152,6 +843,16 @@
"wrap-ansi": "wrap-ansi@6.2.0"
}
},
+ "clone-regexp@3.0.0": {
+ "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==",
+ "dependencies": {
+ "is-regexp": "is-regexp@3.1.0"
+ }
+ },
+ "clsx@2.0.0": {
+ "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
+ "dependencies": {}
+ },
"color-convert@2.0.1": {
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
@@ -168,10 +869,59 @@
"delayed-stream": "delayed-stream@1.0.0"
}
},
+ "commander@10.0.1": {
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "dependencies": {}
+ },
+ "condense-newlines@0.2.1": {
+ "integrity": "sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg==",
+ "dependencies": {
+ "extend-shallow": "extend-shallow@2.0.1",
+ "is-whitespace": "is-whitespace@0.3.0",
+ "kind-of": "kind-of@3.2.2"
+ }
+ },
+ "config-chain@1.1.13": {
+ "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
+ "dependencies": {
+ "ini": "ini@1.3.8",
+ "proto-list": "proto-list@1.2.4"
+ }
+ },
+ "convert-hrtime@5.0.0": {
+ "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==",
+ "dependencies": {}
+ },
+ "cross-spawn@7.0.3": {
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dependencies": {
+ "path-key": "path-key@3.1.1",
+ "shebang-command": "shebang-command@2.0.0",
+ "which": "which@2.0.2"
+ }
+ },
+ "cssesc@3.0.0": {
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dependencies": {}
+ },
+ "date-fns@2.30.0": {
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+ "dependencies": {
+ "@babel/runtime": "@babel/runtime@7.25.7"
+ }
+ },
+ "date-fns@4.1.0": {
+ "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
+ "dependencies": {}
+ },
"decamelize@1.2.0": {
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
"dependencies": {}
},
+ "deepmerge@4.3.1": {
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dependencies": {}
+ },
"define-data-property@1.1.4": {
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dependencies": {
@@ -180,14 +930,85 @@
"gopd": "gopd@1.0.1"
}
},
+ "defined@1.0.1": {
+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
+ "dependencies": {}
+ },
"delayed-stream@1.0.0": {
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dependencies": {}
},
+ "detect-node-es@1.1.0": {
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
+ "dependencies": {}
+ },
+ "detective@5.2.1": {
+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
+ "dependencies": {
+ "acorn-node": "acorn-node@1.8.2",
+ "defined": "defined@1.0.1",
+ "minimist": "minimist@1.2.8"
+ }
+ },
+ "didyoumean@1.2.2": {
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "dependencies": {}
+ },
+ "dlv@1.1.3": {
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "dependencies": {}
+ },
+ "dom-serializer@2.0.0": {
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dependencies": {
+ "domelementtype": "domelementtype@2.3.0",
+ "domhandler": "domhandler@5.0.3",
+ "entities": "entities@4.5.0"
+ }
+ },
+ "domelementtype@2.3.0": {
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "dependencies": {}
+ },
+ "domhandler@5.0.3": {
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dependencies": {
+ "domelementtype": "domelementtype@2.3.0"
+ }
+ },
+ "domutils@3.1.0": {
+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
+ "dependencies": {
+ "dom-serializer": "dom-serializer@2.0.0",
+ "domelementtype": "domelementtype@2.3.0",
+ "domhandler": "domhandler@5.0.3"
+ }
+ },
+ "eastasianwidth@0.2.0": {
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dependencies": {}
+ },
+ "editorconfig@1.0.4": {
+ "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "dependencies": {
+ "@one-ini/wasm": "@one-ini/wasm@0.1.1",
+ "commander": "commander@10.0.1",
+ "minimatch": "minimatch@9.0.1",
+ "semver": "semver@7.6.3"
+ }
+ },
"emoji-regex@8.0.0": {
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dependencies": {}
},
+ "emoji-regex@9.2.2": {
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dependencies": {}
+ },
+ "entities@4.5.0": {
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dependencies": {}
+ },
"es-define-property@1.0.0": {
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
"dependencies": {
@@ -198,10 +1019,50 @@
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dependencies": {}
},
+ "escape-string-regexp@1.0.5": {
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dependencies": {}
+ },
"event-target-shim@5.0.1": {
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
"dependencies": {}
},
+ "extend-shallow@2.0.1": {
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dependencies": {
+ "is-extendable": "is-extendable@0.1.1"
+ }
+ },
+ "extend@3.0.2": {
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dependencies": {}
+ },
+ "fast-deep-equal@2.0.1": {
+ "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==",
+ "dependencies": {}
+ },
+ "fast-glob@3.3.2": {
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dependencies": {
+ "@nodelib/fs.stat": "@nodelib/fs.stat@2.0.5",
+ "@nodelib/fs.walk": "@nodelib/fs.walk@1.2.8",
+ "glob-parent": "glob-parent@5.1.2",
+ "merge2": "merge2@1.4.1",
+ "micromatch": "micromatch@4.0.8"
+ }
+ },
+ "fastq@1.17.1": {
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dependencies": {
+ "reusify": "reusify@1.0.4"
+ }
+ },
+ "fill-range@7.1.1": {
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dependencies": {
+ "to-regex-range": "to-regex-range@5.0.1"
+ }
+ },
"find-up@4.1.0": {
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dependencies": {
@@ -209,6 +1070,13 @@
"path-exists": "path-exists@4.0.0"
}
},
+ "foreground-child@3.3.0": {
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "dependencies": {
+ "cross-spawn": "cross-spawn@7.0.3",
+ "signal-exit": "signal-exit@4.1.0"
+ }
+ },
"form-data-encoder@1.7.2": {
"integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==",
"dependencies": {}
@@ -228,10 +1096,18 @@
"web-streams-polyfill": "web-streams-polyfill@4.0.0-beta.3"
}
},
+ "fsevents@2.3.3": {
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dependencies": {}
+ },
"function-bind@1.1.2": {
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dependencies": {}
},
+ "function-timeout@0.1.1": {
+ "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==",
+ "dependencies": {}
+ },
"get-caller-file@2.0.5": {
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dependencies": {}
@@ -246,57 +1122,295 @@
"hasown": "hasown@2.0.2"
}
},
+ "get-nonce@1.0.1": {
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "dependencies": {}
+ },
+ "glob-parent@5.1.2": {
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "is-glob@4.0.3"
+ }
+ },
+ "glob-parent@6.0.2": {
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dependencies": {
+ "is-glob": "is-glob@4.0.3"
+ }
+ },
+ "glob-to-regexp@0.4.1": {
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dependencies": {}
+ },
+ "glob@10.4.5": {
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dependencies": {
+ "foreground-child": "foreground-child@3.3.0",
+ "jackspeak": "jackspeak@3.4.3",
+ "minimatch": "minimatch@9.0.5",
+ "minipass": "minipass@7.1.2",
+ "package-json-from-dist": "package-json-from-dist@1.0.1",
+ "path-scurry": "path-scurry@1.11.1"
+ }
+ },
"gopd@1.0.1": {
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dependencies": {
"get-intrinsic": "get-intrinsic@1.2.4"
}
},
- "has-property-descriptors@1.0.2": {
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "graceful-fs@4.2.11": {
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dependencies": {}
+ },
+ "has-property-descriptors@1.0.2": {
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dependencies": {
+ "es-define-property": "es-define-property@1.0.0"
+ }
+ },
+ "has-proto@1.0.3": {
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "dependencies": {}
+ },
+ "has-symbols@1.0.3": {
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dependencies": {}
+ },
+ "hasown@2.0.2": {
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "function-bind@1.1.2"
+ }
+ },
+ "html-dom-parser@3.1.3": {
+ "integrity": "sha512-fI0yyNlIeSboxU+jnrA4v8qj4+M8SI9/q6AKYdwCY2qki22UtKCDTxvagHniECu7sa5/o2zFRdLleA67035lsA==",
+ "dependencies": {
+ "domhandler": "domhandler@5.0.3",
+ "htmlparser2": "htmlparser2@8.0.1"
+ }
+ },
+ "html-react-parser@3.0.9_react@18.2.0": {
+ "integrity": "sha512-gOPZmaCMXNYu7Y9+58k2tLhTMXQ+QN8ctNFijzLuBxJaLZ6TsN+tUpN+MhbI+6nGaBCRGT2rpw6y/AqkTFZckg==",
+ "dependencies": {
+ "domhandler": "domhandler@5.0.3",
+ "html-dom-parser": "html-dom-parser@3.1.3",
+ "react": "react@18.2.0",
+ "react-property": "react-property@2.0.0",
+ "style-to-js": "style-to-js@1.1.3"
+ }
+ },
+ "html-to-text@9.0.3": {
+ "integrity": "sha512-hxDF1kVCF2uw4VUJ3vr2doc91pXf2D5ngKcNviSitNkhP9OMOaJkDrFIFL6RMvko7NisWTEiqGpQ9LAxcVok1w==",
+ "dependencies": {
+ "@selderee/plugin-htmlparser2": "@selderee/plugin-htmlparser2@0.10.0",
+ "deepmerge": "deepmerge@4.3.1",
+ "dom-serializer": "dom-serializer@2.0.0",
+ "htmlparser2": "htmlparser2@8.0.2",
+ "selderee": "selderee@0.10.0"
+ }
+ },
+ "html-to-text@9.0.5": {
+ "integrity": "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==",
+ "dependencies": {
+ "@selderee/plugin-htmlparser2": "@selderee/plugin-htmlparser2@0.11.0",
+ "deepmerge": "deepmerge@4.3.1",
+ "dom-serializer": "dom-serializer@2.0.0",
+ "htmlparser2": "htmlparser2@8.0.2",
+ "selderee": "selderee@0.11.0"
+ }
+ },
+ "htmlparser2@8.0.1": {
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+ "dependencies": {
+ "domelementtype": "domelementtype@2.3.0",
+ "domhandler": "domhandler@5.0.3",
+ "domutils": "domutils@3.1.0",
+ "entities": "entities@4.5.0"
+ }
+ },
+ "htmlparser2@8.0.2": {
+ "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
+ "dependencies": {
+ "domelementtype": "domelementtype@2.3.0",
+ "domhandler": "domhandler@5.0.3",
+ "domutils": "domutils@3.1.0",
+ "entities": "entities@4.5.0"
+ }
+ },
+ "humanize-ms@1.2.1": {
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "dependencies": {
+ "ms": "ms@2.1.3"
+ }
+ },
+ "ini@1.3.8": {
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dependencies": {}
+ },
+ "inline-style-parser@0.1.1": {
+ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==",
+ "dependencies": {}
+ },
+ "invariant@2.2.4": {
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "loose-envify@1.4.0"
+ }
+ },
+ "ip-address@9.0.5": {
+ "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+ "dependencies": {
+ "jsbn": "jsbn@1.1.0",
+ "sprintf-js": "sprintf-js@1.1.3"
+ }
+ },
+ "ip-regex@5.0.0": {
+ "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==",
+ "dependencies": {}
+ },
+ "is-binary-path@2.1.0": {
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "binary-extensions@2.3.0"
+ }
+ },
+ "is-buffer@1.1.6": {
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dependencies": {}
+ },
+ "is-core-module@2.15.1": {
+ "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
+ "dependencies": {
+ "hasown": "hasown@2.0.2"
+ }
+ },
+ "is-extendable@0.1.1": {
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "dependencies": {}
+ },
+ "is-extglob@2.1.1": {
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dependencies": {}
+ },
+ "is-fullwidth-code-point@3.0.0": {
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dependencies": {}
+ },
+ "is-glob@4.0.3": {
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "is-extglob@2.1.1"
+ }
+ },
+ "is-ip@5.0.1": {
+ "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==",
+ "dependencies": {
+ "ip-regex": "ip-regex@5.0.0",
+ "super-regex": "super-regex@0.2.0"
+ }
+ },
+ "is-number@7.0.0": {
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dependencies": {}
+ },
+ "is-regexp@3.1.0": {
+ "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==",
+ "dependencies": {}
+ },
+ "is-whitespace@0.3.0": {
+ "integrity": "sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==",
+ "dependencies": {}
+ },
+ "isexe@2.0.0": {
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dependencies": {}
+ },
+ "jackspeak@3.4.3": {
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dependencies": {
+ "@isaacs/cliui": "@isaacs/cliui@8.0.2",
+ "@pkgjs/parseargs": "@pkgjs/parseargs@0.11.0"
+ }
+ },
+ "js-beautify@1.15.1": {
+ "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==",
+ "dependencies": {
+ "config-chain": "config-chain@1.1.13",
+ "editorconfig": "editorconfig@1.0.4",
+ "glob": "glob@10.4.5",
+ "js-cookie": "js-cookie@3.0.5",
+ "nopt": "nopt@7.2.1"
+ }
+ },
+ "js-cookie@3.0.5": {
+ "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+ "dependencies": {}
+ },
+ "js-tokens@4.0.0": {
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dependencies": {}
+ },
+ "jsbn@1.1.0": {
+ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
+ "dependencies": {}
+ },
+ "kind-of@3.2.2": {
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dependencies": {
- "es-define-property": "es-define-property@1.0.0"
+ "is-buffer": "is-buffer@1.1.6"
}
},
- "has-proto@1.0.3": {
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "leac@0.6.0": {
+ "integrity": "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==",
"dependencies": {}
},
- "has-symbols@1.0.3": {
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "lilconfig@2.1.0": {
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
"dependencies": {}
},
- "hasown@2.0.2": {
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "locate-path@5.0.0": {
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dependencies": {
- "function-bind": "function-bind@1.1.2"
+ "p-locate": "p-locate@4.1.0"
}
},
- "humanize-ms@1.2.1": {
- "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "loose-envify@1.4.0": {
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dependencies": {
- "ms": "ms@2.1.3"
+ "js-tokens": "js-tokens@4.0.0"
}
},
- "ip-address@9.0.5": {
- "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+ "lru-cache@10.4.3": {
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dependencies": {}
+ },
+ "lucide-react@0.387.0_react@18.3.1": {
+ "integrity": "sha512-NyB4oJZ0pzLHT/QgMpgCPbez6yqvz8QPBocMJBXQCInPpXcQVCUpcU1CDlRG8mT2j0KqodLQYp+F5zn8U86sXg==",
"dependencies": {
- "jsbn": "jsbn@1.1.0",
- "sprintf-js": "sprintf-js@1.1.3"
+ "react": "react@18.3.1"
}
},
- "is-fullwidth-code-point@3.0.0": {
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "marked@7.0.4": {
+ "integrity": "sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==",
"dependencies": {}
},
- "jsbn@1.1.0": {
- "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
+ "md-to-react-email@5.0.2_react@18.3.1": {
+ "integrity": "sha512-x6kkpdzIzUhecda/yahltfEl53mH26QdWu4abUF9+S0Jgam8P//Ciro8cdhyMHnT5MQUJYrIbO6ORM2UxPiNNA==",
+ "dependencies": {
+ "marked": "marked@7.0.4",
+ "react": "react@18.3.1"
+ }
+ },
+ "merge2@1.4.1": {
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dependencies": {}
},
- "locate-path@5.0.0": {
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "micromatch@4.0.8": {
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dependencies": {
- "p-locate": "p-locate@4.1.0"
+ "braces": "braces@3.0.3",
+ "picomatch": "picomatch@2.3.1"
}
},
"mime-db@1.52.0": {
@@ -309,10 +1423,57 @@
"mime-db": "mime-db@1.52.0"
}
},
+ "minimatch@9.0.1": {
+ "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
+ "dependencies": {
+ "brace-expansion": "brace-expansion@2.0.1"
+ }
+ },
+ "minimatch@9.0.5": {
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dependencies": {
+ "brace-expansion": "brace-expansion@2.0.1"
+ }
+ },
+ "minimist@1.2.8": {
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dependencies": {}
+ },
+ "minipass@7.1.2": {
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dependencies": {}
+ },
"ms@2.1.3": {
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dependencies": {}
},
+ "nanoid@3.3.7": {
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dependencies": {}
+ },
+ "next@13.5.7_react@18.3.1_react-dom@18.3.1__react@18.3.1": {
+ "integrity": "sha512-W7KIRTE+hPcgGdq89P3mQLDX3m7pJ6nxSyC+YxYaUExE+cS4UledB+Ntk98tKoyhsv6fjb2TRAnD7VDvoqmeFg==",
+ "dependencies": {
+ "@next/env": "@next/env@13.5.7",
+ "@next/swc-darwin-arm64": "@next/swc-darwin-arm64@13.5.7",
+ "@next/swc-darwin-x64": "@next/swc-darwin-x64@13.5.7",
+ "@next/swc-linux-arm64-gnu": "@next/swc-linux-arm64-gnu@13.5.7",
+ "@next/swc-linux-arm64-musl": "@next/swc-linux-arm64-musl@13.5.7",
+ "@next/swc-linux-x64-gnu": "@next/swc-linux-x64-gnu@13.5.7",
+ "@next/swc-linux-x64-musl": "@next/swc-linux-x64-musl@13.5.7",
+ "@next/swc-win32-arm64-msvc": "@next/swc-win32-arm64-msvc@13.5.7",
+ "@next/swc-win32-ia32-msvc": "@next/swc-win32-ia32-msvc@13.5.7",
+ "@next/swc-win32-x64-msvc": "@next/swc-win32-x64-msvc@13.5.7",
+ "@swc/helpers": "@swc/helpers@0.5.2",
+ "busboy": "busboy@1.6.0",
+ "caniuse-lite": "caniuse-lite@1.0.30001669",
+ "postcss": "postcss@8.4.31",
+ "react": "react@18.3.1",
+ "react-dom": "react-dom@18.3.1_react@18.3.1",
+ "styled-jsx": "styled-jsx@5.1.1_react@18.3.1",
+ "watchpack": "watchpack@2.4.0"
+ }
+ },
"node-domexception@1.0.0": {
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
"dependencies": {}
@@ -323,6 +1484,20 @@
"whatwg-url": "whatwg-url@5.0.0"
}
},
+ "nopt@7.2.1": {
+ "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==",
+ "dependencies": {
+ "abbrev": "abbrev@2.0.0"
+ }
+ },
+ "normalize-path@3.0.0": {
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dependencies": {}
+ },
+ "object-hash@3.0.0": {
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "dependencies": {}
+ },
"object-inspect@1.13.2": {
"integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
"dependencies": {}
@@ -357,10 +1532,152 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dependencies": {}
},
+ "package-json-from-dist@1.0.1": {
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dependencies": {}
+ },
+ "parse-domain@8.2.2": {
+ "integrity": "sha512-CoksenD3UDqphCHlXIcNh/TX0dsYLHo6dSAUC/QBcJRWJXcV5rc1mwsS4WbhYGu4LD4Uxc0v3ZzGo+OHCGsLcw==",
+ "dependencies": {
+ "is-ip": "is-ip@5.0.1"
+ }
+ },
+ "parseley@0.11.0": {
+ "integrity": "sha512-VfcwXlBWgTF+unPcr7yu3HSSA6QUdDaDnrHcytVfj5Z8azAyKBDrYnSIfeSxlrEayndNcLmrXzg+Vxbo6DWRXQ==",
+ "dependencies": {
+ "leac": "leac@0.6.0",
+ "peberminta": "peberminta@0.8.0"
+ }
+ },
+ "parseley@0.12.1": {
+ "integrity": "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==",
+ "dependencies": {
+ "leac": "leac@0.6.0",
+ "peberminta": "peberminta@0.9.0"
+ }
+ },
"path-exists@4.0.0": {
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dependencies": {}
},
+ "path-key@3.1.1": {
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dependencies": {}
+ },
+ "path-parse@1.0.7": {
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dependencies": {}
+ },
+ "path-scurry@1.11.1": {
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dependencies": {
+ "lru-cache": "lru-cache@10.4.3",
+ "minipass": "minipass@7.1.2"
+ }
+ },
+ "peberminta@0.8.0": {
+ "integrity": "sha512-YYEs+eauIjDH5nUEGi18EohWE0nV2QbGTqmxQcqgZ/0g+laPCQmuIqq7EBLVi9uim9zMgfJv0QBZEnQ3uHw/Tw==",
+ "dependencies": {}
+ },
+ "peberminta@0.9.0": {
+ "integrity": "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==",
+ "dependencies": {}
+ },
+ "picocolors@1.1.0": {
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+ "dependencies": {}
+ },
+ "picomatch@2.3.1": {
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dependencies": {}
+ },
+ "pify@2.3.0": {
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dependencies": {}
+ },
+ "postcss-css-variables@0.18.0_postcss@8.4.21": {
+ "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==",
+ "dependencies": {
+ "balanced-match": "balanced-match@1.0.2",
+ "escape-string-regexp": "escape-string-regexp@1.0.5",
+ "extend": "extend@3.0.2",
+ "postcss": "postcss@8.4.21"
+ }
+ },
+ "postcss-import@14.1.0_postcss@8.4.21": {
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "dependencies": {
+ "postcss": "postcss@8.4.21",
+ "postcss-value-parser": "postcss-value-parser@4.2.0",
+ "read-cache": "read-cache@1.0.0",
+ "resolve": "resolve@1.22.8"
+ }
+ },
+ "postcss-js@4.0.1_postcss@8.4.21": {
+ "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "dependencies": {
+ "camelcase-css": "camelcase-css@2.0.1",
+ "postcss": "postcss@8.4.21"
+ }
+ },
+ "postcss-load-config@3.1.4_postcss@8.4.21": {
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "dependencies": {
+ "lilconfig": "lilconfig@2.1.0",
+ "postcss": "postcss@8.4.21",
+ "yaml": "yaml@1.10.2"
+ }
+ },
+ "postcss-nested@6.0.0_postcss@8.4.21": {
+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
+ "dependencies": {
+ "postcss": "postcss@8.4.21",
+ "postcss-selector-parser": "postcss-selector-parser@6.1.2"
+ }
+ },
+ "postcss-selector-parser@6.1.2": {
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "dependencies": {
+ "cssesc": "cssesc@3.0.0",
+ "util-deprecate": "util-deprecate@1.0.2"
+ }
+ },
+ "postcss-value-parser@4.2.0": {
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dependencies": {}
+ },
+ "postcss@8.4.21": {
+ "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+ "dependencies": {
+ "nanoid": "nanoid@3.3.7",
+ "picocolors": "picocolors@1.1.0",
+ "source-map-js": "source-map-js@1.2.1"
+ }
+ },
+ "postcss@8.4.31": {
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+ "dependencies": {
+ "nanoid": "nanoid@3.3.7",
+ "picocolors": "picocolors@1.1.0",
+ "source-map-js": "source-map-js@1.2.1"
+ }
+ },
+ "pretty@2.0.0": {
+ "integrity": "sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w==",
+ "dependencies": {
+ "condense-newlines": "condense-newlines@0.2.1",
+ "extend-shallow": "extend-shallow@2.0.1",
+ "js-beautify": "js-beautify@1.15.1"
+ }
+ },
+ "prismjs@1.29.0": {
+ "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
+ "dependencies": {}
+ },
+ "proto-list@1.2.4": {
+ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
+ "dependencies": {}
+ },
"punycode@2.3.1": {
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dependencies": {}
@@ -371,6 +1688,102 @@
"side-channel": "side-channel@1.0.6"
}
},
+ "queue-microtask@1.2.3": {
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dependencies": {}
+ },
+ "quick-lru@5.1.1": {
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "dependencies": {}
+ },
+ "react-dom@18.2.0_react@18.2.0": {
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+ "dependencies": {
+ "loose-envify": "loose-envify@1.4.0",
+ "react": "react@18.2.0",
+ "scheduler": "scheduler@0.23.2"
+ }
+ },
+ "react-dom@18.3.1_react@18.3.1": {
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "dependencies": {
+ "loose-envify": "loose-envify@1.4.0",
+ "react": "react@18.3.1",
+ "scheduler": "scheduler@0.23.2"
+ }
+ },
+ "react-hook-form@7.53.1_react@18.3.1": {
+ "integrity": "sha512-6aiQeBda4zjcuaugWvim9WsGqisoUk+etmFEsSUMm451/Ic8L/UAb7sRtMj3V+Hdzm6mMjU1VhiSzYUZeBm0Vg==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "react-promise-suspense@0.3.4": {
+ "integrity": "sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==",
+ "dependencies": {
+ "fast-deep-equal": "fast-deep-equal@2.0.1"
+ }
+ },
+ "react-property@2.0.0": {
+ "integrity": "sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==",
+ "dependencies": {}
+ },
+ "react-remove-scroll-bar@2.3.6_react@18.3.1": {
+ "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
+ "dependencies": {
+ "react": "react@18.3.1",
+ "react-style-singleton": "react-style-singleton@2.2.1_react@18.3.1",
+ "tslib": "tslib@2.7.0"
+ }
+ },
+ "react-remove-scroll@2.6.0_react@18.3.1": {
+ "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==",
+ "dependencies": {
+ "react": "react@18.3.1",
+ "react-remove-scroll-bar": "react-remove-scroll-bar@2.3.6_react@18.3.1",
+ "react-style-singleton": "react-style-singleton@2.2.1_react@18.3.1",
+ "tslib": "tslib@2.7.0",
+ "use-callback-ref": "use-callback-ref@1.3.2_react@18.3.1",
+ "use-sidecar": "use-sidecar@1.1.2_react@18.3.1"
+ }
+ },
+ "react-style-singleton@2.2.1_react@18.3.1": {
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "dependencies": {
+ "get-nonce": "get-nonce@1.0.1",
+ "invariant": "invariant@2.2.4",
+ "react": "react@18.3.1",
+ "tslib": "tslib@2.7.0"
+ }
+ },
+ "react@18.2.0": {
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dependencies": {
+ "loose-envify": "loose-envify@1.4.0"
+ }
+ },
+ "react@18.3.1": {
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "dependencies": {
+ "loose-envify": "loose-envify@1.4.0"
+ }
+ },
+ "read-cache@1.0.0": {
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dependencies": {
+ "pify": "pify@2.3.0"
+ }
+ },
+ "readdirp@3.6.0": {
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "picomatch@2.3.1"
+ }
+ },
+ "regenerator-runtime@0.14.1": {
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dependencies": {}
+ },
"require-directory@2.1.1": {
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dependencies": {}
@@ -379,6 +1792,52 @@
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"dependencies": {}
},
+ "resend@4.0.0_react@18.3.1": {
+ "integrity": "sha512-rDX0rspl/XcmC2JV2V5obQvRX2arzxXUvNFUDMOv5ObBLR68+7kigCOysb7+dlkb0JE3erhQG0nHrbBt/ZCWIg==",
+ "dependencies": {
+ "@react-email/render": "@react-email/render@0.0.17_react@18.3.1_react-dom@18.3.1__react@18.3.1"
+ }
+ },
+ "resolve@1.22.8": {
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dependencies": {
+ "is-core-module": "is-core-module@2.15.1",
+ "path-parse": "path-parse@1.0.7",
+ "supports-preserve-symlinks-flag": "supports-preserve-symlinks-flag@1.0.0"
+ }
+ },
+ "reusify@1.0.4": {
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dependencies": {}
+ },
+ "run-parallel@1.2.0": {
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dependencies": {
+ "queue-microtask": "queue-microtask@1.2.3"
+ }
+ },
+ "scheduler@0.23.2": {
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "dependencies": {
+ "loose-envify": "loose-envify@1.4.0"
+ }
+ },
+ "selderee@0.10.0": {
+ "integrity": "sha512-DEL/RW/f4qLw/NrVg97xKaEBC8IpzIG2fvxnzCp3Z4yk4jQ3MXom+Imav9wApjxX2dfS3eW7x0DXafJr85i39A==",
+ "dependencies": {
+ "parseley": "parseley@0.11.0"
+ }
+ },
+ "selderee@0.11.0": {
+ "integrity": "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==",
+ "dependencies": {
+ "parseley": "parseley@0.12.1"
+ }
+ },
+ "semver@7.6.3": {
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dependencies": {}
+ },
"set-blocking@2.0.0": {
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
"dependencies": {}
@@ -394,6 +1853,16 @@
"has-property-descriptors": "has-property-descriptors@1.0.2"
}
},
+ "shebang-command@2.0.0": {
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dependencies": {
+ "shebang-regex": "shebang-regex@3.0.0"
+ }
+ },
+ "shebang-regex@3.0.0": {
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dependencies": {}
+ },
"side-channel@1.0.6": {
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dependencies": {
@@ -403,6 +1872,10 @@
"object-inspect": "object-inspect@1.13.2"
}
},
+ "signal-exit@4.1.0": {
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dependencies": {}
+ },
"smart-buffer@4.2.0": {
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"dependencies": {}
@@ -414,10 +1887,18 @@
"smart-buffer": "smart-buffer@4.2.0"
}
},
+ "source-map-js@1.2.1": {
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dependencies": {}
+ },
"sprintf-js@1.1.3": {
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
"dependencies": {}
},
+ "streamsearch@1.1.0": {
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "dependencies": {}
+ },
"string-width@4.2.3": {
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": {
@@ -426,16 +1907,113 @@
"strip-ansi": "strip-ansi@6.0.1"
}
},
+ "string-width@5.1.2": {
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dependencies": {
+ "eastasianwidth": "eastasianwidth@0.2.0",
+ "emoji-regex": "emoji-regex@9.2.2",
+ "strip-ansi": "strip-ansi@7.1.0"
+ }
+ },
"strip-ansi@6.0.1": {
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dependencies": {
"ansi-regex": "ansi-regex@5.0.1"
}
},
+ "strip-ansi@7.1.0": {
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dependencies": {
+ "ansi-regex": "ansi-regex@6.1.0"
+ }
+ },
+ "style-to-js@1.1.3": {
+ "integrity": "sha512-zKI5gN/zb7LS/Vm0eUwjmjrXWw8IMtyA8aPBJZdYiQTXj4+wQ3IucOLIOnF7zCHxvW8UhIGh/uZh/t9zEHXNTQ==",
+ "dependencies": {
+ "style-to-object": "style-to-object@0.4.1"
+ }
+ },
+ "style-to-object@0.4.1": {
+ "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==",
+ "dependencies": {
+ "inline-style-parser": "inline-style-parser@0.1.1"
+ }
+ },
+ "styled-jsx@5.1.1_react@18.3.1": {
+ "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
+ "dependencies": {
+ "client-only": "client-only@0.0.1",
+ "react": "react@18.3.1"
+ }
+ },
+ "super-regex@0.2.0": {
+ "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==",
+ "dependencies": {
+ "clone-regexp": "clone-regexp@3.0.0",
+ "function-timeout": "function-timeout@0.1.1",
+ "time-span": "time-span@5.1.0"
+ }
+ },
+ "supports-preserve-symlinks-flag@1.0.0": {
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dependencies": {}
+ },
+ "tailwindcss@3.2.7_postcss@8.4.21": {
+ "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==",
+ "dependencies": {
+ "arg": "arg@5.0.2",
+ "chokidar": "chokidar@3.6.0",
+ "color-name": "color-name@1.1.4",
+ "detective": "detective@5.2.1",
+ "didyoumean": "didyoumean@1.2.2",
+ "dlv": "dlv@1.1.3",
+ "fast-glob": "fast-glob@3.3.2",
+ "glob-parent": "glob-parent@6.0.2",
+ "is-glob": "is-glob@4.0.3",
+ "lilconfig": "lilconfig@2.1.0",
+ "micromatch": "micromatch@4.0.8",
+ "normalize-path": "normalize-path@3.0.0",
+ "object-hash": "object-hash@3.0.0",
+ "picocolors": "picocolors@1.1.0",
+ "postcss": "postcss@8.4.21",
+ "postcss-import": "postcss-import@14.1.0_postcss@8.4.21",
+ "postcss-js": "postcss-js@4.0.1_postcss@8.4.21",
+ "postcss-load-config": "postcss-load-config@3.1.4_postcss@8.4.21",
+ "postcss-nested": "postcss-nested@6.0.0_postcss@8.4.21",
+ "postcss-selector-parser": "postcss-selector-parser@6.1.2",
+ "postcss-value-parser": "postcss-value-parser@4.2.0",
+ "quick-lru": "quick-lru@5.1.1",
+ "resolve": "resolve@1.22.8"
+ }
+ },
+ "time-span@5.1.0": {
+ "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==",
+ "dependencies": {
+ "convert-hrtime": "convert-hrtime@5.0.0"
+ }
+ },
+ "to-regex-range@5.0.1": {
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "is-number@7.0.0"
+ }
+ },
"tr46@0.0.3": {
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dependencies": {}
},
+ "tslib@2.7.0": {
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
+ "dependencies": {}
+ },
+ "tw-to-css@0.0.11_postcss@8.4.21": {
+ "integrity": "sha512-uIJuEBIwyHzZg9xyGyEgDWHIkbAwEC4bhEHQ4THPuN5SToR7Zlhes5ffMjqtrv+WdtTmudTHTdc9VwUldy0FxQ==",
+ "dependencies": {
+ "postcss": "postcss@8.4.21",
+ "postcss-css-variables": "postcss-css-variables@0.18.0_postcss@8.4.21",
+ "tailwindcss": "tailwindcss@3.2.7_postcss@8.4.21"
+ }
+ },
"underscore@1.13.7": {
"integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==",
"dependencies": {}
@@ -444,6 +2022,38 @@
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
"dependencies": {}
},
+ "use-callback-ref@1.3.2_react@18.3.1": {
+ "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==",
+ "dependencies": {
+ "react": "react@18.3.1",
+ "tslib": "tslib@2.7.0"
+ }
+ },
+ "use-sidecar@1.1.2_react@18.3.1": {
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "dependencies": {
+ "detect-node-es": "detect-node-es@1.1.0",
+ "react": "react@18.3.1",
+ "tslib": "tslib@2.7.0"
+ }
+ },
+ "use-sync-external-store@1.2.2_react@18.3.1": {
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
+ "dependencies": {
+ "react": "react@18.3.1"
+ }
+ },
+ "util-deprecate@1.0.2": {
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dependencies": {}
+ },
+ "watchpack@2.4.0": {
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "dependencies": {
+ "glob-to-regexp": "glob-to-regexp@0.4.1",
+ "graceful-fs": "graceful-fs@4.2.11"
+ }
+ },
"web-streams-polyfill@4.0.0-beta.3": {
"integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
"dependencies": {}
@@ -463,6 +2073,12 @@
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
"dependencies": {}
},
+ "which@2.0.2": {
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dependencies": {
+ "isexe": "isexe@2.0.0"
+ }
+ },
"whois@2.14.2": {
"integrity": "sha512-JzH7/WUC4L59hPKwc6lZ59OpeBDcG+axt9vBYeQg1DCtrlwyxTUzorhI58nEWHmN+R/RtiUi9MdQ6NE9TmPREQ==",
"dependencies": {
@@ -486,14 +2102,38 @@
"strip-ansi": "strip-ansi@6.0.1"
}
},
+ "wrap-ansi@7.0.0": {
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "ansi-styles@4.3.0",
+ "string-width": "string-width@4.2.3",
+ "strip-ansi": "strip-ansi@6.0.1"
+ }
+ },
+ "wrap-ansi@8.1.0": {
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dependencies": {
+ "ansi-styles": "ansi-styles@6.2.1",
+ "string-width": "string-width@5.1.2",
+ "strip-ansi": "strip-ansi@7.1.0"
+ }
+ },
"ws@8.18.0": {
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
"dependencies": {}
},
+ "xtend@4.0.2": {
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dependencies": {}
+ },
"y18n@4.0.3": {
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
"dependencies": {}
},
+ "yaml@1.10.2": {
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "dependencies": {}
+ },
"yargs-parser@18.1.3": {
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dependencies": {
@@ -516,6 +2156,10 @@
"y18n": "y18n@4.0.3",
"yargs-parser": "yargs-parser@18.1.3"
}
+ },
+ "zod@3.23.8": {
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "dependencies": {}
}
}
},
diff --git a/supabase/config.toml b/supabase/config.toml
index 23e268d..feff573 100644
--- a/supabase/config.toml
+++ b/supabase/config.toml
@@ -49,3 +49,9 @@ vector_port = 54328
gcp_project_id = ""
gcp_project_number = ""
gcp_jwt_path = "supabase/gcloud.json"
+
+[functions.notify-domain-status-change]
+enabled = true
+
+[functions.update-whois]
+enabled = true
diff --git a/supabase/functions/_email/StatusChangeNotificationEmail.tsx b/supabase/functions/_email/StatusChangeNotificationEmail.tsx
new file mode 100644
index 0000000..a4883d9
--- /dev/null
+++ b/supabase/functions/_email/StatusChangeNotificationEmail.tsx
@@ -0,0 +1,151 @@
+import {
+ Body,
+ Column,
+ Container,
+ Head,
+ Heading,
+ Html,
+ Link,
+ Preview,
+ Row,
+ Section,
+ Text,
+} from '@react-email/components'
+import { format } from 'date-fns'
+import * as React from 'react'
+
+interface StatusChangeNotificationEmailProps {
+ domain_name: string
+ previous_status: string
+ new_status: string
+ updated_at: Date
+}
+
+export const StatusChangeNotificationEmail = ({
+ domain_name,
+ previous_status,
+ new_status,
+ updated_at,
+}: StatusChangeNotificationEmailProps) => {
+ const previewText = `Status update for ${domain_name}: ${previous_status} → ${new_status}`
+
+ return (
+
+
+ {previewText}
+
+
+
+ Domain Status Update for {domain_name}
+
+
+
+ Status changed from
+
+
+
+ {previous_status}
+
+
+ to
+
+
+ {new_status}
+
+
+
+
+ Updated on {format(updated_at, "MMMM do, yyyy 'at' h:mm:ss a")}
+
+
+
+
+ This email was sent by{' '}
+
+ side.domains
+
+ . If you don't want to receive status notifications for this domain,{' '}
+
+ visit the dashboard
+
+ .
+
+
+
+
+ )
+}
+
+const main = {
+ backgroundColor: '#ffffff',
+ fontFamily: '-apple-system, "Segoe UI", sans-serif',
+}
+
+const container = {
+ maxWidth: '600px',
+ margin: '0 auto',
+ padding: '20px',
+}
+
+const heading = {
+ color: '#111827',
+ fontSize: '24px',
+ fontWeight: '400',
+ textAlign: 'left',
+ margin: '16px 0',
+}
+
+const section = {
+ backgroundColor: '#f3f4f6',
+ borderRadius: '12px',
+ padding: '24px',
+ margin: '24px 0',
+}
+
+const statusRow = {
+ display: 'flex',
+ alignItems: 'center',
+ gap: '12px',
+}
+
+const statusText = {
+ color: '#4b5563',
+ fontSize: '16px',
+ margin: '12px 0',
+}
+
+const statusTextTo = {
+ ...statusText,
+ margin: '12px',
+}
+
+const statusPill = {
+ backgroundColor: '#6b7280',
+ color: '#ffffff',
+ padding: '8px 16px',
+ borderRadius: '16px',
+ fontSize: '14px',
+ fontWeight: '500',
+ display: 'inline-block',
+}
+
+const timestamp = {
+ color: '#6b7280',
+ fontSize: '14px',
+ margin: '20px 0 0 0',
+}
+
+const footer = {
+ color: '#6b7280',
+ fontSize: '14px',
+ lineHeight: '24px',
+ margin: '32px 0',
+ textAlign: 'center',
+}
+
+const link = {
+ color: '#2563eb',
+ textDecoration: 'underline',
+}
+
+export default StatusChangeNotificationEmail
diff --git a/supabase/functions/import_map.json b/supabase/functions/import_map.json
index ba71c41..433a058 100644
--- a/supabase/functions/import_map.json
+++ b/supabase/functions/import_map.json
@@ -1,5 +1,10 @@
{
"imports": {
- "@supabase/supabase-js": "jsr:@supabase/supabase-js@^2.45.4"
+ "@react-email/components": "npm:@react-email/components@^0.0.25",
+ "@supabase/supabase-js": "jsr:@supabase/supabase-js@^2.45.4",
+ "date-fns": "npm:date-fns@^4.1.0",
+ "react": "npm:react@^18.3.1",
+ "react-dom": "npm:react-dom@^18.3.1",
+ "resend": "npm:resend@^4.0.0"
}
}
diff --git a/supabase/functions/notify-domain-status-change/index.ts b/supabase/functions/notify-domain-status-change/index.ts
new file mode 100644
index 0000000..76ae11a
--- /dev/null
+++ b/supabase/functions/notify-domain-status-change/index.ts
@@ -0,0 +1,60 @@
+import 'jsr:@supabase/functions-js/edge-runtime.d.ts'
+
+import { createClient } from '@supabase/supabase-js'
+import { Resend } from 'resend'
+import StatusChangeNotificationEmail from '../_email/StatusChangeNotificationEmail.tsx'
+
+const resend = new Resend(Deno.env.get('RESEND_API_KEY')!)
+
+Deno.serve(async (req) => {
+ if (req.method !== 'POST') {
+ return new Response(null, { status: 405 })
+ }
+
+ const serviceRoleKey = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')
+ const token = req.headers.get('Authorization')?.replace('Bearer ', '')
+
+ if (!serviceRoleKey || !token || token !== serviceRoleKey) {
+ return new Response(null, { status: 401 })
+ }
+
+ const supabaseAdmin = createClient(
+ Deno.env.get('SUPABASE_URL')!,
+ Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!
+ )
+
+ const { new_status, previous_status, domain_name_id } = await req.json()
+
+ const { data } = await supabaseAdmin
+ .from('domain_names')
+ .select()
+ .eq('id', domain_name_id)
+ .maybeSingle()
+
+ if (!data) {
+ return new Response(null, { status: 404 })
+ }
+
+ const { domain_name, updated_at } = data
+
+ const { error } = await resend.emails.send({
+ from: 'side.domains Notifications ',
+ to: 'a@alaisteryoung.com',
+ subject: `Status update for ${data.domain_name}: ${previous_status} → ${new_status}`,
+ react: StatusChangeNotificationEmail({
+ domain_name,
+ previous_status,
+ new_status,
+ updated_at,
+ }),
+ })
+
+ if (error) {
+ console.error('error sending email:', error)
+ return new Response(null, { status: 500 })
+ }
+
+ return new Response(JSON.stringify({ sent: true }), {
+ headers: { 'Content-Type': 'application/json' },
+ })
+})
diff --git a/supabase/migrations/20240917123202_update_whois_function.sql b/supabase/migrations/20240917123202_update_whois_function.sql
index fb4593a..859dba9 100644
--- a/supabase/migrations/20240917123202_update_whois_function.sql
+++ b/supabase/migrations/20240917123202_update_whois_function.sql
@@ -31,7 +31,9 @@ begin
'Content-Type','application/json',
'Authorization', concat('Bearer ', v_supabase_service_role_key)
),
- body := concat('{"id": "', v_domain_name_id::text, '"}')::jsonb
+ body := jsonb_build_object(
+ 'id', v_domain_name_id::text
+ )
);
end;
$$ language plpgsql security invoker volatile;
diff --git a/supabase/migrations/20241026160057_notify_domain_status_change.sql b/supabase/migrations/20241026160057_notify_domain_status_change.sql
new file mode 100644
index 0000000..c55a72c
--- /dev/null
+++ b/supabase/migrations/20241026160057_notify_domain_status_change.sql
@@ -0,0 +1,41 @@
+create
+or replace function public.notify_domain_status_change () returns trigger as $$
+declare
+ v_supabase_url text;
+ v_supabase_service_role_key text;
+begin
+ select decrypted_secret into v_supabase_url
+ from vault.decrypted_secrets
+ where name = 'supabase-url';
+
+ select decrypted_secret into v_supabase_service_role_key
+ from vault.decrypted_secrets
+ where name = 'supabase-service-role-key';
+
+ perform net.http_post(
+ url := concat(v_supabase_url, '/functions/v1/notify-domain-status-change'),
+ headers := jsonb_build_object(
+ 'Content-Type','application/json',
+ 'Authorization', concat('Bearer ', v_supabase_service_role_key)
+ ),
+ body := jsonb_build_object(
+ 'domain_name_id', new.id,
+ 'previous_status', old.status,
+ 'new_status', new.status
+ )
+ );
+
+ return new;
+end;
+$$ language plpgsql volatile;
+
+create trigger notify_domain_status_change
+after
+update on public.domain_names for each row when (
+ new.status_change_notifications_enabled = true
+ and old.status <> 'unknown'::domain_name_status
+ and old.status is distinct
+ from
+ new.status
+)
+execute procedure public.notify_domain_status_change ();
\ No newline at end of file