From 1e49b1bc2bee7d7b502ef3507d062b6545063006 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 19 Nov 2023 15:14:27 +0100 Subject: [PATCH] Update the test suite and a few more unreleated things. (#208) * Update the test suite and a few more unreleated things. * Update vite. * Update verify. * Another test fix. * Fix output name. --- .dockerignore | 9 +- .github/workflows/dev.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/sdk.yml | 2 +- .gitignore | 8 +- .../Notifo.Domain.Integrations.csproj | 2 +- .../Notifo.Infrastructure.csproj | 28 +- backend/src/Notifo/Notifo.csproj | 2 +- frontend/package-lock.json | 1266 ++++++++++++----- frontend/package.json | 44 +- frontend/src/app/App.tsx | 2 +- frontend/src/app/framework/react/Code.tsx | 6 +- frontend/src/app/framework/react/Marker.tsx | 2 +- frontend/src/app/index.tsx | 2 +- frontend/src/app/pages/TopNav.tsx | 2 +- frontend/src/app/pages/app/AppSettings.tsx | 2 +- frontend/src/app/pages/apps/AppDialog.tsx | 6 +- frontend/src/app/pages/apps/AppsPage.tsx | 4 +- .../email-templates/EmailTemplateCard.tsx | 4 +- .../editor/EmailHtmlEditor.tsx | 2 +- .../editor/EmailHtmlTextEditor.tsx | 8 +- .../editor/EmailTextEditor.tsx | 2 +- .../MessagingTemplateCard.tsx | 4 +- .../src/app/pages/publish/PublishDialog.tsx | 6 +- .../pages/sms-templates/SmsTemplateCard.tsx | 4 +- .../pages/system-users/SystemUserDialog.tsx | 6 +- .../app/pages/system-users/SystemUserRow.tsx | 4 +- .../src/app/pages/templates/TemplateForm.tsx | 4 +- frontend/src/app/pages/topics/TopicDialog.tsx | 2 +- frontend/src/app/pages/topics/TopicRow.tsx | 10 +- frontend/src/app/pages/topics/TopicsPage.tsx | 2 +- frontend/src/app/pages/user/Buttons.tsx | 10 +- frontend/src/app/pages/user/DemoPage.tsx | 2 +- .../app/pages/user/NotificationDetails.tsx | 4 +- .../src/app/pages/user/NotificationRow.tsx | 2 +- .../src/app/pages/user/SubscriptionDialog.tsx | 2 +- frontend/src/app/pages/user/UserDetails.tsx | 4 +- frontend/src/app/pages/users/UserDialog.tsx | 4 +- frontend/src/app/pages/users/UserRow.tsx | 4 +- .../src/app/shared/components/Integrated.tsx | 2 + .../components/NotificationSettingsForm.tsx | 20 +- frontend/src/app/shared/components/Picker.tsx | 10 +- .../components/TemplateVariantsInput.tsx | 6 +- frontend/src/app/theme.tsx | 9 + .../src/sdk/ui/components/ArchiveView.tsx | 1 + frontend/src/sdk/ui/components/Image.tsx | 1 + frontend/src/sdk/ui/components/Loader.tsx | 1 + frontend/src/sdk/ui/components/Modal.tsx | 1 + .../sdk/ui/components/NotificationItem.tsx | 1 + .../sdk/ui/components/NotificationsButton.tsx | 1 + .../sdk/ui/components/NotificationsModal.tsx | 5 +- .../src/sdk/ui/components/NotificationsUI.tsx | 1 + .../sdk/ui/components/NotificationsView.tsx | 1 + .../src/sdk/ui/components/ProfileView.tsx | 1 + frontend/src/sdk/ui/components/Toggle.tsx | 1 + .../src/sdk/ui/components/TopicButton.tsx | 1 + frontend/src/sdk/ui/components/TopicItem.tsx | 1 + frontend/src/sdk/ui/components/TopicModal.tsx | 5 +- frontend/src/sdk/ui/components/TopicUI.tsx | 1 + frontend/src/sdk/ui/components/TopicsView.tsx | 5 +- frontend/src/sdk/ui/components/WebPushUI.tsx | 9 +- frontend/src/sdk/ui/components/index.tsx | 1 + frontend/src/sdk/ui/components/observer.ts | 1 + frontend/src/sdk/ui/components/utils.ts | 1 + frontend/src/sdk/ui/model/index.ts | 4 +- frontend/vite.build.mjs | 6 +- tools/.editorconfig | 12 + .../TestSuite.ApiTests/Extensions.cs | 8 +- .../TestSuite/TestSuite.ApiTests/MailTests.cs | 52 +- .../TestSuite.ApiTests/MobileTokenTests.cs | 8 +- .../NotificationMobileTests.cs | 28 +- .../TestSuite.ApiTests/NotificationTests.cs | 60 +- .../Settings/VerifySettings.cs | 2 +- .../TestSuite/TestSuite.ApiTests/SmsTests.cs | 73 +- .../TestSuite.ApiTests/TemplatesTests.cs | 32 +- .../TestSuite.ApiTests.csproj | 18 +- .../TestSuite.ApiTests/UsersTests.cs | 40 +- .../AppTests.Should_create_app.verified.txt | 8 +- ...sts.Should_create_integration.verified.txt | 10 +- ..._self_formatted_notifications.verified.txt | 18 +- ...plate_formatted_notifications.verified.txt | 18 +- ...Tests.Should_create_templates.verified.txt | 6 +- ...Tests.Should_delete_templates.verified.txt | 45 - ...Tests.Should_update_templates.verified.txt | 6 +- ...Suite.ApiTests.csproj.FileListAbsolute.txt | 194 --- ...ould_create_users_mode=ApiKey.verified.txt | 10 +- ...ld_create_users_mode=ClientId.verified.txt | 10 +- ....Should_find_user_mode=ApiKey.verified.txt | 14 +- ...hould_find_user_mode=ClientId.verified.txt | 14 +- ...ould_update_users_mode=ApiKey.verified.txt | 10 +- ...ld_update_users_mode=ClientId.verified.txt | 10 +- .../TestSuite.ApiTests/WebhookTests.cs | 14 +- .../TestSuite.LoadTests.csproj | 10 +- .../TestSuite.Shared/ClientManagerWrapper.cs | 2 +- .../Fixtures/CreatedAppFixture.cs | 8 +- .../TestSuite.Shared/TestSuite.Shared.csproj | 16 +- tools/TestSuite/TestSuite.sln | 6 + tools/sdk/CodeGenerator/CodeGenerator.csproj | 8 +- tools/sdk/CodeGenerator/Program.cs | 2 +- .../Notifo.SDK.Tests/Notifo.SDK.Tests.csproj | 10 +- .../Configuration/CachingAuthenticator.cs | 2 +- .../sdk/Notifo.SDK/DateTimeOffsetConverter.cs | 2 +- tools/sdk/Notifo.SDK/Notifo.SDK.csproj | 6 +- 103 files changed, 1358 insertions(+), 1012 deletions(-) create mode 100644 frontend/src/app/theme.tsx delete mode 100644 tools/TestSuite/TestSuite.ApiTests/Verify/TemplatesTests.Should_delete_templates.verified.txt delete mode 100644 tools/TestSuite/TestSuite.ApiTests/Verify/TestSuite.ApiTests.csproj.FileListAbsolute.txt diff --git a/.dockerignore b/.dockerignore index 41332760..649fc882 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,9 +3,14 @@ *.user *.vs *.log +*.received.txt +*.verified.txt.bak -.vs +.awcache .git +.idea +.vs +.vscode # Build results **/bin @@ -26,8 +31,6 @@ backend/src/Squidex/Assets/*.* **/launchSettings.json # Build -.drone.yml - build.ps1 build.sh diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 65d84659..e61efec9 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -50,7 +50,7 @@ jobs: - name: Test - RUN uses: kohlerdominik/docker-run-action@v1.1.0 with: - image: mcr.microsoft.com/dotnet/sdk:7.0 + image: mcr.microsoft.com/dotnet/sdk:8.0 environment: | MAILCATCHER__HOST__SMTP=mailcatcher MESSAGEBIRD__ACCESSKEY=${{ secrets.MESSAGEBIRD__ACCESSKEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 28adcb6c..7ad21a5e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,7 +44,7 @@ jobs: - name: Test - RUN uses: kohlerdominik/docker-run-action@v1.1.0 with: - image: mcr.microsoft.com/dotnet/sdk:7.0 + image: mcr.microsoft.com/dotnet/sdk:8.0 environment: | MAILCATCHER__HOST__SMTP=mailcatcher MESSAGEBIRD__ACCESSKEY=${{ secrets.MESSAGEBIRD__ACCESSKEY }} diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index 78cfdc0e..91a25cec 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -15,7 +15,7 @@ jobs: - name: Set up dotnet uses: actions/setup-dotnet@v3.0.2 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Pack run: | diff --git a/.gitignore b/.gitignore index 72746552..8188c567 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,11 @@ *.received.txt *.verified.txt.bak -.vscode .awcache +.git +.idea +.vs +.vscode # Build results bin/ @@ -21,7 +24,8 @@ _test-output/ # NodeJS node_modules/ +/backend/src/Notifo/Assets + appsettings.Development.json appsettings.Production.json launchSettings.json -/backend/src/Notifo/Assets diff --git a/backend/src/Notifo.Domain.Integrations/Notifo.Domain.Integrations.csproj b/backend/src/Notifo.Domain.Integrations/Notifo.Domain.Integrations.csproj index 593308de..91cb80b0 100644 --- a/backend/src/Notifo.Domain.Integrations/Notifo.Domain.Integrations.csproj +++ b/backend/src/Notifo.Domain.Integrations/Notifo.Domain.Integrations.csproj @@ -9,7 +9,7 @@ - + diff --git a/backend/src/Notifo.Infrastructure/Notifo.Infrastructure.csproj b/backend/src/Notifo.Infrastructure/Notifo.Infrastructure.csproj index f27e5244..b670e83a 100644 --- a/backend/src/Notifo.Infrastructure/Notifo.Infrastructure.csproj +++ b/backend/src/Notifo.Infrastructure/Notifo.Infrastructure.csproj @@ -29,20 +29,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/backend/src/Notifo/Notifo.csproj b/backend/src/Notifo/Notifo.csproj index 01db7395..38e013e4 100644 --- a/backend/src/Notifo/Notifo.csproj +++ b/backend/src/Notifo/Notifo.csproj @@ -30,7 +30,7 @@ - + diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 43c227eb..2d255bfa 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -11,12 +11,12 @@ "@babel/preset-react": "^7.23.3", "@emoji-mart/data": "^1.1.2", "@emoji-mart/react": "^1.1.1", - "@floating-ui/react-dom": "^2.0.2", + "@floating-ui/react-dom": "^2.0.4", "@hookform/error-message": "^2.0.1", "@hookform/resolvers": "^3.3.2", "@marker.io/browser": "^0.19.0", - "@microsoft/signalr": "^7.0.12", - "@preact/preset-vite": "^2.6.0", + "@microsoft/signalr": "^8.0.0", + "@preact/preset-vite": "^2.7.0", "@reduxjs/toolkit": "^1.9.7", "bootstrap": "^4.6.1", "classnames": "^2.3.2", @@ -27,22 +27,22 @@ "history": "^5.3.0", "mousetrap": "1.6.5", "oidc-client-ts": "^2.4.0", - "playwright": "^1.39.0", - "preact": "10.18.2", + "playwright": "^1.40.0", + "preact": "10.19.2", "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "^7.48.2", "react-loader-spinner": "5.4.5", - "react-markdown": "9.0.0", + "react-markdown": "9.0.1", "react-popper": "2.3.0", "react-push-preview": "^0.1.9", "react-redux": "8.1.3", - "react-router": "6.18.0", - "react-router-dom": "6.18.0", + "react-router": "6.19.0", + "react-router-dom": "6.19.0", "react-router-redux": "4.0.8", "react-split": "2.0.14", "react-toastify": "^9.1.3", - "react-tooltip": "^5.22.0", + "react-tooltip": "^5.23.0", "reactstrap": "8.9.0", "redux": "4.2.1", "redux-thunk": "2.4.2", @@ -60,26 +60,26 @@ "@types/core-js": "2.5.8", "@types/date-fns": "2.6.0", "@types/emoji-mart": "^3.0.12", - "@types/jasmine": "5.1.1", - "@types/lodash": "4.14.200", + "@types/jasmine": "5.1.2", + "@types/lodash": "4.14.201", "@types/mjml": "4.7.4", "@types/mousetrap": "1.6.14", - "@types/node": "20.8.10", - "@types/react": "18.2.36", - "@types/react-dom": "18.2.14", - "@types/react-redux": "7.1.29", + "@types/node": "20.9.1", + "@types/react": "18.2.37", + "@types/react-dom": "18.2.15", + "@types/react-redux": "7.1.30", "@types/react-router": "5.1.20", "@types/react-router-dom": "5.3.3", - "@types/react-router-redux": "5.0.24", + "@types/react-router-redux": "5.0.25", "@types/reactstrap": "8.7.2", "@types/yup": "0.29.14", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", - "@vitejs/plugin-react": "^4.0.3", + "@typescript-eslint/eslint-plugin": "^6.11.0", + "@typescript-eslint/parser": "^6.11.0", + "@vitejs/plugin-react": "^4.2.0", "@vitest/browser": "^0.34.6", "@vitest/coverage-istanbul": "^0.34.6", "@vitest/coverage-v8": "^0.34.6", - "eslint": "^8.53.0", + "eslint": "^8.54.0", "eslint-config-airbnb-typescript": "^17.1.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-jsx-a11y": "^6.8.0", @@ -100,11 +100,11 @@ "stylelint-scss": "^5.3.1", "typemoq": "2.1.0", "typescript": "^5.2.2", - "vite": "^4.5.0", + "vite": "^5.0.0", "vite-plugin-favicon": "^1.0.8", "vite-plugin-mkcert": "^1.16.0", "vitest": "^0.34.6", - "webdriverio": "^8.16.10" + "webdriverio": "^8.23.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -161,20 +161,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", @@ -190,11 +190,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.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", + "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.3", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -352,9 +352,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", @@ -522,9 +522,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.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1572,9 +1572,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" @@ -1587,9 +1587,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" @@ -2135,18 +2135,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.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", + "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/generator": "^7.23.3", "@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.3", + "@babel/types": "^7.23.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2155,9 +2155,9 @@ } }, "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.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", + "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20", @@ -3148,6 +3148,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "android" @@ -3163,6 +3164,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "android" @@ -3178,6 +3180,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "android" @@ -3193,6 +3196,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -3208,6 +3212,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -3223,6 +3228,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -3238,6 +3244,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -3253,6 +3260,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3268,6 +3276,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3283,6 +3292,7 @@ "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3298,6 +3308,7 @@ "cpu": [ "loong64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3313,6 +3324,7 @@ "cpu": [ "mips64el" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3328,6 +3340,7 @@ "cpu": [ "ppc64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3343,6 +3356,7 @@ "cpu": [ "riscv64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3358,6 +3372,7 @@ "cpu": [ "s390x" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3373,6 +3388,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -3388,6 +3404,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "netbsd" @@ -3403,6 +3420,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "openbsd" @@ -3418,6 +3436,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "sunos" @@ -3433,6 +3452,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -3448,6 +3468,7 @@ "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "win32" @@ -3463,6 +3484,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -3564,9 +3586,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3596,9 +3618,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" }, @@ -4575,9 +4597,9 @@ } }, "node_modules/@microsoft/signalr": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-7.0.12.tgz", - "integrity": "sha512-k1Xu+a73PsWgHwHDm6ctHwHTBnlqCzq7L33cbxdWhj90AGDFpxDSzaGCkZDoJFNHveUetix65zIWiazMvmMg3w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-8.0.0.tgz", + "integrity": "sha512-K/wS/VmzRWePCGqGh8MU8OWbS1Zvu7DG7LSJS62fBB8rJUXwwj4axQtqrAAwKGUZHQF6CuteuQR9xMsVpM2JNA==", "dependencies": { "abort-controller": "^3.0.0", "eventsource": "^2.0.2", @@ -4864,9 +4886,9 @@ } }, "node_modules/@preact/preset-vite": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.6.0.tgz", - "integrity": "sha512-5nztNzXbCpqyVum/K94nB2YQ5PTnvWdz4u7/X0jc8+kLyskSSpkNUxLQJeI90zfGSFIX1Ibj2G2JIS/mySHWYQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.7.0.tgz", + "integrity": "sha512-m5N0FVtxbCCDxNk55NGhsRpKJChYcupcuQHzMJc/Bll07IKZKn8amwYciyKFS9haU6AgzDAJ/ewvApr6Qg1DHw==", "dependencies": { "@babel/plugin-transform-react-jsx": "^7.22.15", "@babel/plugin-transform-react-jsx-development": "^7.22.5", @@ -4879,7 +4901,7 @@ }, "peerDependencies": { "@babel/core": "7.x", - "vite": "2.x || 3.x || 4.x" + "vite": "2.x || 3.x || 4.x || 5.x" } }, "node_modules/@prefresh/babel-plugin": { @@ -4937,41 +4959,6 @@ "node": ">=16.3.0" } }, - "node_modules/@puppeteer/browsers/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@puppeteer/browsers/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@puppeteer/browsers/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/@puppeteer/browsers/node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -5007,64 +4994,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@puppeteer/browsers/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@puppeteer/browsers/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@puppeteer/browsers/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@radix-ui/number": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", @@ -5752,9 +5681,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", - "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.12.0.tgz", + "integrity": "sha512-2hXv036Bux90e1GXTWSMfNzfDDK8LA8JYEWfyHxzvwdp6GyoWEovKc9cotb3KCKmkdwsIBuFGX7ScTWyiHv7Eg==", "engines": { "node": ">=14.0.0" } @@ -5771,6 +5700,150 @@ "node": ">= 8.0.0" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.0.tgz", + "integrity": "sha512-OINaBGY+Wc++U0rdr7BLuFClxcoWaVW3vQYqmQq6B3bqQ/2olkaoz+K8+af/Mmka/C2yN5j+L9scBkv4BtKsDA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.0.tgz", + "integrity": "sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.0.tgz", + "integrity": "sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.0.tgz", + "integrity": "sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.0.tgz", + "integrity": "sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.0.tgz", + "integrity": "sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.0.tgz", + "integrity": "sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.0.tgz", + "integrity": "sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.5.0.tgz", + "integrity": "sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.0.tgz", + "integrity": "sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.0.tgz", + "integrity": "sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.0.tgz", + "integrity": "sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -7620,9 +7693,9 @@ } }, "node_modules/@types/jasmine": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.1.tgz", - "integrity": "sha512-qL4GoZHHJl1JQ0vK31OtXMfkfGxYJnysmYz9kk0E8j5W96ThKykBF90uD3PcVmQUAzulbsaus2eFiBhCH5itfw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.2.tgz", + "integrity": "sha512-GJzYZWAr7aZuVsQwo77ErgdnqiXiz1lwsXXKgsJEwMlAxWQqjpiTGh0JOpLGXSlIFvIAFbgZTHs0u+jBzh/GFg==", "dev": true }, "node_modules/@types/json-schema": { @@ -7638,9 +7711,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.200", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.200.tgz", - "integrity": "sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==", + "version": "4.14.201", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.201.tgz", + "integrity": "sha512-y9euML0cim1JrykNxADLfaG0FgD1g/yTHwUs/Jg9ZIU7WKj2/4IW9Lbb1WZbvck78W/lfGXFfe+u2EGfIJXdLQ==", "dev": true }, "node_modules/@types/mdast": { @@ -7708,9 +7781,9 @@ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "version": "20.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.1.tgz", + "integrity": "sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==", "devOptional": true, "dependencies": { "undici-types": "~5.26.4" @@ -7756,9 +7829,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.36", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.36.tgz", - "integrity": "sha512-o9XFsHYLLZ4+sb9CWUYwHqFVoG61SesydF353vFMMsQziiyRu8np4n2OYMUSDZ8XuImxDr9c5tR7gidlH29Vnw==", + "version": "18.2.37", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.37.tgz", + "integrity": "sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -7766,18 +7839,18 @@ } }, "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.15", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.15.tgz", + "integrity": "sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==", "devOptional": true, "dependencies": { "@types/react": "*" } }, "node_modules/@types/react-redux": { - "version": "7.1.29", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.29.tgz", - "integrity": "sha512-orHCOWqBBQ1LP1uD6JVdXL+ZRTEWhGGne+VOPcXef03rC+QYdzktLhxR3ozymPDyZK0CNCUuQs9tyQhfg1ku+w==", + "version": "7.1.30", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.30.tgz", + "integrity": "sha512-i2kqM6YaUwFKduamV6QM/uHbb0eCP8f8ZQ/0yWf+BsAVVsZPRYJ9eeGWZ3uxLfWwwA0SrPRMTPTqsPFkY3HZdA==", "dev": true, "dependencies": { "@types/hoist-non-react-statics": "^3.3.0", @@ -7808,9 +7881,9 @@ } }, "node_modules/@types/react-router-redux": { - "version": "5.0.24", - "resolved": "https://registry.npmjs.org/@types/react-router-redux/-/react-router-redux-5.0.24.tgz", - "integrity": "sha512-yKwNofXUM8vrYASM1z8Qqr82dyHd3GGzmHWn0UAmEoVux/h1NsnTU7RrCjC+MEklD9fr1fg2DaT6mhT6FJHbCA==", + "version": "5.0.25", + "resolved": "https://registry.npmjs.org/@types/react-router-redux/-/react-router-redux-5.0.25.tgz", + "integrity": "sha512-D7gtxg/Assg2T3FWq7iKPGldYbx0QXi3tXww220nT4oLmocsD7IBi66nR6m44Zo1T1rPl4nHO0AveYn/hVeu+w==", "dev": true, "dependencies": { "@types/history": "^4.7.11", @@ -7933,16 +8006,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz", - "integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.11.0.tgz", + "integrity": "sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/type-utils": "6.10.0", - "@typescript-eslint/utils": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", + "@typescript-eslint/scope-manager": "6.11.0", + "@typescript-eslint/type-utils": "6.11.0", + "@typescript-eslint/utils": "6.11.0", + "@typescript-eslint/visitor-keys": "6.11.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -8001,15 +8074,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz", - "integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.11.0.tgz", + "integrity": "sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/typescript-estree": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", + "@typescript-eslint/scope-manager": "6.11.0", + "@typescript-eslint/types": "6.11.0", + "@typescript-eslint/typescript-estree": "6.11.0", + "@typescript-eslint/visitor-keys": "6.11.0", "debug": "^4.3.4" }, "engines": { @@ -8029,13 +8102,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz", - "integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.11.0.tgz", + "integrity": "sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0" + "@typescript-eslint/types": "6.11.0", + "@typescript-eslint/visitor-keys": "6.11.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -8046,13 +8119,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz", - "integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.11.0.tgz", + "integrity": "sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.10.0", - "@typescript-eslint/utils": "6.10.0", + "@typescript-eslint/typescript-estree": "6.11.0", + "@typescript-eslint/utils": "6.11.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -8073,9 +8146,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz", - "integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.11.0.tgz", + "integrity": "sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -8086,13 +8159,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz", - "integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.11.0.tgz", + "integrity": "sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", + "@typescript-eslint/types": "6.11.0", + "@typescript-eslint/visitor-keys": "6.11.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -8146,17 +8219,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz", - "integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.11.0.tgz", + "integrity": "sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/typescript-estree": "6.10.0", + "@typescript-eslint/scope-manager": "6.11.0", + "@typescript-eslint/types": "6.11.0", + "@typescript-eslint/typescript-estree": "6.11.0", "semver": "^7.5.4" }, "engines": { @@ -8204,12 +8277,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz", - "integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.11.0.tgz", + "integrity": "sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/types": "6.11.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -8226,22 +8299,22 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@vitejs/plugin-react": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.1.1.tgz", - "integrity": "sha512-Jie2HERK+uh27e+ORXXwEP5h0Y2lS9T2PRGbfebiHGlwzDO0dEnd2aNtOR/qjBlPb1YgxwAONeblL1xqLikLag==", + "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.23.2", - "@babel/plugin-transform-react-jsx-self": "^7.22.5", - "@babel/plugin-transform-react-jsx-source": "^7.22.5", - "@types/babel__core": "^7.20.3", + "@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/@vitejs/plugin-react/node_modules/react-refresh": { @@ -8523,14 +8596,14 @@ } }, "node_modules/@wdio/config": { - "version": "8.22.1", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.22.1.tgz", - "integrity": "sha512-ttxvtKFaOB5BJ6eDl1Lcq8STLN3V+yOEEkVXIrNqOdFOrAaljqzX20vaEmNtj9pQIoTZs2WoX8K2cmXdyxw+DA==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.23.1.tgz", + "integrity": "sha512-MljMBvMr+QYoy4/FytFHWorFE3CrBdEWuroOaGzC/0gkVOcHRO4nOy2rKahdcPXJAuxFwJNqqHhBPj+4tWiz9w==", "dev": true, "dependencies": { "@wdio/logger": "8.16.17", - "@wdio/types": "8.21.0", - "@wdio/utils": "8.22.0", + "@wdio/types": "8.23.1", + "@wdio/utils": "8.23.1", "decamelize": "^6.0.0", "deepmerge-ts": "^5.0.0", "glob": "^10.2.2", @@ -8607,15 +8680,15 @@ } }, "node_modules/@wdio/protocols": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.22.0.tgz", - "integrity": "sha512-2y5lTYAAzQWvExL1FGCe6gujVpOpTxk+czT0Qx0j0iUlfdOwp9gWVLYl8ochTJHzfeM45GHvuZ/ndT52grsTtg==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.23.0.tgz", + "integrity": "sha512-2XTzD+lqQP3g8BWn+Bn5BTFzjHqzZNwq7DjlYrb27Bq8nOA+1DEcj3WzQ6V6CktTnKI/LAYKA1IFAF//Azrp/Q==", "dev": true }, "node_modules/@wdio/repl": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-8.10.1.tgz", - "integrity": "sha512-VZ1WFHTNKjR8Ga97TtV2SZM6fvRjWbYI2i/f4pJB4PtusorKvONAMJf2LQcUBIyzbVobqr7KSrcjmSwRolI+yw==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-8.23.1.tgz", + "integrity": "sha512-u6zG2cgBm67V5/WlQzadWqLGXs3moH8MOsgoljULQncelSBBZGZ5DyLB4p7jKcUAsKtMjgmFQmIvpQoqmyvdfg==", "dev": true, "dependencies": { "@types/node": "^20.1.0" @@ -8625,9 +8698,9 @@ } }, "node_modules/@wdio/types": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.21.0.tgz", - "integrity": "sha512-mZFOipmu541z0BXBW7mBAUjM4zZWhNnP/w321OSYx082Jy4d0UHMFXYWaOC98DIMBPahJu/yLX2WH5iCrazKSA==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.23.1.tgz", + "integrity": "sha512-ym3tWSUGvmKwQ9vNPQfcKvJwGNK/Fh3e5WloNj3zoaUTKgD0aJeFQ0+Dz6KGlNowA0j5VkcqTTXo+UZ3l4Cx9A==", "dev": true, "dependencies": { "@types/node": "^20.1.0" @@ -8637,14 +8710,14 @@ } }, "node_modules/@wdio/utils": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.22.0.tgz", - "integrity": "sha512-n09ZLfe6NADQ7XyeO45nPBtNHi8nwu1RpOI18c94SrRS7gmO0CQWpjSilJCoHvu10ekUPJE7Oh/1Nw28w7ceVg==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.23.1.tgz", + "integrity": "sha512-VA47MOpt+7svHj3W9r+DUl3t73tJbjF7+ZXL0Lk7QLe79xevd+mPk+YmuTEepn+0MljJWAuqRCEKFG/HK77RNw==", "dev": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", "@wdio/logger": "8.16.17", - "@wdio/types": "8.21.0", + "@wdio/types": "8.23.1", "decamelize": "^6.0.0", "deepmerge-ts": "^5.1.0", "edgedriver": "^5.3.5", @@ -10277,6 +10350,72 @@ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -10489,6 +10628,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -11972,6 +12120,7 @@ "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -12100,15 +12249,15 @@ } }, "node_modules/eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -14512,9 +14661,9 @@ } }, "node_modules/http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dev": true, "dependencies": { "quick-lru": "^5.1.1", @@ -18629,11 +18778,11 @@ } }, "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==", "dependencies": { - "playwright-core": "1.39.0" + "playwright-core": "1.40.0" }, "bin": { "playwright": "cli.js" @@ -18646,9 +18795,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==", "bin": { "playwright-core": "cli.js" }, @@ -19475,9 +19624,9 @@ } }, "node_modules/preact": { - "version": "10.18.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.18.2.tgz", - "integrity": "sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==", + "version": "10.19.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.2.tgz", + "integrity": "sha512-UA9DX/OJwv6YwP9Vn7Ti/vF80XL+YA5H2l7BpCtUr3ya8LWHFzpiO5R+N7dN16ujpIxhekRFuOOF82bXX7K/lg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -20114,16 +20263,15 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/react-markdown": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.0.tgz", - "integrity": "sha512-v6yNf3AB8GfJ8lCpUvzxAXKxgsHpdmWPlcVRQ6Nocsezp255E/IDrF31kLQsPJeB/cKto/geUwjU36wH784FCA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "html-url-attributes": "^3.0.0", "mdast-util-to-hast": "^13.0.0", - "micromark-util-sanitize-uri": "^2.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "unified": "^11.0.0", @@ -20255,11 +20403,11 @@ } }, "node_modules/react-router": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", - "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.19.0.tgz", + "integrity": "sha512-0W63PKCZ7+OuQd7Tm+RbkI8kCLmn4GPjDbX61tWljPxWgqTKlEpeQUwPkT1DRjYhF8KSihK0hQpmhU4uxVMcdw==", "dependencies": { - "@remix-run/router": "1.11.0" + "@remix-run/router": "1.12.0" }, "engines": { "node": ">=14.0.0" @@ -20269,12 +20417,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", - "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.19.0.tgz", + "integrity": "sha512-N6dWlcgL2w0U5HZUUqU2wlmOrSb3ighJmtQ438SWbhB1yuLTXQ8yyTBMK3BSvVjp7gBtKurT554nCtMOgxCZmQ==", "dependencies": { - "@remix-run/router": "1.11.0", - "react-router": "6.18.0" + "@remix-run/router": "1.12.0", + "react-router": "6.19.0" }, "engines": { "node": ">=14.0.0" @@ -20337,9 +20485,9 @@ } }, "node_modules/react-tooltip": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.22.0.tgz", - "integrity": "sha512-xbJBRY1LyHYd7j00UeBOqZR9SH/1S47Pe+m8vM1a+ZXglkeSNnBt5YYoPttU/amjC/VZJAPQ8+2B9x8Fl8U1qA==", + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.23.0.tgz", + "integrity": "sha512-MYqn6n+Af8NHHDL3zrSqzVSoK2LLqTNFp30CuuHCYlBEf+q88FWfg+8pSO+0GnDvOa5ZaryNDq9sAVQeNhnsgw==", "dependencies": { "@floating-ui/dom": "^1.0.0", "classnames": "^2.3.0" @@ -21369,6 +21517,7 @@ "version": "3.29.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -24695,28 +24844,28 @@ } }, "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.0.tgz", + "integrity": "sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==", "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "esbuild": "^0.19.3", + "postcss": "^8.4.31", + "rollup": "^4.2.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", + "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", @@ -25087,6 +25236,399 @@ "vite": ">=3" } }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz", + "integrity": "sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz", + "integrity": "sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.5.tgz", + "integrity": "sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz", + "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz", + "integrity": "sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz", + "integrity": "sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz", + "integrity": "sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz", + "integrity": "sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz", + "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz", + "integrity": "sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz", + "integrity": "sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz", + "integrity": "sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz", + "integrity": "sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz", + "integrity": "sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz", + "integrity": "sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz", + "integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz", + "integrity": "sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz", + "integrity": "sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz", + "integrity": "sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz", + "integrity": "sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz", + "integrity": "sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz", + "integrity": "sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz", + "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.5", + "@esbuild/android-arm64": "0.19.5", + "@esbuild/android-x64": "0.19.5", + "@esbuild/darwin-arm64": "0.19.5", + "@esbuild/darwin-x64": "0.19.5", + "@esbuild/freebsd-arm64": "0.19.5", + "@esbuild/freebsd-x64": "0.19.5", + "@esbuild/linux-arm": "0.19.5", + "@esbuild/linux-arm64": "0.19.5", + "@esbuild/linux-ia32": "0.19.5", + "@esbuild/linux-loong64": "0.19.5", + "@esbuild/linux-mips64el": "0.19.5", + "@esbuild/linux-ppc64": "0.19.5", + "@esbuild/linux-riscv64": "0.19.5", + "@esbuild/linux-s390x": "0.19.5", + "@esbuild/linux-x64": "0.19.5", + "@esbuild/netbsd-x64": "0.19.5", + "@esbuild/openbsd-x64": "0.19.5", + "@esbuild/sunos-x64": "0.19.5", + "@esbuild/win32-arm64": "0.19.5", + "@esbuild/win32-ia32": "0.19.5", + "@esbuild/win32-x64": "0.19.5" + } + }, + "node_modules/vite/node_modules/rollup": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.5.0.tgz", + "integrity": "sha512-41xsWhzxqjMDASCxH5ibw1mXk+3c4TNI2UjKbLxe6iEzrSQnqOzmmK8/3mufCPbzHNJ2e04Fc1ddI35hHy+8zg==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.5.0", + "@rollup/rollup-android-arm64": "4.5.0", + "@rollup/rollup-darwin-arm64": "4.5.0", + "@rollup/rollup-darwin-x64": "4.5.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.5.0", + "@rollup/rollup-linux-arm64-gnu": "4.5.0", + "@rollup/rollup-linux-arm64-musl": "4.5.0", + "@rollup/rollup-linux-x64-gnu": "4.5.0", + "@rollup/rollup-linux-x64-musl": "4.5.0", + "@rollup/rollup-win32-arm64-msvc": "4.5.0", + "@rollup/rollup-win32-ia32-msvc": "4.5.0", + "@rollup/rollup-win32-x64-msvc": "4.5.0", + "fsevents": "~2.3.2" + } + }, "node_modules/vitest": { "version": "0.34.6", "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", @@ -25233,15 +25775,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/wait-port/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, "node_modules/wait-port/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -25312,18 +25845,18 @@ } }, "node_modules/webdriver": { - "version": "8.22.1", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.22.1.tgz", - "integrity": "sha512-EQY2YjbOZInuvYAqEEP7w7voWSy9cPMt3UB1o1+obKhrD8dkIDZNkPocpZUI59PokqHTXk4zIclV50k1KpyyiA==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.23.1.tgz", + "integrity": "sha512-0PLN6cqP5cSorZBU2OBk2XKhxKpWWKzvClHBiGCqZIuofZ3kPTq7uYFapej0c4xFmKXHEiLIN7Qkt4H3gWTs8g==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "8.22.1", + "@wdio/config": "8.23.1", "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.22.0", - "@wdio/types": "8.21.0", - "@wdio/utils": "8.22.0", + "@wdio/protocols": "8.23.0", + "@wdio/types": "8.23.1", + "@wdio/utils": "8.23.1", "deepmerge-ts": "^5.1.0", "got": "^ 12.6.1", "ky": "^0.33.0", @@ -25380,18 +25913,18 @@ } }, "node_modules/webdriverio": { - "version": "8.22.1", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.22.1.tgz", - "integrity": "sha512-SFqCKM93DPZU5Vn2r9OMi5EFbJHmWnIf8KXZvdzVOkGzQxFDtJ8LDgzwH1/LZxjG9nO+D7y+4wyQl7V24b8L+Q==", + "version": "8.23.1", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.23.1.tgz", + "integrity": "sha512-M5F7J3J0L7GpHbcgz5rZNAX5/JgsCggVg8AGY2pYISiS1eN3WJdXve8VVXB2GtcLy12qCZwjoowl91nWTqNclQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.22.1", + "@wdio/config": "8.23.1", "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.22.0", - "@wdio/repl": "8.10.1", - "@wdio/types": "8.21.0", - "@wdio/utils": "8.22.0", + "@wdio/protocols": "8.23.0", + "@wdio/repl": "8.23.1", + "@wdio/types": "8.23.1", + "@wdio/utils": "8.23.1", "archiver": "^6.0.0", "aria-query": "^5.0.0", "css-shorthand-properties": "^1.1.1", @@ -25408,7 +25941,7 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^11.0.1", - "webdriver": "8.22.1" + "webdriver": "8.23.1" }, "engines": { "node": "^16.13 || >=18" @@ -25451,21 +25984,6 @@ } } }, - "node_modules/webdriverio/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/webdriverio/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -25475,20 +25993,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/webdriverio/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/webdriverio/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -25642,23 +26146,6 @@ "node": ">=8" } }, - "node_modules/webdriverio/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/webdriverio/node_modules/ws": { "version": "8.13.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", @@ -26116,6 +26603,24 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", @@ -26125,6 +26630,35 @@ "node": ">=10" } }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 80c95a15..f1564bd7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,12 +6,12 @@ "@babel/preset-react": "^7.23.3", "@emoji-mart/data": "^1.1.2", "@emoji-mart/react": "^1.1.1", - "@floating-ui/react-dom": "^2.0.2", + "@floating-ui/react-dom": "^2.0.4", "@hookform/error-message": "^2.0.1", "@hookform/resolvers": "^3.3.2", "@marker.io/browser": "^0.19.0", - "@microsoft/signalr": "^7.0.12", - "@preact/preset-vite": "^2.6.0", + "@microsoft/signalr": "^8.0.0", + "@preact/preset-vite": "^2.7.0", "@reduxjs/toolkit": "^1.9.7", "bootstrap": "^4.6.1", "classnames": "^2.3.2", @@ -22,22 +22,22 @@ "history": "^5.3.0", "mousetrap": "1.6.5", "oidc-client-ts": "^2.4.0", - "playwright": "^1.39.0", - "preact": "10.18.2", + "playwright": "^1.40.0", + "preact": "10.19.2", "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "^7.48.2", "react-loader-spinner": "5.4.5", - "react-markdown": "9.0.0", + "react-markdown": "9.0.1", "react-popper": "2.3.0", "react-push-preview": "^0.1.9", "react-redux": "8.1.3", - "react-router": "6.18.0", - "react-router-dom": "6.18.0", + "react-router": "6.19.0", + "react-router-dom": "6.19.0", "react-router-redux": "4.0.8", "react-split": "2.0.14", "react-toastify": "^9.1.3", - "react-tooltip": "^5.22.0", + "react-tooltip": "^5.23.0", "reactstrap": "8.9.0", "redux": "4.2.1", "redux-thunk": "2.4.2", @@ -66,26 +66,26 @@ "@types/core-js": "2.5.8", "@types/date-fns": "2.6.0", "@types/emoji-mart": "^3.0.12", - "@types/jasmine": "5.1.1", - "@types/lodash": "4.14.200", + "@types/jasmine": "5.1.2", + "@types/lodash": "4.14.201", "@types/mjml": "4.7.4", "@types/mousetrap": "1.6.14", - "@types/node": "20.8.10", - "@types/react": "18.2.36", - "@types/react-dom": "18.2.14", - "@types/react-redux": "7.1.29", + "@types/node": "20.9.1", + "@types/react": "18.2.37", + "@types/react-dom": "18.2.15", + "@types/react-redux": "7.1.30", "@types/react-router": "5.1.20", "@types/react-router-dom": "5.3.3", - "@types/react-router-redux": "5.0.24", + "@types/react-router-redux": "5.0.25", "@types/reactstrap": "8.7.2", "@types/yup": "0.29.14", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", - "@vitejs/plugin-react": "^4.0.3", + "@typescript-eslint/eslint-plugin": "^6.11.0", + "@typescript-eslint/parser": "^6.11.0", + "@vitejs/plugin-react": "^4.2.0", "@vitest/browser": "^0.34.6", "@vitest/coverage-istanbul": "^0.34.6", "@vitest/coverage-v8": "^0.34.6", - "eslint": "^8.53.0", + "eslint": "^8.54.0", "eslint-config-airbnb-typescript": "^17.1.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-jsx-a11y": "^6.8.0", @@ -106,11 +106,11 @@ "stylelint-scss": "^5.3.1", "typemoq": "2.1.0", "typescript": "^5.2.2", - "vite": "^4.5.0", + "vite": "^5.0.0", "vite-plugin-favicon": "^1.0.8", "vite-plugin-mkcert": "^1.16.0", "vitest": "^0.34.6", - "webdriverio": "^8.16.10" + "webdriverio": "^8.23.1" }, "overrides": { "autoprefixer": "10.4.5" diff --git a/frontend/src/app/App.tsx b/frontend/src/app/App.tsx index d5f0561d..c86aa24d 100644 --- a/frontend/src/app/App.tsx +++ b/frontend/src/app/App.tsx @@ -27,7 +27,7 @@ export const App = () => { } /> - } /> { if (!textarea) { return; } - + const editor = CodeMirror.fromTextArea(textarea, { foldGutter: true, gutters: [ diff --git a/frontend/src/app/framework/react/Marker.tsx b/frontend/src/app/framework/react/Marker.tsx index 23b828b6..e1ae5469 100644 --- a/frontend/src/app/framework/react/Marker.tsx +++ b/frontend/src/app/framework/react/Marker.tsx @@ -19,7 +19,7 @@ export const Marker = (props: MarkerProps) => { const { projectId } = props; const widgetRef = React.useRef(); - React.useEffect(() => { + React.useEffect(() => { if (projectId) { const setup = async (project: string) => { const widget = await markerSDK.loadWidget({ project }); diff --git a/frontend/src/app/index.tsx b/frontend/src/app/index.tsx index 0667a24c..5de57241 100644 --- a/frontend/src/app/index.tsx +++ b/frontend/src/app/index.tsx @@ -19,7 +19,7 @@ if (element) { const initHistory = createBrowserHistory({ window }); const initStory = createAppStore(initHistory); - const Root = + const Root = diff --git a/frontend/src/app/pages/TopNav.tsx b/frontend/src/app/pages/TopNav.tsx index 02e2d6d5..062fa80f 100644 --- a/frontend/src/app/pages/TopNav.tsx +++ b/frontend/src/app/pages/TopNav.tsx @@ -37,7 +37,7 @@ export const TopNav = () => { - + {userProfile?.token && diff --git a/frontend/src/app/pages/app/AppSettings.tsx b/frontend/src/app/pages/app/AppSettings.tsx index bbe1c7af..c3612727 100644 --- a/frontend/src/app/pages/app/AppSettings.tsx +++ b/frontend/src/app/pages/app/AppSettings.tsx @@ -51,7 +51,7 @@ export const AppSettings = (props: AppSettingsProps) => { const doSave = useEventCallback((params: UpsertAppDto) => { dispatch(upsertApp({ appId: appDetails.id, params })); }); - + const form = useForm({ resolver: yupResolver(FormSchema), defaultValues: appDetails, mode: 'onChange' }); React.useEffect(() => { diff --git a/frontend/src/app/pages/apps/AppDialog.tsx b/frontend/src/app/pages/apps/AppDialog.tsx index edc193ac..36c5ffd3 100644 --- a/frontend/src/app/pages/apps/AppDialog.tsx +++ b/frontend/src/app/pages/apps/AppDialog.tsx @@ -54,9 +54,9 @@ export const AppDialog = (props: AppDialogProps) => { const doSave = useEventCallback((params: CreateAppParams) => { dispatch(createApp({ params })); }); - + const form = useForm({ resolver: yupResolver(FormSchema), mode: 'onChange' }); - + return ( @@ -67,7 +67,7 @@ export const AppDialog = (props: AppDialogProps) => { - +
diff --git a/frontend/src/app/pages/apps/AppsPage.tsx b/frontend/src/app/pages/apps/AppsPage.tsx index 5f592e8d..c71dfb68 100644 --- a/frontend/src/app/pages/apps/AppsPage.tsx +++ b/frontend/src/app/pages/apps/AppsPage.tsx @@ -52,9 +52,9 @@ export const AppsPage = () => { {app.name ? ( -

{app.name}

+

{app.name}

- ) : ( + ) : (

{texts.common.noName}

)}
diff --git a/frontend/src/app/pages/email-templates/EmailTemplateCard.tsx b/frontend/src/app/pages/email-templates/EmailTemplateCard.tsx index ad12a939..5cf43cec 100644 --- a/frontend/src/app/pages/email-templates/EmailTemplateCard.tsx +++ b/frontend/src/app/pages/email-templates/EmailTemplateCard.tsx @@ -51,8 +51,8 @@ export const EmailTemplateCard = (props: EmailTemplateCardProps) => { {template.name ? ( -

{template.name}

- ) : ( +

{template.name}

+ ) : (

{texts.common.noName}

)} diff --git a/frontend/src/app/pages/email-templates/editor/EmailHtmlEditor.tsx b/frontend/src/app/pages/email-templates/editor/EmailHtmlEditor.tsx index bc55137f..f71bdd14 100644 --- a/frontend/src/app/pages/email-templates/editor/EmailHtmlEditor.tsx +++ b/frontend/src/app/pages/email-templates/editor/EmailHtmlEditor.tsx @@ -36,7 +36,7 @@ export const EmailHtmlEditor = (props: EmailHtmlEditorProps) => { appId, onBlur, onChange, - schema, + schema, value, } = props; diff --git a/frontend/src/app/pages/email-templates/editor/EmailHtmlTextEditor.tsx b/frontend/src/app/pages/email-templates/editor/EmailHtmlTextEditor.tsx index ab531787..273e93af 100644 --- a/frontend/src/app/pages/email-templates/editor/EmailHtmlTextEditor.tsx +++ b/frontend/src/app/pages/email-templates/editor/EmailHtmlTextEditor.tsx @@ -8,6 +8,9 @@ // tslint:disable: quotemark import * as CodeMirror from 'codemirror'; +import * as React from 'react'; +import { useEventCallback } from '@app/framework'; +import { EmailPreviewErrorDto, MjmlSchema } from '@app/service'; import 'codemirror/addon/dialog/dialog'; import 'codemirror/addon/edit/closetag'; import 'codemirror/addon/edit/matchtags'; @@ -24,9 +27,6 @@ import 'codemirror/addon/search/search'; import 'codemirror/addon/search/searchcursor'; import 'codemirror/addon/selection/active-line'; import 'codemirror/mode/xml/xml'; -import * as React from 'react'; -import { useEventCallback } from '@app/framework'; -import { EmailPreviewErrorDto, MjmlSchema } from '@app/service'; import { completeAfter, completeIfAfterLt, completeIfInTag } from './helpers'; export interface EmailHtmlTextEditorProps { @@ -67,7 +67,7 @@ export const EmailHtmlTextEditor = (props: EmailHtmlTextEditorProps) => { if (!textarea) { return; } - + const editor = CodeMirror.fromTextArea(textarea, { autoCloseTags: true, mode: 'xml', diff --git a/frontend/src/app/pages/email-templates/editor/EmailTextEditor.tsx b/frontend/src/app/pages/email-templates/editor/EmailTextEditor.tsx index 7f6eec4d..cab91103 100644 --- a/frontend/src/app/pages/email-templates/editor/EmailTextEditor.tsx +++ b/frontend/src/app/pages/email-templates/editor/EmailTextEditor.tsx @@ -26,7 +26,7 @@ export interface EmailTextEditorProps { } export const EmailTextEditor = (props: EmailTextEditorProps) => { - const { + const { appId, onBlur, onChange, diff --git a/frontend/src/app/pages/messaging-templates/MessagingTemplateCard.tsx b/frontend/src/app/pages/messaging-templates/MessagingTemplateCard.tsx index 3c96a4d0..cfeca92b 100644 --- a/frontend/src/app/pages/messaging-templates/MessagingTemplateCard.tsx +++ b/frontend/src/app/pages/messaging-templates/MessagingTemplateCard.tsx @@ -31,8 +31,8 @@ export const MessagingTemplateCard = (props: MessagingTemplateCardProps) => { {template.name ? ( -

{template.name}

- ) : ( +

{template.name}

+ ) : (

{texts.common.noName}

)} diff --git a/frontend/src/app/pages/publish/PublishDialog.tsx b/frontend/src/app/pages/publish/PublishDialog.tsx index a704ff59..a22b9c30 100644 --- a/frontend/src/app/pages/publish/PublishDialog.tsx +++ b/frontend/src/app/pages/publish/PublishDialog.tsx @@ -139,7 +139,7 @@ const PublishDialogInner = () => { setViewModus(1)} active={viewModus === 1}>{texts.common.channels} - + @@ -198,14 +198,14 @@ const PublishDialogInner = () => { <> - + )}
- + {viewFullscreen &&
diff --git a/frontend/src/app/pages/sms-templates/SmsTemplateCard.tsx b/frontend/src/app/pages/sms-templates/SmsTemplateCard.tsx index d46254f2..e1caf1d4 100644 --- a/frontend/src/app/pages/sms-templates/SmsTemplateCard.tsx +++ b/frontend/src/app/pages/sms-templates/SmsTemplateCard.tsx @@ -31,8 +31,8 @@ export const SmsTemplateCard = (props: SmsTemplateCardProps) => { {template.name ? ( -

{template.name}

- ) : ( +

{template.name}

+ ) : (

{texts.common.noName}

)} diff --git a/frontend/src/app/pages/system-users/SystemUserDialog.tsx b/frontend/src/app/pages/system-users/SystemUserDialog.tsx index 33600d2e..6929043e 100644 --- a/frontend/src/app/pages/system-users/SystemUserDialog.tsx +++ b/frontend/src/app/pages/system-users/SystemUserDialog.tsx @@ -84,13 +84,13 @@ export const SystemUserDialog = (props: SystemUserDialogProps) => {
- + - + - +
diff --git a/frontend/src/app/pages/system-users/SystemUserRow.tsx b/frontend/src/app/pages/system-users/SystemUserRow.tsx index e346d013..46d88be4 100644 --- a/frontend/src/app/pages/system-users/SystemUserRow.tsx +++ b/frontend/src/app/pages/system-users/SystemUserRow.tsx @@ -7,7 +7,7 @@ import * as React from 'react'; import { Button } from 'reactstrap'; -import { Confirm, Icon } from '@app/framework'; +import { Confirm, Icon } from '@app/framework'; import { SystemUserDto } from '@app/service'; import { texts } from '@app/texts'; @@ -34,7 +34,7 @@ export interface SystemUserRowProps { export const SystemUserRow = React.memo((props: SystemUserRowProps) => { const { onDelete, - onEdit, + onEdit, onLock, onUnlock, user, diff --git a/frontend/src/app/pages/templates/TemplateForm.tsx b/frontend/src/app/pages/templates/TemplateForm.tsx index b0506cff..6b7a1050 100644 --- a/frontend/src/app/pages/templates/TemplateForm.tsx +++ b/frontend/src/app/pages/templates/TemplateForm.tsx @@ -123,14 +123,14 @@ export const TemplateForm = (props: TemplateFormProps) => { - +
- +
diff --git a/frontend/src/app/pages/topics/TopicDialog.tsx b/frontend/src/app/pages/topics/TopicDialog.tsx index 1e0d8fd1..12defd38 100644 --- a/frontend/src/app/pages/topics/TopicDialog.tsx +++ b/frontend/src/app/pages/topics/TopicDialog.tsx @@ -66,7 +66,7 @@ export const TopicDialog = (props: TopicDialogProps) => { const doSave = useEventCallback((params: UpsertTopicDto) => { dispatch(upsertTopic({ appId, params, scope })); }); - + const defaultValues: any = React.useMemo(() => { const result: Partial = Types.clone(topic || {}); diff --git a/frontend/src/app/pages/topics/TopicRow.tsx b/frontend/src/app/pages/topics/TopicRow.tsx index 75518510..fec84854 100644 --- a/frontend/src/app/pages/topics/TopicRow.tsx +++ b/frontend/src/app/pages/topics/TopicRow.tsx @@ -15,7 +15,7 @@ import { texts } from '@app/texts'; export interface TopicRowProps { // The topic. topic: TopicDto; - + // The language. language: string; @@ -31,8 +31,8 @@ export interface TopicRowProps { export const TopicRow = React.memo((props: TopicRowProps) => { const { - language, - showCounters, + language, + showCounters, onDelete, onEdit, topic, @@ -63,11 +63,11 @@ export const TopicRow = React.memo((props: TopicRowProps) => { {topic.isExplicit && - <> + <> - + {({ onClick }) => ( - {({ scheduleUpdate }) => + {({ scheduleUpdate }) =>
{texts.common.webPush}
@@ -106,7 +106,7 @@ export const ButtonWebPush = ({ appId, user }: { appId: string; user: UserDto }) - + @@ -119,7 +119,7 @@ export const ButtonWebPush = ({ appId, user }: { appId: string; user: UserDto })
}
- + ); }; @@ -145,7 +145,7 @@ export const ButtonMobilePush = ({ appId, user }: { appId: string; user: UserDto - {({ scheduleUpdate }) => + {({ scheduleUpdate }) =>
{texts.common.mobilePush}
@@ -181,7 +181,7 @@ export const ButtonMobilePush = ({ appId, user }: { appId: string; user: UserDto <>{texts.common.notYet} )} - + diff --git a/frontend/src/app/pages/user/DemoPage.tsx b/frontend/src/app/pages/user/DemoPage.tsx index 4c70c776..e037f9f2 100644 --- a/frontend/src/app/pages/user/DemoPage.tsx +++ b/frontend/src/app/pages/user/DemoPage.tsx @@ -52,7 +52,7 @@ export const DemoPage = () => {
Logo
- +

{texts.demo.title}

diff --git a/frontend/src/app/pages/user/NotificationDetails.tsx b/frontend/src/app/pages/user/NotificationDetails.tsx index e69dea0b..c7042f35 100644 --- a/frontend/src/app/pages/user/NotificationDetails.tsx +++ b/frontend/src/app/pages/user/NotificationDetails.tsx @@ -57,9 +57,9 @@ export const NotificationDetails = (props: NotificationDetailsProps) => { , )} - + - + diff --git a/frontend/src/app/pages/user/NotificationRow.tsx b/frontend/src/app/pages/user/NotificationRow.tsx index d1c3a8f9..c10a5637 100644 --- a/frontend/src/app/pages/user/NotificationRow.tsx +++ b/frontend/src/app/pages/user/NotificationRow.tsx @@ -22,7 +22,7 @@ export const NotificationRow = React.memo((props: NotificationRowProps) => { const { notification } = props; const [isOpen, setIsOpen] = React.useState(0); - + const nonWebStatus = Object.entries(props.notification.channels).filter(x => x[0] !== 'web').map(x => x[1]); const numSkipped = nonWebStatus.filter(x => !!Object.values(x.status).find(x => x.status === 'Skipped')).length; const numHandled = nonWebStatus.filter(x => !!Object.values(x.status).find(x => x.status === 'Handled')).length; diff --git a/frontend/src/app/pages/user/SubscriptionDialog.tsx b/frontend/src/app/pages/user/SubscriptionDialog.tsx index 930451d4..d737d031 100644 --- a/frontend/src/app/pages/user/SubscriptionDialog.tsx +++ b/frontend/src/app/pages/user/SubscriptionDialog.tsx @@ -82,7 +82,7 @@ export const SubscriptionDialog = (props: SubscriptionDialogProps) => { - + diff --git a/frontend/src/app/pages/user/UserDetails.tsx b/frontend/src/app/pages/user/UserDetails.tsx index 469bd725..291a1711 100644 --- a/frontend/src/app/pages/user/UserDetails.tsx +++ b/frontend/src/app/pages/user/UserDetails.tsx @@ -24,9 +24,9 @@ export interface UserDetailsProps { export const UserDetails = (props: UserDetailsProps) => { const { appId, user } = props; - + const dispatch = useDispatch(); - + const doPublish = useEventCallback(() => { dispatch(togglePublishDialog({ open: true, values: { topic: `users/${user.id}` } })); }); diff --git a/frontend/src/app/pages/users/UserDialog.tsx b/frontend/src/app/pages/users/UserDialog.tsx index e5e40a4b..e4a7d28e 100644 --- a/frontend/src/app/pages/users/UserDialog.tsx +++ b/frontend/src/app/pages/users/UserDialog.tsx @@ -95,7 +95,7 @@ export const UserDialog = (props: UserDialogProps) => {
  - +