From 7fa5560d8dde407d9c46aea576b5537108aa9d63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20K=C3=BCndig?= Date: Thu, 23 Nov 2023 13:08:17 +0100 Subject: [PATCH] refactor(general): add vercel analytics and upgrade dependencies (#646) --- .github/workflows/actions/init/action.yml | 2 +- .github/workflows/prettify-pr.yml | 4 +- .../workflows/website-update-snapshots.yml | 2 +- admin/package.json | 38 +- functions/package.json | 28 +- package-lock.json | 1465 ++++++++++++----- package.json | 10 +- shared/package.json | 18 +- shared/src/firebase/client/init.ts | 30 +- .../src/stripe/StripeWebhookHandler.test.ts | 1 + shared/src/utils/messaging/email.ts | 12 +- shared/src/utils/messaging/whatsapp.ts | 9 +- shared/src/utils/templates.ts | 9 +- ui/CONTRIBUTING.md | 8 +- ui/src/components/carousel.tsx | 11 +- ui/src/components/form.tsx | 6 +- ui/src/components/typography/typography.tsx | 13 +- website/package.json | 33 +- .../[currency]/charts/transparency-charts.tsx | 9 +- .../finances/[currency]/info-card.tsx | 12 +- website/src/app/context-providers.tsx | 10 +- website/src/components/i18n-dialog.tsx | 10 +- .../src/components/navbar/navbar-client.tsx | 13 +- website/src/components/ui/book.tsx | 15 +- 24 files changed, 1194 insertions(+), 574 deletions(-) diff --git a/.github/workflows/actions/init/action.yml b/.github/workflows/actions/init/action.yml index b732b43e9..0da0c66c3 100644 --- a/.github/workflows/actions/init/action.yml +++ b/.github/workflows/actions/init/action.yml @@ -27,7 +27,7 @@ runs: - name: Install and set up firebase-tools shell: bash run: | - npm -g install firebase-tools@12.7.0 && \ + npm -g install firebase-tools@12.9.1 && \ firebase setup:emulators:firestore && \ firebase setup:emulators:storage && \ firebase setup:emulators:ui diff --git a/.github/workflows/prettify-pr.yml b/.github/workflows/prettify-pr.yml index e0838e2b9..892cf7b68 100644 --- a/.github/workflows/prettify-pr.yml +++ b/.github/workflows/prettify-pr.yml @@ -22,7 +22,7 @@ jobs: - name: Prettify code uses: creyD/prettier_action@v4.3 with: - prettier_version: "3.0.0" - prettier_plugins: "prettier-plugin-organize-imports@3.2.3 prettier-plugin-tailwindcss@0.4.1" + prettier_version: "3.1.0" + prettier_plugins: "prettier-plugin-organize-imports@3.2.4 prettier-plugin-tailwindcss@0.5.7" prettier_options: "--write ./" github_token: ${{ secrets.WORKFLOW_TOKEN }} diff --git a/.github/workflows/website-update-snapshots.yml b/.github/workflows/website-update-snapshots.yml index b2ba0a374..7f731d8d6 100644 --- a/.github/workflows/website-update-snapshots.yml +++ b/.github/workflows/website-update-snapshots.yml @@ -61,7 +61,7 @@ jobs: - name: Install & Setup Firebase Emulator Suite run: | - npm -g install firebase-tools@12.7.0 && \ + npm -g install firebase-tools@12.9.1 && \ firebase setup:emulators:firestore - name: Install Dependencies diff --git a/admin/package.json b/admin/package.json index c3fa3c78e..351875f4b 100644 --- a/admin/package.json +++ b/admin/package.json @@ -17,41 +17,41 @@ "devDependencies": { "@firebase/rules-unit-testing": "^3.0.1", "@jest/globals": "^29.7.0", - "@playwright/test": "^1.39.0", - "@types/jest": "^29.5.6", - "@types/luxon": "^3.3.3", - "@types/node": "^20.8.9", - "@types/react": "^18.2.33", - "@types/react-dom": "^18.2.14", - "@vitejs/plugin-react": "^4.1.0", + "@playwright/test": "^1.40.0", + "@types/jest": "^29.5.10", + "@types/luxon": "^3.3.5", + "@types/node": "^20.9.4", + "@types/react": "^18.2.38", + "@types/react-dom": "^18.2.17", + "@vitejs/plugin-react": "^4.2.0", "css-loader": "^6.8.1", "jest": "^29.7.0", "process": "^0.11.10", "style-loader": "^3.3.3", "ts-jest": "^29.1.1", - "ts-loader": "^9.5.0", + "ts-loader": "^9.5.1", "ts-node": "^10.9.1", - "typescript": "^5.2.2", - "vite": "^4.5.0" + "typescript": "^5.3.2", + "vite": "^5.0.2" }, "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.15", - "@mui/lab": "^5.0.0-alpha.150", - "@mui/material": "^5.14.15", - "@mui/x-data-grid": "^6.18.0", - "@mui/x-date-pickers": "^6.18.0", + "@mui/icons-material": "^5.14.18", + "@mui/lab": "^5.0.0-alpha.153", + "@mui/material": "^5.14.18", + "@mui/x-data-grid": "^6.18.1", + "@mui/x-date-pickers": "^6.18.1", "@socialincome/shared": "^1.0.0", "algoliasearch": "^4.20.0", "firebase": "^9.23.0", - "firecms": "2.1.0", + "firecms": "2.2.0", "lodash": "^4.17.21", - "luxon": "^3.4.3", + "luxon": "^3.4.4", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router": "^6.17.0", - "react-router-dom": "^6.17.0", + "react-router": "^6.20.0", + "react-router-dom": "^6.20.0", "react-scripts": "^5.0.1" }, "browserslist": { diff --git a/functions/package.json b/functions/package.json index b277cdcf9..97fa267e3 100644 --- a/functions/package.json +++ b/functions/package.json @@ -17,36 +17,36 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@playwright/test": "^1.39.0", - "@types/imap-simple": "^4.2.8", - "@types/jest": "^29.5.6", - "@types/luxon": "^3.3.3", - "@types/mailparser": "^3.4.3", - "@types/pdfkit": "^0.13.1", + "@playwright/test": "^1.40.0", + "@types/imap-simple": "^4.2.9", + "@types/jest": "^29.5.10", + "@types/luxon": "^3.3.5", + "@types/mailparser": "^3.4.4", + "@types/pdfkit": "^0.13.3", "firebase-functions-test": "^3.1.0", "jest": "^29.7.0", "request": "^2.88.2", "ts-jest": "^29.1.1", - "ts-loader": "^9.5.0", - "typescript": "^5.2.2" + "ts-loader": "^9.5.1", + "typescript": "^5.3.2" }, "dependencies": { "@xmldom/xmldom": "^0.8.10", - "axios": "^1.6.0", + "axios": "^1.6.2", "dotenv": "^16.3.1", "firebase-admin": "^11.11.0", - "firebase-functions": "^4.4.1", + "firebase-functions": "^4.5.0", "handlebars": "^4.7.8", "handlebars-i18next": "^1.0.3", - "i18next-resources-to-backend": "^1.1.4", + "i18next-resources-to-backend": "^1.2.0", "imap-simple": "^5.1.0", "lodash": "^4.17.21", - "luxon": "^3.4.3", + "luxon": "^3.4.4", "mailparser": "^3.6.5", "mjml": "^4.14.1", "nodemailer": "^6.9.7", - "pdfkit": "^0.13.0", - "stripe": "^14.2.0", + "pdfkit": "^0.14.0", + "stripe": "^14.5.0", "tmp-promise": "^3.0.3", "twilio": "^4.19.0", "xpath": "^0.0.33" diff --git a/package-lock.json b/package-lock.json index 884bf89da..49ea2262e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,11 @@ "website" ], "devDependencies": { - "firebase-tools": "12.7.0", - "prettier": "3.0.3", - "prettier-plugin-organize-imports": "3.2.3", - "prettier-plugin-tailwindcss": "0.5.6", - "typescript": "^5.2.2" + "firebase-tools": "12.9.1", + "prettier": "3.1.0", + "prettier-plugin-organize-imports": "3.2.4", + "prettier-plugin-tailwindcss": "0.5.7", + "typescript": "^5.3.2" } }, "admin": { @@ -29,42 +29,514 @@ "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.15", - "@mui/lab": "^5.0.0-alpha.150", - "@mui/material": "^5.14.15", - "@mui/x-data-grid": "^6.18.0", - "@mui/x-date-pickers": "^6.18.0", + "@mui/icons-material": "^5.14.18", + "@mui/lab": "^5.0.0-alpha.153", + "@mui/material": "^5.14.18", + "@mui/x-data-grid": "^6.18.1", + "@mui/x-date-pickers": "^6.18.1", "@socialincome/shared": "^1.0.0", "algoliasearch": "^4.20.0", "firebase": "^9.23.0", - "firecms": "2.1.0", + "firecms": "2.2.0", "lodash": "^4.17.21", - "luxon": "^3.4.3", + "luxon": "^3.4.4", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router": "^6.17.0", - "react-router-dom": "^6.17.0", + "react-router": "^6.20.0", + "react-router-dom": "^6.20.0", "react-scripts": "^5.0.1" }, "devDependencies": { "@firebase/rules-unit-testing": "^3.0.1", "@jest/globals": "^29.7.0", - "@playwright/test": "^1.39.0", - "@types/jest": "^29.5.6", - "@types/luxon": "^3.3.3", - "@types/node": "^20.8.9", - "@types/react": "^18.2.33", - "@types/react-dom": "^18.2.14", - "@vitejs/plugin-react": "^4.1.0", + "@playwright/test": "^1.40.0", + "@types/jest": "^29.5.10", + "@types/luxon": "^3.3.5", + "@types/node": "^20.9.4", + "@types/react": "^18.2.38", + "@types/react-dom": "^18.2.17", + "@vitejs/plugin-react": "^4.2.0", "css-loader": "^6.8.1", "jest": "^29.7.0", "process": "^0.11.10", "style-loader": "^3.3.3", "ts-jest": "^29.1.1", - "ts-loader": "^9.5.0", + "ts-loader": "^9.5.1", "ts-node": "^10.9.1", - "typescript": "^5.2.2", - "vite": "^4.5.0" + "typescript": "^5.3.2", + "vite": "^5.0.2" + } + }, + "admin/node_modules/@esbuild/android-arm": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.7.tgz", + "integrity": "sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/android-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.7.tgz", + "integrity": "sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/android-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.7.tgz", + "integrity": "sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/darwin-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.7.tgz", + "integrity": "sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/darwin-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.7.tgz", + "integrity": "sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.7.tgz", + "integrity": "sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/freebsd-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.7.tgz", + "integrity": "sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-arm": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.7.tgz", + "integrity": "sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.7.tgz", + "integrity": "sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-ia32": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.7.tgz", + "integrity": "sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-loong64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.7.tgz", + "integrity": "sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-mips64el": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.7.tgz", + "integrity": "sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-ppc64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.7.tgz", + "integrity": "sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-riscv64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.7.tgz", + "integrity": "sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-s390x": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.7.tgz", + "integrity": "sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/linux-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.7.tgz", + "integrity": "sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/netbsd-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.7.tgz", + "integrity": "sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/openbsd-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.7.tgz", + "integrity": "sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/sunos-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.7.tgz", + "integrity": "sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/win32-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.7.tgz", + "integrity": "sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/win32-ia32": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.7.tgz", + "integrity": "sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/@esbuild/win32-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.7.tgz", + "integrity": "sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "admin/node_modules/esbuild": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.7.tgz", + "integrity": "sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.7", + "@esbuild/android-arm64": "0.19.7", + "@esbuild/android-x64": "0.19.7", + "@esbuild/darwin-arm64": "0.19.7", + "@esbuild/darwin-x64": "0.19.7", + "@esbuild/freebsd-arm64": "0.19.7", + "@esbuild/freebsd-x64": "0.19.7", + "@esbuild/linux-arm": "0.19.7", + "@esbuild/linux-arm64": "0.19.7", + "@esbuild/linux-ia32": "0.19.7", + "@esbuild/linux-loong64": "0.19.7", + "@esbuild/linux-mips64el": "0.19.7", + "@esbuild/linux-ppc64": "0.19.7", + "@esbuild/linux-riscv64": "0.19.7", + "@esbuild/linux-s390x": "0.19.7", + "@esbuild/linux-x64": "0.19.7", + "@esbuild/netbsd-x64": "0.19.7", + "@esbuild/openbsd-x64": "0.19.7", + "@esbuild/sunos-x64": "0.19.7", + "@esbuild/win32-arm64": "0.19.7", + "@esbuild/win32-ia32": "0.19.7", + "@esbuild/win32-x64": "0.19.7" + } + }, + "admin/node_modules/rollup": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.5.1.tgz", + "integrity": "sha512-0EQribZoPKpb5z1NW/QYm3XSR//Xr8BeEXU49Lc/mQmpmVVG5jPUVrpc2iptup/0WMrY9mzas0fxH+TjYvG2CA==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.5.1", + "@rollup/rollup-android-arm64": "4.5.1", + "@rollup/rollup-darwin-arm64": "4.5.1", + "@rollup/rollup-darwin-x64": "4.5.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.5.1", + "@rollup/rollup-linux-arm64-gnu": "4.5.1", + "@rollup/rollup-linux-arm64-musl": "4.5.1", + "@rollup/rollup-linux-x64-gnu": "4.5.1", + "@rollup/rollup-linux-x64-musl": "4.5.1", + "@rollup/rollup-win32-arm64-msvc": "4.5.1", + "@rollup/rollup-win32-ia32-msvc": "4.5.1", + "@rollup/rollup-win32-x64-msvc": "4.5.1", + "fsevents": "~2.3.2" + } + }, + "admin/node_modules/vite": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.2.tgz", + "integrity": "sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.31", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, "functions": { @@ -72,39 +544,39 @@ "version": "1.0.0", "dependencies": { "@xmldom/xmldom": "^0.8.10", - "axios": "^1.6.0", + "axios": "^1.6.2", "dotenv": "^16.3.1", "firebase-admin": "^11.11.0", - "firebase-functions": "^4.4.1", + "firebase-functions": "^4.5.0", "handlebars": "^4.7.8", "handlebars-i18next": "^1.0.3", - "i18next-resources-to-backend": "^1.1.4", + "i18next-resources-to-backend": "^1.2.0", "imap-simple": "^5.1.0", "lodash": "^4.17.21", - "luxon": "^3.4.3", + "luxon": "^3.4.4", "mailparser": "^3.6.5", "mjml": "^4.14.1", "nodemailer": "^6.9.7", - "pdfkit": "^0.13.0", - "stripe": "^14.2.0", + "pdfkit": "^0.14.0", + "stripe": "^14.5.0", "tmp-promise": "^3.0.3", "twilio": "^4.19.0", "xpath": "^0.0.33" }, "devDependencies": { "@jest/globals": "^29.7.0", - "@playwright/test": "^1.39.0", - "@types/imap-simple": "^4.2.8", - "@types/jest": "^29.5.6", - "@types/luxon": "^3.3.3", - "@types/mailparser": "^3.4.3", - "@types/pdfkit": "^0.13.1", + "@playwright/test": "^1.40.0", + "@types/imap-simple": "^4.2.9", + "@types/jest": "^29.5.10", + "@types/luxon": "^3.3.5", + "@types/mailparser": "^3.4.4", + "@types/pdfkit": "^0.13.3", "firebase-functions-test": "^3.1.0", "jest": "^29.7.0", "request": "^2.88.2", "ts-jest": "^29.1.1", - "ts-loader": "^9.5.0", - "typescript": "^5.2.2" + "ts-loader": "^9.5.1", + "typescript": "^5.3.2" }, "engines": { "node": "18" @@ -315,11 +787,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -391,20 +863,20 @@ } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/generator": "^7.23.3", "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", + "@babel/parser": "^7.23.3", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -482,11 +954,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.4", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -697,9 +1169,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -799,9 +1271,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -849,9 +1321,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -918,9 +1390,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1993,9 +2465,9 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -2008,9 +2480,9 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -2585,18 +3057,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2626,11 +3098,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -3561,9 +4033,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -3645,9 +4117,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", - "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -4433,9 +4905,9 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", - "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz", + "integrity": "sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==", "dependencies": { "@floating-ui/dom": "^1.5.1" }, @@ -5578,14 +6050,14 @@ } }, "node_modules/@mui/base": { - "version": "5.0.0-beta.21", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.21.tgz", - "integrity": "sha512-eTKWx3WV/nwmRUK4z4K1MzlMyWCsi3WJ3RtV4DiXZeRh4qd4JCyp1Zzzi8Wv9xM4dEBmqQntFoei716PzwmFfA==", + "version": "5.0.0-beta.24", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.24.tgz", + "integrity": "sha512-bKt2pUADHGQtqWDZ8nvL2Lvg2GNJyd/ZUgZAJoYzRgmnxBL9j36MSlS3+exEdYkikcnvVafcBtD904RypFKb0w==", "dependencies": { "@babel/runtime": "^7.23.2", - "@floating-ui/react-dom": "^2.0.2", - "@mui/types": "^7.2.7", - "@mui/utils": "^5.14.15", + "@floating-ui/react-dom": "^2.0.4", + "@mui/types": "^7.2.9", + "@mui/utils": "^5.14.18", "@popperjs/core": "^2.11.8", "clsx": "^2.0.0", "prop-types": "^15.8.1" @@ -5617,18 +6089,18 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.14.15", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.15.tgz", - "integrity": "sha512-ZCDzBWtCKjAYAlKKM3PA/jG/3uVIDT9ZitOtVixIVmTCQyc5jSV1qhJX8+qIGz4RQZ9KLzPWO2tXd0O5hvzouQ==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.18.tgz", + "integrity": "sha512-yFpF35fEVDV81nVktu0BE9qn2dD/chs7PsQhlyaV3EnTeZi9RZBuvoEfRym1/jmhJ2tcfeWXiRuHG942mQXJJQ==", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui" } }, "node_modules/@mui/icons-material": { - "version": "5.14.15", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.15.tgz", - "integrity": "sha512-Dqu21vN/mVNzebJ+ofnKG+CeJYIhHuDs5+0fMEpdpzRt6UojelzdrEkNv+XkO0e1JMclzeXIRx404FirK/CFRw==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.18.tgz", + "integrity": "sha512-o2z49R1G4SdBaxZjbMmkn+2OdT1bKymLvAYaB6pH59obM1CYv/0vAVm6zO31IqhwtYwXv6A7sLIwCGYTaVkcdg==", "dependencies": { "@babel/runtime": "^7.23.2" }, @@ -5651,16 +6123,15 @@ } }, "node_modules/@mui/lab": { - "version": "5.0.0-alpha.150", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.150.tgz", - "integrity": "sha512-WmIQhIQh+Ur/atqt/s2AGVRjD29Bo4M8JYtJprL9Px6l/xOkjZQdRDXoBMpIJpiGIPWBxcnSFjnlJwgxjwAQWw==", + "version": "5.0.0-alpha.153", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.153.tgz", + "integrity": "sha512-vogVniN5JC7ltqPpPhIGYVImnvu0PnE1UbtFvbzVs3ldt3obWJ5XrhYS/OEV6H2/9dey3nUNU6i36FG1yreFDA==", "dependencies": { "@babel/runtime": "^7.23.2", - "@mui/base": "5.0.0-beta.21", - "@mui/system": "^5.14.15", - "@mui/types": "^7.2.7", - "@mui/utils": "^5.14.15", - "@mui/x-tree-view": "6.0.0-alpha.1", + "@mui/base": "5.0.0-beta.24", + "@mui/system": "^5.14.18", + "@mui/types": "^7.2.9", + "@mui/utils": "^5.14.18", "clsx": "^2.0.0", "prop-types": "^15.8.1" }, @@ -5700,17 +6171,17 @@ } }, "node_modules/@mui/material": { - "version": "5.14.15", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.15.tgz", - "integrity": "sha512-Gq65rHjvLzkxmhG8bvag851Oqsmru7qkUb/cCI2xu7dQzmY345f9xJRJi72sRGjhaqHXWeRKw/yIwp/7oQoeXg==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.18.tgz", + "integrity": "sha512-y3UiR/JqrkF5xZR0sIKj6y7xwuEiweh9peiN3Zfjy1gXWXhz5wjlaLdoxFfKIEBUFfeQALxr/Y8avlHH+B9lpQ==", "dependencies": { "@babel/runtime": "^7.23.2", - "@mui/base": "5.0.0-beta.21", - "@mui/core-downloads-tracker": "^5.14.15", - "@mui/system": "^5.14.15", - "@mui/types": "^7.2.7", - "@mui/utils": "^5.14.15", - "@types/react-transition-group": "^4.4.7", + "@mui/base": "5.0.0-beta.24", + "@mui/core-downloads-tracker": "^5.14.18", + "@mui/system": "^5.14.18", + "@mui/types": "^7.2.9", + "@mui/utils": "^5.14.18", + "@types/react-transition-group": "^4.4.8", "clsx": "^2.0.0", "csstype": "^3.1.2", "prop-types": "^15.8.1", @@ -5752,12 +6223,12 @@ } }, "node_modules/@mui/private-theming": { - "version": "5.14.15", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.15.tgz", - "integrity": "sha512-V2Xh+Tu6A07NoSpup0P9m29GwvNMYl5DegsGWqlOTJyAV7cuuVjmVPqxgvL8xBng4R85xqIQJRMjtYYktoPNuQ==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.18.tgz", + "integrity": "sha512-WSgjqRlzfHU+2Rou3HlR2Gqfr4rZRsvFgataYO3qQ0/m6gShJN+lhVEvwEiJ9QYyVzMDvNpXZAcqp8Y2Vl+PAw==", "dependencies": { "@babel/runtime": "^7.23.2", - "@mui/utils": "^5.14.15", + "@mui/utils": "^5.14.18", "prop-types": "^15.8.1" }, "engines": { @@ -5778,9 +6249,9 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.14.15", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.15.tgz", - "integrity": "sha512-mbOjRf867BysNpexe5Z/P8s3bWzDPNowmKhi7gtNDP/LPEeqAfiDSuC4WPTXmtvse1dCl30Nl755OLUYuoi7Mw==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.18.tgz", + "integrity": "sha512-pW8bpmF9uCB5FV2IPk6mfbQCjPI5vGI09NOLhtGXPeph/4xIfC3JdIX0TILU0WcTs3aFQqo6s2+1SFgIB9rCXA==", "dependencies": { "@babel/runtime": "^7.23.2", "@emotion/cache": "^11.11.0", @@ -5809,15 +6280,15 @@ } }, "node_modules/@mui/system": { - "version": "5.14.15", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.15.tgz", - "integrity": "sha512-zr0Gdk1RgKiEk+tCMB900LaOpEC8NaGvxtkmMdL/CXgkqQZSVZOt2PQsxJWaw7kE4YVkIe4VukFVc43qcq9u3w==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.18.tgz", + "integrity": "sha512-hSQQdb3KF72X4EN2hMEiv8EYJZSflfdd1TRaGPoR7CIAG347OxCslpBUwWngYobaxgKvq6xTrlIl+diaactVww==", "dependencies": { "@babel/runtime": "^7.23.2", - "@mui/private-theming": "^5.14.15", - "@mui/styled-engine": "^5.14.15", - "@mui/types": "^7.2.7", - "@mui/utils": "^5.14.15", + "@mui/private-theming": "^5.14.18", + "@mui/styled-engine": "^5.14.18", + "@mui/types": "^7.2.9", + "@mui/utils": "^5.14.18", "clsx": "^2.0.0", "csstype": "^3.1.2", "prop-types": "^15.8.1" @@ -5856,9 +6327,9 @@ } }, "node_modules/@mui/types": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.8.tgz", - "integrity": "sha512-9u0ji+xspl96WPqvrYJF/iO+1tQ1L5GTaDOeG3vCR893yy7VcWwRNiVMmPdPNpMDqx0WV1wtEW9OMwK9acWJzQ==", + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.9.tgz", + "integrity": "sha512-k1lN/PolaRZfNsRdAqXtcR71sTnv3z/VCCGPxU8HfdftDkzi335MdJ6scZxvofMAd/K/9EbzCZTFBmlNpQVdCg==", "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0" }, @@ -5869,12 +6340,12 @@ } }, "node_modules/@mui/utils": { - "version": "5.14.16", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.16.tgz", - "integrity": "sha512-3xV31GposHkwRbQzwJJuooWpK2ybWdEdeUPtRjv/6vjomyi97F3+68l+QVj9tPTvmfSbr2sx5c/NuvDulrdRmA==", + "version": "5.14.18", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.18.tgz", + "integrity": "sha512-HZDRsJtEZ7WMSnrHV9uwScGze4wM/Y+u6pDVo+grUjt5yXzn+wI8QX/JwTHh9YSw/WpnUL80mJJjgCnWj2VrzQ==", "dependencies": { "@babel/runtime": "^7.23.2", - "@types/prop-types": "^15.7.9", + "@types/prop-types": "^15.7.10", "prop-types": "^15.8.1", "react-is": "^18.2.0" }, @@ -5896,9 +6367,9 @@ } }, "node_modules/@mui/x-data-grid": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.18.0.tgz", - "integrity": "sha512-js7Qhv+8XLgXilghKZmfBgUbkP7dYt7V1HLkM4C9285jFRUDFgAM9L6PVlRyUMn+YhVVPbvy+SWT+VWC8rYeQQ==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.18.1.tgz", + "integrity": "sha512-ibsrWwzM2lRRWB1xs/eop63kaxlXH/qar1S1rQx3fycJiYvK6fsM72jsScBNRlRZQQwRVSGI0ZPBsOZ+/tg7Qw==", "dependencies": { "@babel/runtime": "^7.23.2", "@mui/utils": "^5.14.16", @@ -5929,9 +6400,9 @@ } }, "node_modules/@mui/x-date-pickers": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.18.0.tgz", - "integrity": "sha512-y4UlkHQXiNRfb6FWQ/GWir0sZ+9kL+GEEZssG+XWP3KJ+d3lONRteusl4AJkYJBdIAOh+5LnMV9RAQKq9Sl7yw==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.18.1.tgz", + "integrity": "sha512-22gWCzejBGG4Kycpk/yYhzV6Pj/xVBvaz5A1rQmCD/0DCXTDJvXPG8qvzrNlp1wj8q+rAQO82e/+conUGgYgYg==", "dependencies": { "@babel/runtime": "^7.23.2", "@mui/base": "^5.0.0-beta.22", @@ -5993,37 +6464,6 @@ } } }, - "node_modules/@mui/x-date-pickers/node_modules/@mui/base": { - "version": "5.0.0-beta.22", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.22.tgz", - "integrity": "sha512-l4asGID5tmyerx9emJfXOKLyXzaBtdXNIFE3M+IrSZaFtGFvaQKHhc3+nxxSxPf1+G44psjczM0ekRQCdXx9HA==", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@floating-ui/react-dom": "^2.0.2", - "@mui/types": "^7.2.8", - "@mui/utils": "^5.14.16", - "@popperjs/core": "^2.11.8", - "clsx": "^2.0.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/x-date-pickers/node_modules/clsx": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", @@ -6032,43 +6472,6 @@ "node": ">=6" } }, - "node_modules/@mui/x-tree-view": { - "version": "6.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-6.0.0-alpha.1.tgz", - "integrity": "sha512-JUG3HmBrmGEALbCFg1b+i7h726e1dWYZs4db3syO1j+Q++E3nbvE4Lehp5yGTFm+8esH0Tny50tuJaa4WX6VSA==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@mui/utils": "^5.14.3", - "@types/react-transition-group": "^4.4.6", - "clsx": "^2.0.0", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.5" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.9.0", - "@emotion/styled": "^11.8.1", - "@mui/base": "^5.0.0-alpha.87", - "@mui/material": "^5.8.6", - "@mui/system": "^5.8.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@mui/x-tree-view/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", - "engines": { - "node": ">=6" - } - }, "node_modules/@ndelangen/get-tarball": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz", @@ -6099,14 +6502,14 @@ } }, "node_modules/@next/env": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.0.0.tgz", - "integrity": "sha512-cIKhxkfVELB6hFjYsbtEeTus2mwrTC+JissfZYM0n+8Fv+g8ucUfOlm3VEDtwtwydZ0Nuauv3bl0qF82nnCAqA==" + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.0.3.tgz", + "integrity": "sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.0.tgz", - "integrity": "sha512-Ye37nNI09V3yt7pzuzSQtwlvuJ2CGzFszHXkcTHHZgNr7EhTMFLipn3VSJChy+e5+ahTdNApPphc3qCPUsn10A==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.3.tgz", + "integrity": "sha512-j4K0n+DcmQYCVnSAM+UByTVfIHnYQy2ODozfQP+4RdwtRDfobrIvKq1K4Exb2koJ79HSSa7s6B2SA8T/1YR3RA==", "dev": true, "dependencies": { "glob": "7.1.7" @@ -6133,9 +6536,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.0.tgz", - "integrity": "sha512-HQKi159jCz4SRsPesVCiNN6tPSAFUkOuSkpJsqYTIlbHLKr1mD6be/J0TvWV6fwJekj81bZV9V/Tgx3C2HO9lA==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.3.tgz", + "integrity": "sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==", "cpu": [ "arm64" ], @@ -6148,9 +6551,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.0.tgz", - "integrity": "sha512-4YyQLMSaCgX/kgC1jjF3s3xSoBnwHuDhnF6WA1DWNEYRsbOOPWjcYhv8TKhRe2ApdOam+VfQSffC4ZD+X4u1Cg==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.3.tgz", + "integrity": "sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==", "cpu": [ "x64" ], @@ -6163,9 +6566,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.0.tgz", - "integrity": "sha512-io7fMkJ28Glj7SH8yvnlD6naIhRDnDxeE55CmpQkj3+uaA2Hko6WGY2pT5SzpQLTnGGnviK85cy8EJ2qsETj/g==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.3.tgz", + "integrity": "sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==", "cpu": [ "arm64" ], @@ -6178,9 +6581,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.0.tgz", - "integrity": "sha512-nC2h0l1Jt8LEzyQeSs/BKpXAMe0mnHIMykYALWaeddTqCv5UEN8nGO3BG8JAqW/Y8iutqJsaMe2A9itS0d/r8w==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.3.tgz", + "integrity": "sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==", "cpu": [ "arm64" ], @@ -6193,9 +6596,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.0.tgz", - "integrity": "sha512-Wf+WjXibJQ7hHXOdNOmSMW5bxeJHVf46Pwb3eLSD2L76NrytQlif9NH7JpHuFlYKCQGfKfgSYYre5rIfmnSwQw==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.3.tgz", + "integrity": "sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==", "cpu": [ "x64" ], @@ -6208,9 +6611,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.0.tgz", - "integrity": "sha512-WTZb2G7B+CTsdigcJVkRxfcAIQj7Lf0ipPNRJ3vlSadU8f0CFGv/ST+sJwF5eSwIe6dxKoX0DG6OljDBaad+rg==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.3.tgz", + "integrity": "sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==", "cpu": [ "x64" ], @@ -6223,9 +6626,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.0.tgz", - "integrity": "sha512-7R8/x6oQODmNpnWVW00rlWX90sIlwluJwcvMT6GXNIBOvEf01t3fBg0AGURNKdTJg2xNuP7TyLchCL7Lh2DTiw==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.3.tgz", + "integrity": "sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==", "cpu": [ "arm64" ], @@ -6238,9 +6641,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.0.tgz", - "integrity": "sha512-RLK1nELvhCnxaWPF07jGU4x3tjbyx2319q43loZELqF0+iJtKutZ+Lk8SVmf/KiJkYBc7Cragadz7hb3uQvz4g==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.3.tgz", + "integrity": "sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==", "cpu": [ "ia32" ], @@ -6253,9 +6656,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.0.tgz", - "integrity": "sha512-g6hLf1SUko+hnnaywQQZzzb3BRecQsoKkF3o/C+F+dOA4w/noVAJngUVkfwF0+2/8FzNznM7ofM6TGZO9svn7w==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.3.tgz", + "integrity": "sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==", "cpu": [ "x64" ], @@ -6403,12 +6806,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz", - "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==", + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.0.tgz", + "integrity": "sha512-PdW+kn4eV99iP5gxWNSDQCbhMaDVej+RXL5xr6t04nbKLCBwYtA046t7ofoczHOm8u6c+45hpDKQVZqtqwkeQg==", "dev": true, "dependencies": { - "playwright": "1.39.0" + "playwright": "1.40.0" }, "bin": { "playwright": "cli.js" @@ -7793,9 +8196,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.10.0.tgz", - "integrity": "sha512-Lm+fYpMfZoEucJ7cMxgt4dYt8jLfbpwRCzAjm9UgSLOkmlqo9gupxt6YX3DY0Fk155NT9l17d/ydi+964uS9Lw==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.13.0.tgz", + "integrity": "sha512-5dMOnVnefRsl4uRnAdoWjtVTdh8e6aZqgM4puy9nmEADH72ck+uXwzpJLEKE9Q6F8ZljNewLgmTfkxUrBdv4WA==", "engines": { "node": ">=14.0.0" } @@ -7983,6 +8386,162 @@ "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", "dev": true }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.1.tgz", + "integrity": "sha512-YaN43wTyEBaMqLDYeze+gQ4ZrW5RbTEGtT5o1GVDkhpdNcsLTnLRcLccvwy3E9wiDKWg9RIhuoy3JQKDRBfaZA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.1.tgz", + "integrity": "sha512-n1bX+LCGlQVuPlCofO0zOKe1b2XkFozAVRoczT+yxWZPGnkEAKTTYVOGZz8N4sKuBnKMxDbfhUsB1uwYdup/sw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.1.tgz", + "integrity": "sha512-QqJBumdvfBqBBmyGHlKxje+iowZwrHna7pokj/Go3dV1PJekSKfmjKrjKQ/e6ESTGhkfPNLq3VXdYLAc+UtAQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.1.tgz", + "integrity": "sha512-RrkDNkR/P5AEQSPkxQPmd2ri8WTjSl0RYmuFOiEABkEY/FSg0a4riihWQGKDJ4LnV9gigWZlTMx2DtFGzUrYQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.1.tgz", + "integrity": "sha512-ZFPxvUZmE+fkB/8D9y/SWl/XaDzNSaxd1TJUSE27XAKlRpQ2VNce/86bGd9mEUgL3qrvjJ9XTGwoX0BrJkYK/A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.1.tgz", + "integrity": "sha512-FEuAjzVIld5WVhu+M2OewLmjmbXWd3q7Zcx+Rwy4QObQCqfblriDMMS7p7+pwgjZoo9BLkP3wa9uglQXzsB9ww==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.1.tgz", + "integrity": "sha512-f5Gs8WQixqGRtI0Iq/cMqvFYmgFzMinuJO24KRfnv7Ohi/HQclwrBCYkzQu1XfLEEt3DZyvveq9HWo4bLJf1Lw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.1.tgz", + "integrity": "sha512-CWPkPGrFfN2vj3mw+S7A/4ZaU3rTV7AkXUr08W9lNP+UzOvKLVf34tWCqrKrfwQ0NTk5GFqUr2XGpeR2p6R4gw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.5.1.tgz", + "integrity": "sha512-ZRETMFA0uVukUC9u31Ed1nx++29073goCxZtmZARwk5aF/ltuENaeTtRVsSQzFlzdd4J6L3qUm+EW8cbGt0CKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.1.tgz", + "integrity": "sha512-ihqfNJNb2XtoZMSCPeoo0cYMgU04ksyFIoOw5S0JUVbOhafLot+KD82vpKXOurE2+9o/awrqIxku9MRR9hozHQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.1.tgz", + "integrity": "sha512-zK9MRpC8946lQ9ypFn4gLpdwr5a01aQ/odiIJeL9EbgZDMgbZjjT/XzTqJvDfTmnE1kHdbG20sAeNlpc91/wbg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.1.tgz", + "integrity": "sha512-5I3Nz4Sb9TYOtkRwlH0ow+BhMH2vnh38tZ4J4mggE48M/YyJyp/0sPSxhw1UeS1+oBgQ8q7maFtSeKpeRJu41Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rushstack/eslint-patch": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", @@ -10138,20 +10697,20 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.0.5.tgz", - "integrity": "sha512-MThCETMkHDHTnFZHp71L+SqTtD5d6XHftFCVR1xRJdWM3qGrlQ2VCXaj0SKVcyJej2e1Opa2c7iknu1llxCDNQ==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.8.3.tgz", + "integrity": "sha512-SWFMFtcHfttLYif6pevnnMYnBvxKf3C+MHMH7bevyYfpXpTMsLB9O6nNGBdWSoPwnZRXFNyNeVZOw25Wmdasow==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.0.5.tgz", - "integrity": "sha512-ZG0Q4HZ0iuI8mWiZ2/MdVYPHbrmAVhMn7+gLOkxJh6zLIgCL4luSZlohzN5Xt4MjxfxxWioO1nemwpudaTsmQg==", + "version": "5.8.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.8.4.tgz", + "integrity": "sha512-CD+AkXzg8J72JrE6ocmuBEJfGzEzu/bzkD6sFXFDDB5yji9N20JofXZlN6n0+CaPJuIi+e4YLCbGsyPFKkfNQA==", "dependencies": { - "@tanstack/query-core": "5.0.5" + "@tanstack/query-core": "5.8.3" }, "funding": { "type": "github", @@ -10251,9 +10810,9 @@ "dev": true }, "node_modules/@types/accept-language-parser": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/accept-language-parser/-/accept-language-parser-1.5.5.tgz", - "integrity": "sha512-RwkOGXmBTUbJRvJhdOGkttRpX9RZFrdCiJ2RGCCaNA6UDM7sE/ZMlEter7zvtxm1VL+Zxkyr5fJXAesb0a7b1g==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/accept-language-parser/-/accept-language-parser-1.5.6.tgz", + "integrity": "sha512-lhSQUsAhAtbKjYgaw3f0c4EQKNQHFXhX87+OXUIqDHMkycvHGaqGskSRtnzysIUiqHPqNJ4BqI5SE++drsxx6A==", "dev": true }, "node_modules/@types/aria-query": { @@ -10263,9 +10822,9 @@ "dev": true }, "node_modules/@types/babel__core": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", - "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -10549,9 +11108,9 @@ } }, "node_modules/@types/imap-simple": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/@types/imap-simple/-/imap-simple-4.2.8.tgz", - "integrity": "sha512-5xTerY0SmeFuN4o5yuwShQ83ohROjV/FP8TgSv2rICoh+sPFxiwr1m3WNRcPajO/uIzfGYYaWzcLYf175N3g/Q==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/@types/imap-simple/-/imap-simple-4.2.9.tgz", + "integrity": "sha512-qROCP+BJfSpelnlhL48QGNU3bY1GWZpOgubiWnbs7HkIiLxmpP6TPE9Q/ROPjVzL9L89kB+vtBbQNNQTYNmuew==", "dev": true, "dependencies": { "@types/imap": "*", @@ -10580,9 +11139,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.6.tgz", - "integrity": "sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==", + "version": "29.5.10", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", + "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -10655,15 +11214,15 @@ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "node_modules/@types/luxon": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.3.tgz", - "integrity": "sha512-/BJF3NT0pRMuxrenr42emRUF67sXwcZCd+S1ksG/Fcf9O7C3kKCY4uJSbKBE4KDUIYr3WMsvfmWD8hRjXExBJQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.5.tgz", + "integrity": "sha512-1cyf6Ge/94zlaWIZA2ei1pE6SZ8xpad2hXaYa5JEFiaUH0YS494CZwyi4MXNpXD9oEuv6ZH0Bmh0e7F9sPhmZA==", "dev": true }, "node_modules/@types/mailparser": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@types/mailparser/-/mailparser-3.4.3.tgz", - "integrity": "sha512-UpeQxGQaC6tuBPrUg+xK7TqJ/rjzUFGVR3l2xvlo6PuNOaUCKoqmxFKyhdC1qqPlEstczQViljOjuxSRlDbMwA==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@types/mailparser/-/mailparser-3.4.4.tgz", + "integrity": "sha512-C6Znp2QVS25JqtuPyxj38Qh+QoFcLycdxsvcc6IZCGekhaMBzbdTXzwGzhGoYb3TfKu8IRCNV0sV1o3Od97cEQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -10722,9 +11281,9 @@ "devOptional": true }, "node_modules/@types/mjml": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/@types/mjml/-/mjml-4.7.3.tgz", - "integrity": "sha512-havWNfdB5mAYVds75XwCKm1aeh7GtXigBVWcxDY+zU2EAXY2TdvjZuy1AcLi76IssDqk8S9a1iwIaYtPrCb0tA==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/@types/mjml/-/mjml-4.7.4.tgz", + "integrity": "sha512-vyi1vzWgMzFMwZY7GSZYX0GU0dmtC8vLHwpgk+NWmwbwRSrlieVyJ9sn5elodwUfklJM7yGl0zQeet1brKTWaQ==", "dev": true, "dependencies": { "@types/mjml-core": "*" @@ -10737,9 +11296,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", - "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "version": "20.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz", + "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==", "dependencies": { "undici-types": "~5.26.4" } @@ -10763,9 +11322,9 @@ } }, "node_modules/@types/nodemailer": { - "version": "6.4.13", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.13.tgz", - "integrity": "sha512-889Vq/77eEpidCwh52sVWpbnqQmIwL8yVBekNbrztVEaWKOCRH3Eq6hjIJh1jwsGDEAJEH0RR+YhpH9mfELLKA==", + "version": "6.4.14", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.14.tgz", + "integrity": "sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA==", "dev": true, "dependencies": { "@types/node": "*" @@ -10783,9 +11342,9 @@ "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" }, "node_modules/@types/pdfkit": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.13.1.tgz", - "integrity": "sha512-4TCdxIj96OaP4jMPeL6/vmtbc3tsDMgFwXSKQpAceEtiVKgREJKBBLVGf0S1xTAbZkCYNL1OHuufzIgl8m+M7g==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.13.3.tgz", + "integrity": "sha512-CN0prCV0n1HssBg34izaTAcWRmq0916SnsmpTsRqIxlbdS6QkDYsZ5/cm6/a5V2MO3501fbZHkv9DLjJCh9W4Q==", "dev": true, "dependencies": { "@types/node": "*" @@ -10803,9 +11362,9 @@ "dev": true }, "node_modules/@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/q": { "version": "1.5.7", @@ -10823,9 +11382,9 @@ "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" }, "node_modules/@types/react": { - "version": "18.2.33", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", - "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", + "version": "18.2.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.38.tgz", + "integrity": "sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -10833,9 +11392,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", - "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", + "version": "18.2.17", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz", + "integrity": "sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==", "dev": true, "dependencies": { "@types/react": "*" @@ -10943,9 +11502,9 @@ "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" }, "node_modules/@types/vimeo__player": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/@types/vimeo__player/-/vimeo__player-2.18.2.tgz", - "integrity": "sha512-sKpwUbVTn1PofZVr8hfQCJYh3h720azoAQl0WbwzMiXKHuBeYqBi6mwjJhwG3bjWb1wrljj2HHJWFNrr0RWBcA==", + "version": "2.18.3", + "resolved": "https://registry.npmjs.org/@types/vimeo__player/-/vimeo__player-2.18.3.tgz", + "integrity": "sha512-IzSzb6doT4I4uAnBHa+mBCiNtK7iAllEJjtpkX0sKY6/s1Vi+aX1134IAiPgiyFlMvFab/oZQpSeccK4r0/T2A==", "dev": true }, "node_modules/@types/ws": { @@ -11475,6 +12034,14 @@ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, + "node_modules/@vercel/analytics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.1.1.tgz", + "integrity": "sha512-+NqgNmSabg3IFfxYhrWCfB/H+RCUOCR5ExRudNG2+pcRehq628DJB5e1u1xqwpLtn4pAYii4D98w7kofORAGQA==", + "dependencies": { + "server-only": "^0.0.1" + } + }, "node_modules/@vimeo/player": { "version": "2.20.1", "resolved": "https://registry.npmjs.org/@vimeo/player/-/player-2.20.1.tgz", @@ -11485,22 +12052,22 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.1.0.tgz", - "integrity": "sha512-rM0SqazU9iqPUraQ2JlIvReeaxOoRj6n+PzB1C0cBzIbd8qP336nC39/R9yPi3wVcah7E7j/kdU1uCUqMEU4OQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.0.tgz", + "integrity": "sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==", "dev": true, "dependencies": { - "@babel/core": "^7.22.20", - "@babel/plugin-transform-react-jsx-self": "^7.22.5", - "@babel/plugin-transform-react-jsx-source": "^7.22.5", - "@types/babel__core": "^7.20.2", + "@babel/core": "^7.23.3", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.4", "react-refresh": "^0.14.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "vite": "^4.2.0" + "vite": "^4.2.0 || ^5.0.0" } }, "node_modules/@webassemblyjs/ast": { @@ -12514,9 +13081,9 @@ } }, "node_modules/axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -17173,14 +17740,14 @@ } }, "node_modules/eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", - "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -17227,12 +17794,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.0.0.tgz", - "integrity": "sha512-jtXeE+/pGQ3h9n11QyyuPN50kO13GO5XvjU5ZRq6W+XTpOMjyobWmK2s7aowy0FtzA49krJzYzEU9s1RMwoJ6g==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.0.3.tgz", + "integrity": "sha512-IKPhpLdpSUyKofmsXUfrvBC49JMUTdeaD8ZIH4v9Vk0sC1X6URTuTJCLtA0Vwuj7V/CQh0oISuSTvNn5//Buew==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.0.0", + "@next/eslint-plugin-next": "14.0.3", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", @@ -18764,9 +19331,9 @@ } }, "node_modules/firebase-functions": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-4.4.1.tgz", - "integrity": "sha512-3no53Lg12ToNlPSgLZtAFLQAz6si7ilHvzO8NC3/2EybyUwegpj5YhHwNiCw839lmAWp3znjATJDTvADFiZMrg==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-4.5.0.tgz", + "integrity": "sha512-y6HsasHtGLfXCp3Pfrz+JA19lO9hSzYiNxFDIDMffrfcsG7UbXzv0zfi2ASadMVRoDCaox5ppZBa1QJxZbctPQ==", "dependencies": { "@types/cors": "^2.8.5", "@types/express": "4.17.3", @@ -18815,9 +19382,9 @@ } }, "node_modules/firebase-tools": { - "version": "12.7.0", - "resolved": "https://registry.npmjs.org/firebase-tools/-/firebase-tools-12.7.0.tgz", - "integrity": "sha512-NBXYEbY9FE20BcEivxL0agXkehNTtcFhQmGGPPWrxntVgWOnbrzy4fh1xjZnQSRgZu4VpEWthXDM+oCkn6ouKQ==", + "version": "12.9.1", + "resolved": "https://registry.npmjs.org/firebase-tools/-/firebase-tools-12.9.1.tgz", + "integrity": "sha512-t/oTgGnGm3sLT3wR80B7hY6vdAs6rTlZMsmnZGsP+GeKtVzaB5KHEwLbkZuRXtqij9f35IfkQm2a4TKjKY6xUQ==", "dev": true, "dependencies": { "@google-cloud/pubsub": "^3.0.1", @@ -18889,9 +19456,9 @@ } }, "node_modules/firecms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/firecms/-/firecms-2.1.0.tgz", - "integrity": "sha512-zw3iSiIlp8i2u0Vsp63k3Z5k2ECuN2H5ITiW4wy8PcM6+A3Y/xNcNYWtDr1A4CEekC+B61dvOH/2tk/Q4PQNdw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/firecms/-/firecms-2.2.0.tgz", + "integrity": "sha512-eakxYUgJY3dqusteNOWosC0ID8dHInzTR4y8QRARt8O96990VkxJQgD9IRZ2jH2yi2V9cxaMnsV7YplR+nj5rg==", "dependencies": { "@date-io/date-fns": "^2.16.0", "@fontsource/ibm-plex-mono": "^4.5.13", @@ -18927,7 +19494,7 @@ "@mui/material": "^5.9.0", "@mui/x-date-pickers": "^5.0.20", "algoliasearch": "^4.13.0", - "firebase": "^9.0.0", + "firebase": "^10.4.0", "react": "^18.0.0", "react-dom": "^18.0.0", "react-router": "^6.2.0", @@ -20720,9 +21287,9 @@ } }, "node_modules/i18next": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.6.0.tgz", - "integrity": "sha512-z0Cxr0MGkt+kli306WS4nNNM++9cgt2b2VCMprY92j+AIab/oclgPxdwtTZVLP1zn5t5uo8M6uLsZmYrcjr3HA==", + "version": "23.7.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.7.6.tgz", + "integrity": "sha512-O66BhXBw0fH4bEJMA0/klQKPEbcwAp5wjXEL803pdAynNbg2f4qhLIYlNHJyE7icrL6XmSZKPYaaXwy11kJ6YQ==", "funding": [ { "type": "individual", @@ -20738,15 +21305,15 @@ } ], "dependencies": { - "@babel/runtime": "^7.22.5" + "@babel/runtime": "^7.23.2" } }, "node_modules/i18next-resources-to-backend": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/i18next-resources-to-backend/-/i18next-resources-to-backend-1.1.4.tgz", - "integrity": "sha512-hMyr9AOmIea17AOaVe1srNxK/l3mbk81P7Uf3fdcjlw3ehZy3UNTd0OP3EEi6yu4J02kf9jzhCcjokz6AFlEOg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/i18next-resources-to-backend/-/i18next-resources-to-backend-1.2.0.tgz", + "integrity": "sha512-8f1l03s+QxDmCfpSXCh9V+AFcxAwIp0UaroWuyOx+hmmv8484GcELHs+lnu54FrNij8cDBEXvEwhzZoXsKcVpg==", "dependencies": { - "@babel/runtime": "^7.21.5" + "@babel/runtime": "^7.23.2" } }, "node_modules/iconv-lite": { @@ -24898,9 +25465,9 @@ } }, "node_modules/luxon": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", - "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", "engines": { "node": ">=12" } @@ -26203,11 +26770,11 @@ } }, "node_modules/next": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/next/-/next-14.0.0.tgz", - "integrity": "sha512-J0jHKBJpB9zd4+c153sair0sz44mbaCHxggs8ryVXSFBuBqJ8XdE9/ozoV85xGh2VnSjahwntBZZgsihL9QznA==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/next/-/next-14.0.3.tgz", + "integrity": "sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==", "dependencies": { - "@next/env": "14.0.0", + "@next/env": "14.0.3", "@swc/helpers": "0.5.2", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", @@ -26222,15 +26789,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.0.0", - "@next/swc-darwin-x64": "14.0.0", - "@next/swc-linux-arm64-gnu": "14.0.0", - "@next/swc-linux-arm64-musl": "14.0.0", - "@next/swc-linux-x64-gnu": "14.0.0", - "@next/swc-linux-x64-musl": "14.0.0", - "@next/swc-win32-arm64-msvc": "14.0.0", - "@next/swc-win32-ia32-msvc": "14.0.0", - "@next/swc-win32-x64-msvc": "14.0.0" + "@next/swc-darwin-arm64": "14.0.3", + "@next/swc-darwin-x64": "14.0.3", + "@next/swc-linux-arm64-gnu": "14.0.3", + "@next/swc-linux-arm64-musl": "14.0.3", + "@next/swc-linux-x64-gnu": "14.0.3", + "@next/swc-linux-x64-musl": "14.0.3", + "@next/swc-win32-arm64-msvc": "14.0.3", + "@next/swc-win32-ia32-msvc": "14.0.3", + "@next/swc-win32-x64-msvc": "14.0.3" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -27150,11 +27717,11 @@ "dev": true }, "node_modules/pdfkit": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.13.0.tgz", - "integrity": "sha512-AW79eHU5eLd2vgRDS9z3bSoi0FA+gYm+100LLosrQQMLUzOBGVOhG7ABcMFpJu7Bpg+MT74XYHi4k9EuU/9EZw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.14.0.tgz", + "integrity": "sha512-Hnor8/78jhHm6ONrxWhrqOwAVALlBnFyWOF8sstBZMiqHZgZ5A6RU+Q3yahhw82plxpT7LOfH3b3qcOX6rzMQg==", "dependencies": { - "crypto-js": "^4.0.0", + "crypto-js": "^4.2.0", "fontkit": "^1.8.1", "linebreak": "^1.0.2", "png-js": "^1.0.0" @@ -27344,12 +27911,12 @@ } }, "node_modules/playwright": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz", - "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==", + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.0.tgz", + "integrity": "sha512-gyHAgQjiDf1m34Xpwzaqb76KgfzYrhK7iih+2IzcOCoZWr/8ZqmdBw+t0RU85ZmfJMgtgAiNtBQ/KS2325INXw==", "dev": true, "dependencies": { - "playwright-core": "1.39.0" + "playwright-core": "1.40.0" }, "bin": { "playwright": "cli.js" @@ -27362,9 +27929,9 @@ } }, "node_modules/playwright-core": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz", - "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.0.tgz", + "integrity": "sha512-fvKewVJpGeca8t0ipM56jkVSU6Eo0RmFvQ/MaCQNDYm+sdvKkMBBWTE1FdeMqIdumRaXXjZChWHvIzCGM/tA/Q==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -28763,9 +29330,9 @@ } }, "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -28778,9 +29345,9 @@ } }, "node_modules/prettier-plugin-organize-imports": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.3.tgz", - "integrity": "sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.4.tgz", + "integrity": "sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==", "dev": true, "peerDependencies": { "@volar/vue-language-plugin-pug": "^1.0.4", @@ -28798,9 +29365,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.6.tgz", - "integrity": "sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.7.tgz", + "integrity": "sha512-4v6uESAgwCni6YF6DwJlRaDjg9Z+al5zM4JfngcazMy4WEf/XkPS5TEQjbD+DZ5iNuG6RrKQLa/HuX2SYzC3kQ==", "dev": true, "engines": { "node": ">=14.21.3" @@ -29822,9 +30389,9 @@ "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" }, "node_modules/react-hook-form": { - "version": "7.47.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.47.0.tgz", - "integrity": "sha512-F/TroLjTICipmHeFlMrLtNLceO2xr1jU3CyiNla5zdwsGUGu2UOxxR4UyJgLlhMwLW/Wzp4cpJ7CPfgJIeKdSg==", + "version": "7.48.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz", + "integrity": "sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==", "engines": { "node": ">=12.22.0" }, @@ -29981,24 +30548,12 @@ } } }, - "node_modules/react-resize-detector": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-8.1.0.tgz", - "integrity": "sha512-S7szxlaIuiy5UqLhLL1KY3aoyGHbZzsTpYal9eYMwCyKqoqoVLCmIgAgNyIM1FhnP2KyBygASJxdhejrzjMb+w==", - "dependencies": { - "lodash": "^4.17.21" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/react-router": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.17.0.tgz", - "integrity": "sha512-YJR3OTJzi3zhqeJYADHANCGPUu9J+6fT5GLv82UWRGSxu6oJYCKVmxUcaBQuGm9udpWmPsvpme/CdHumqgsoaA==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.20.0.tgz", + "integrity": "sha512-pVvzsSsgUxxtuNfTHC4IxjATs10UaAtvLGVSA1tbUE4GDaOSU1Esu2xF5nWLz7KPiMuW8BJWuPFdlGYJ7/rW0w==", "dependencies": { - "@remix-run/router": "1.10.0" + "@remix-run/router": "1.13.0" }, "engines": { "node": ">=14.0.0" @@ -30008,12 +30563,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.17.0.tgz", - "integrity": "sha512-qWHkkbXQX+6li0COUUPKAUkxjNNqPJuiBd27dVwQGDNsuFBdMbrS6UZ0CLYc4CsbdLYTckn4oB4tGDuPZpPhaQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.20.0.tgz", + "integrity": "sha512-CbcKjEyiSVpA6UtCHOIYLUYn/UJfwzp55va4yEfpk7JBN3GPqWfHrdLkAvNCcpXr8QoihcDMuk0dzWZxtlB/mQ==", "dependencies": { - "@remix-run/router": "1.10.0", - "react-router": "6.17.0" + "@remix-run/router": "1.13.0", + "react-router": "6.20.0" }, "engines": { "node": ">=14.0.0" @@ -31528,22 +32083,21 @@ } }, "node_modules/recharts": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.9.0.tgz", - "integrity": "sha512-cVgiAU3W5UrA8nRRV/N0JrudgZzY/vjkzrlShbH+EFo1vs4nMlXgshZWLI0DfDLmn4/p4pF7Lq7F5PU+K94Ipg==", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.10.1.tgz", + "integrity": "sha512-9bi0jIzxOTfEda+oYqgimKuYfApmBr0zKnAX8r4Iw56k3Saz/IQyBD4zohZL0eyzfz0oGFRH7alpJBgH1eC57g==", "dependencies": { - "classnames": "^2.2.5", + "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.19", "react-is": "^16.10.2", - "react-resize-detector": "^8.0.4", - "react-smooth": "^2.0.4", + "react-smooth": "^2.0.5", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "engines": { - "node": ">=12" + "node": ">=14" }, "peerDependencies": { "prop-types": "^15.6.0", @@ -31559,6 +32113,14 @@ "decimal.js-light": "^2.4.1" } }, + "node_modules/recharts/node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/recharts/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -33463,9 +34025,9 @@ } }, "node_modules/stripe": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-14.2.0.tgz", - "integrity": "sha512-lMjDOyJbt+NVSDvkTathSP7uEV35l7oU8UrhBJrYD8lUi43BWujq8E9QHd3o9D2KPBR1Cze5DCw5s1btnLfdMA==", + "version": "14.5.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-14.5.0.tgz", + "integrity": "sha512-MTt0P0VYDAj2VZyZMW41AxcXVs9s06EDFIHYat4UUkluJgnBHo4T4E2byPhnxoJCPvdzWBwBLnhWbSOg//VTpA==", "dependencies": { "@types/node": ">=8.1.0", "qs": "^6.11.0" @@ -33702,18 +34264,18 @@ } }, "node_modules/survey-core": { - "version": "1.9.114", - "resolved": "https://registry.npmjs.org/survey-core/-/survey-core-1.9.114.tgz", - "integrity": "sha512-Kqx8rIob8IXEACdCkp5idLT31bcZg9CWtD2cXUdVhV9YsQtND+Cl7YnW4rWnM3ElK7Ckfrl/tJc80fMqMrmVGQ==" + "version": "1.9.118", + "resolved": "https://registry.npmjs.org/survey-core/-/survey-core-1.9.118.tgz", + "integrity": "sha512-MoDjntudx/2Y4b+cAT2uaEFjHuKbAi536PKsYvuIPPDuqfbJRRbA7LvomNutBGi07IKZ/3QY2WSYUFazPqu13w==" }, "node_modules/survey-react-ui": { - "version": "1.9.114", - "resolved": "https://registry.npmjs.org/survey-react-ui/-/survey-react-ui-1.9.114.tgz", - "integrity": "sha512-58PJvYpgLGfsbrIH+tagQNLXiycqAq5kQfWBph/coOW2ShC9tfQ2Zwj9bd5UgkRoDjJG7pDPmS01ak1/Jp1XOQ==", + "version": "1.9.118", + "resolved": "https://registry.npmjs.org/survey-react-ui/-/survey-react-ui-1.9.118.tgz", + "integrity": "sha512-Qluq3qKw9Vw530KiCqYvpETcfIH2uH93CY4slXwynapUPj9sbQyf/WReTbT45GopWbG8ONzUWuygd8QrkHs7Hg==", "dependencies": { "react": "^16.5.0 || ^17.0.1 || ^18.1.0", "react-dom": "^16.5.0 || ^17.0.1 || ^18.1.0", - "survey-core": "1.9.114" + "survey-core": "1.9.118" } }, "node_modules/svg-parser": { @@ -34540,9 +35102,9 @@ } }, "node_modules/ts-loader": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", - "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -34846,9 +35408,9 @@ "integrity": "sha512-mMWgn3bYfT6V4WWA3yvdEM3AkTA7iK1XwhlOX3+vWfqHc6O9I2RUsi9krEXzNdQ1UE/eoEFBRigMtu30PsdEDg==" }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -36753,24 +37315,24 @@ "name": "@socialincome/shared", "version": "1.0.0", "dependencies": { - "axios": "^1.6.0", + "axios": "^1.6.2", "firebase-admin": "^11.11.0", "handlebars": "^4.7.8", "handlebars-i18next": "^1.0.3", - "i18next": "^23.6.0", - "i18next-resources-to-backend": "^1.1.4", - "luxon": "^3.4.3", + "i18next": "^23.7.6", + "i18next-resources-to-backend": "^1.2.0", + "luxon": "^3.4.4", "mjml": "^4.14.1", "nodemailer": "^6.9.7", - "stripe": "^14.2.0", + "stripe": "^14.5.0", "twilio": "^4.19.0" }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/jest": "^29.5.6", - "@types/luxon": "^3.3.3", - "@types/mjml": "^4.7.3", - "@types/nodemailer": "^6.4.13", + "@types/jest": "^29.5.10", + "@types/luxon": "^3.3.5", + "@types/mjml": "^4.7.4", + "@types/nodemailer": "^6.4.14", "firebase-functions-test": "^3.1.0", "jest": "^29.7.0", "ts-jest": "^29.1.1" @@ -36852,42 +37414,43 @@ "@icons-pack/react-simple-icons": "^9.1.0", "@socialincome/shared": "^1.0.0", "@socialincome/ui": "^1.0.0", - "@tanstack/react-query": "^5.0.5", + "@tanstack/react-query": "^5.8.4", "@types/js-cookie": "^3.0.6", + "@vercel/analytics": "^1.1.1", "@vimeo/player": "^2.20.1", "accept-language-parser": "^1.5.0", "classnames": "^2.3.2", "country-flag-icons": "^1.5.7", "firebase": "^9.23.0", - "i18next": "^23.6.0", + "i18next": "^23.7.6", "js-cookie": "^3.0.5", "lodash": "^4.17.21", - "next": "14.0.0", + "next": "14.0.3", "react": "18.2.0", "react-dom": "18.2.0", - "react-hook-form": "^7.47.0", + "react-hook-form": "^7.48.2", "react-hot-toast": "^2.4.1", "reactfire": "^4.2.3", - "recharts": "^2.9.0", + "recharts": "^2.10.1", "server-only": "^0.0.1", "sharp": "^0.32.6", - "stripe": "^14.2.0", - "survey-core": "^1.9.114", - "survey-react-ui": "^1.9.114", + "stripe": "^14.5.0", + "survey-core": "^1.9.118", + "survey-react-ui": "^1.9.118", "zod": "^3.22.4" }, "devDependencies": { - "@types/accept-language-parser": "^1.5.5", - "@types/node": "^20.8.9", - "@types/react": "^18.2.33", - "@types/react-dom": "^18.2.14", - "@types/vimeo__player": "^2.18.2", + "@types/accept-language-parser": "^1.5.6", + "@types/node": "^20.9.4", + "@types/react": "^18.2.38", + "@types/react-dom": "^18.2.17", + "@types/vimeo__player": "^2.18.3", "autoprefixer": "^10.4.16", - "eslint": "^8.52.0", - "eslint-config-next": "^14.0.0", + "eslint": "^8.54.0", + "eslint-config-next": "^14.0.3", "postcss": "^8.4.31", "tailwindcss": "^3.3.5", - "typescript": "^5.2.2" + "typescript": "^5.3.2" } } } diff --git a/package.json b/package.json index 70874e9d9..0faefe968 100644 --- a/package.json +++ b/package.json @@ -44,10 +44,10 @@ "website:check-translations": "npm --workspace=@socialincome/website run check-translations" }, "devDependencies": { - "firebase-tools": "12.7.0", - "prettier": "3.0.3", - "prettier-plugin-organize-imports": "3.2.3", - "prettier-plugin-tailwindcss": "0.5.6", - "typescript": "^5.2.2" + "firebase-tools": "12.9.1", + "prettier": "3.1.0", + "prettier-plugin-organize-imports": "3.2.4", + "prettier-plugin-tailwindcss": "0.5.7", + "typescript": "^5.3.2" } } diff --git a/shared/package.json b/shared/package.json index bdd50ae78..d58234d96 100644 --- a/shared/package.json +++ b/shared/package.json @@ -8,25 +8,25 @@ }, "devDependencies": { "@jest/globals": "^29.7.0", - "@types/jest": "^29.5.6", - "@types/luxon": "^3.3.3", - "@types/mjml": "^4.7.3", - "@types/nodemailer": "^6.4.13", + "@types/jest": "^29.5.10", + "@types/luxon": "^3.3.5", + "@types/mjml": "^4.7.4", + "@types/nodemailer": "^6.4.14", "firebase-functions-test": "^3.1.0", "jest": "^29.7.0", "ts-jest": "^29.1.1" }, "dependencies": { - "axios": "^1.6.0", + "axios": "^1.6.2", "firebase-admin": "^11.11.0", "handlebars": "^4.7.8", "handlebars-i18next": "^1.0.3", - "i18next": "^23.6.0", - "i18next-resources-to-backend": "^1.1.4", - "luxon": "^3.4.3", + "i18next": "^23.7.6", + "i18next-resources-to-backend": "^1.2.0", + "luxon": "^3.4.4", "mjml": "^4.14.1", "nodemailer": "^6.9.7", - "stripe": "^14.2.0", + "stripe": "^14.5.0", "twilio": "^4.19.0" } } diff --git a/shared/src/firebase/client/init.ts b/shared/src/firebase/client/init.ts index 9f97fd025..9392d98cb 100644 --- a/shared/src/firebase/client/init.ts +++ b/shared/src/firebase/client/init.ts @@ -17,18 +17,16 @@ interface InitializeFirebaseClientProps { functionsEmulatorPort?: number; } -export const initializeFirebaseClient = ( - { - firebaseConfig, - authEmulatorUrl, - firestoreEmulatorHost, - firestoreEmulatorPort, - storageEmulatorHost, - storageEmulatorPort, - functionsEmulatorHost, - functionsEmulatorPort, - }: InitializeFirebaseClientProps, -) => { +export const initializeFirebaseClient = ({ + firebaseConfig, + authEmulatorUrl, + firestoreEmulatorHost, + firestoreEmulatorPort, + storageEmulatorHost, + storageEmulatorPort, + functionsEmulatorHost, + functionsEmulatorPort, +}: InitializeFirebaseClientProps) => { const app = getOrInitializeFirebaseClientApp(firebaseConfig); const auth = getAuth(app); const functions = getFunctions(app, DEFAULT_REGION); @@ -37,19 +35,19 @@ export const initializeFirebaseClient = ( if (authEmulatorUrl) { connectAuthEmulator(auth, authEmulatorUrl, { disableWarnings: true }); - console.log('Using auth emulator'); + console.debug('Using auth emulator'); } if (firestoreEmulatorHost && firestoreEmulatorPort) { connectFirestoreEmulator(firestore, firestoreEmulatorHost, firestoreEmulatorPort); - console.log('Using firestore emulator'); + console.debug('Using firestore emulator'); } if (storageEmulatorHost && storageEmulatorPort) { connectStorageEmulator(storage, storageEmulatorHost, storageEmulatorPort); - console.log('Using storage emulator'); + console.debug('Using storage emulator'); } if (functionsEmulatorHost && functionsEmulatorPort) { connectFunctionsEmulator(functions, functionsEmulatorHost, functionsEmulatorPort); - console.log('Using functions emulator'); + console.debug('Using functions emulator'); } return { app, auth, firestore, functions, storage }; diff --git a/shared/src/stripe/StripeWebhookHandler.test.ts b/shared/src/stripe/StripeWebhookHandler.test.ts index 9d118a1de..0e7bb1f97 100644 --- a/shared/src/stripe/StripeWebhookHandler.test.ts +++ b/shared/src/stripe/StripeWebhookHandler.test.ts @@ -355,6 +355,7 @@ describe('stripeWebhook', () => { payment_method_details: { card: { brand: 'mastercard', + amount_authorized: null, checks: { address_line1_check: null, address_postal_code_check: null, diff --git a/shared/src/utils/messaging/email.ts b/shared/src/utils/messaging/email.ts index 3024783d8..631127674 100644 --- a/shared/src/utils/messaging/email.ts +++ b/shared/src/utils/messaging/email.ts @@ -16,9 +16,15 @@ interface SendEmailProps { password: string; } -export const sendEmail = async ( - { from = 'no-reply@socialincome.org', to, subject, content, attachments = [], user, password }: SendEmailProps, -) => { +export const sendEmail = async ({ + from = 'no-reply@socialincome.org', + to, + subject, + content, + attachments = [], + user, + password, +}: SendEmailProps) => { let transporter: Transporter; if (!user) { const testAccount = await nodemailer.createTestAccount(); diff --git a/shared/src/utils/messaging/whatsapp.ts b/shared/src/utils/messaging/whatsapp.ts index 6dd0c75c0..bde18e4ed 100644 --- a/shared/src/utils/messaging/whatsapp.ts +++ b/shared/src/utils/messaging/whatsapp.ts @@ -12,9 +12,12 @@ export interface SendWhatsappProps { templateProps: RenderTemplateProps; } -export const sendWhatsapp = async ( - { to, from, twilioConfig, templateProps }: SendWhatsappProps, -): Promise => { +export const sendWhatsapp = async ({ + to, + from, + twilioConfig, + templateProps, +}: SendWhatsappProps): Promise => { const client = new Twilio(twilioConfig.sid, twilioConfig.token); const body = await renderTemplate(templateProps); return client.messages.create({ body: body, from: `whatsapp:${from}`, to: `whatsapp:${to}` }); diff --git a/shared/src/utils/templates.ts b/shared/src/utils/templates.ts index f144fcb1e..0813fc103 100644 --- a/shared/src/utils/templates.ts +++ b/shared/src/utils/templates.ts @@ -28,9 +28,12 @@ const partials = [ ]; partials.forEach((partial) => Handlebars.registerPartial(partial.name, readHbs(partial.path))); -export const renderTemplate = async ( - { language, translationNamespace = [], hbsTemplatePath, context }: RenderTemplateProps, -) => { +export const renderTemplate = async ({ + language, + translationNamespace = [], + hbsTemplatePath, + context, +}: RenderTemplateProps) => { const i18n = i18next.createInstance(); await i18n .use( diff --git a/ui/CONTRIBUTING.md b/ui/CONTRIBUTING.md index f7a8867a8..b25c7d2f1 100644 --- a/ui/CONTRIBUTING.md +++ b/ui/CONTRIBUTING.md @@ -54,9 +54,11 @@ UI elements: **Example**: ```tsx - export const SoExampleComponent = ( - { children, exampleProperty, ...props }: SoExampleComponentProps, - ) => { + export const SoExampleComponent = ({ + children, + exampleProperty, + ...props + }: SoExampleComponentProps) => { return (

{children} diff --git a/ui/src/components/carousel.tsx b/ui/src/components/carousel.tsx index c1b9658b1..0aa33b9fd 100644 --- a/ui/src/components/carousel.tsx +++ b/ui/src/components/carousel.tsx @@ -14,9 +14,14 @@ type CarouselProps = { showControls?: boolean; } & React.HTMLAttributes; -export const Carousel = ( - { children, className, options = {}, showDots = false, showControls = false, ...props }: CarouselProps, -) => { +export const Carousel = ({ + children, + className, + options = {}, + showDots = false, + showControls = false, + ...props +}: CarouselProps) => { const [emblaRef, emblaApi] = useEmblaCarousel( options, options?.autoPlay?.enabled ? [Autoplay(options.autoPlay)] : [], diff --git a/ui/src/components/form.tsx b/ui/src/components/form.tsx index 8b6af8aa8..6eb5ee55f 100644 --- a/ui/src/components/form.tsx +++ b/ui/src/components/form.tsx @@ -21,9 +21,9 @@ const FormFieldContext = React.createContext({} as FormFi const FormField = < TFieldValues extends FieldValues = FieldValues, TName extends FieldPath = FieldPath, ->( - { ...props }: ControllerProps, -) => { +>({ + ...props +}: ControllerProps) => { return ( diff --git a/ui/src/components/typography/typography.tsx b/ui/src/components/typography/typography.tsx index c45a84175..1d8ad9cb1 100644 --- a/ui/src/components/typography/typography.tsx +++ b/ui/src/components/typography/typography.tsx @@ -68,9 +68,16 @@ export type TypographyProps = { lineHeight?: LineHeight; } & ComponentPropsWithoutRef; -export function Typography( - { as, size, weight, color, lineHeight, className, children, ...props }: TypographyProps, -) { +export function Typography({ + as, + size, + weight, + color, + lineHeight, + className, + children, + ...props +}: TypographyProps) { const Component = as || 'p'; return ( diff --git a/website/src/app/context-providers.tsx b/website/src/app/context-providers.tsx index ffe867c1a..d7b5916dc 100644 --- a/website/src/app/context-providers.tsx +++ b/website/src/app/context-providers.tsx @@ -8,6 +8,7 @@ import { WebsiteCurrency, WebsiteLanguage, WebsiteRegion } from '@/i18n'; import { initializeAnalytics } from '@firebase/analytics'; import { DEFAULT_REGION } from '@socialincome/shared/src/firebase'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { Analytics } from '@vercel/analytics/react'; import { ConsentSettings, ConsentStatusString, setConsent } from 'firebase/analytics'; import { connectAuthEmulator, getAuth } from 'firebase/auth'; import { connectFirestoreEmulator, getFirestore } from 'firebase/firestore'; @@ -71,6 +72,7 @@ function AnalyticsProviderWrapper({ children }: PropsWithChildren) { return ( <> + {allowTracking ? ( <> @@ -100,22 +102,22 @@ function FirebaseSDKProviders({ children }: PropsWithChildren) { const functionsEmulatorPort = Number(process.env.NEXT_PUBLIC_FIREBASE_FUNCTIONS_EMULATOR_PORT); if (authEmulatorUrl && !connectAuthEmulatorCalled) { - console.log('Using auth emulator'); + console.debug('Using auth emulator'); connectAuthEmulator(auth, authEmulatorUrl, { disableWarnings: true }); connectAuthEmulatorCalled = true; } if (firestoreEmulatorHost && firestoreEmulatorPort && !connectFirestoreEmulatorCalled) { - console.log('Using firestore emulator'); + console.debug('Using firestore emulator'); connectFirestoreEmulator(firestore, firestoreEmulatorHost, firestoreEmulatorPort); connectFirestoreEmulatorCalled = true; } if (storageEmulatorHost && storageEmulatorPort && !connectStorageEmulatorCalled) { - console.log('Using storage emulator'); + console.debug('Using storage emulator'); connectStorageEmulator(storage, storageEmulatorHost, storageEmulatorPort); connectStorageEmulatorCalled = true; } if (functionsEmulatorHost && functionsEmulatorPort && connectFunctionsEmulatorCalled) { - console.log('Using functions emulator'); + console.debug('Using functions emulator'); connectFunctionsEmulator(functions, functionsEmulatorHost, functionsEmulatorPort); connectFunctionsEmulatorCalled = true; } diff --git a/website/src/components/i18n-dialog.tsx b/website/src/components/i18n-dialog.tsx index 8538d5785..93eb3aa46 100644 --- a/website/src/components/i18n-dialog.tsx +++ b/website/src/components/i18n-dialog.tsx @@ -41,9 +41,13 @@ type I18nDialogProps = { }; }; -export function I18nDialog( - { languages, regions, currencies, translations, children }: PropsWithChildren, -) { +export function I18nDialog({ + languages, + regions, + currencies, + translations, + children, +}: PropsWithChildren) { const [open, setOpen] = useState(false); const { language, setLanguage, region, setRegion, currency, setCurrency } = useI18n(); diff --git a/website/src/components/navbar/navbar-client.tsx b/website/src/components/navbar/navbar-client.tsx index 9f72fcbcb..af129f948 100644 --- a/website/src/components/navbar/navbar-client.tsx +++ b/website/src/components/navbar/navbar-client.tsx @@ -63,9 +63,16 @@ type NavbarProps = { }[]; } & DefaultParams; -export function NavbarClient( - { lang, region, translations, languages, regions, currencies, navigation = [], showNavigation = true }: NavbarProps, -) { +export function NavbarClient({ + lang, + region, + translations, + languages, + regions, + currencies, + navigation = [], + showNavigation = true, +}: NavbarProps) { const [isOpen, setIsOpen] = useState(false); const i18nDialog = ( diff --git a/website/src/components/ui/book.tsx b/website/src/components/ui/book.tsx index 5efc32eb0..c5a38ebca 100644 --- a/website/src/components/ui/book.tsx +++ b/website/src/components/ui/book.tsx @@ -15,9 +15,18 @@ type BookProps = { currentlyReading?: boolean; }; -export default async function Book( - { cover, author, authorLink, title, description, quote, publisher, publisherLink, year, currentlyReading }: BookProps, -) { +export default async function Book({ + cover, + author, + authorLink, + title, + description, + quote, + publisher, + publisherLink, + year, + currentlyReading, +}: BookProps) { return (