diff --git a/.github/workflows/deploy-to-production.yml b/.github/workflows/deploy-to-production.yml index 4f33cff4..8bb37752 100644 --- a/.github/workflows/deploy-to-production.yml +++ b/.github/workflows/deploy-to-production.yml @@ -18,7 +18,7 @@ jobs: version: 9 - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Use Node.js - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version-file: ".node-version" cache: pnpm diff --git a/.github/workflows/deploy-to-staging.yml b/.github/workflows/deploy-to-staging.yml index 762afb50..66f7024c 100644 --- a/.github/workflows/deploy-to-staging.yml +++ b/.github/workflows/deploy-to-staging.yml @@ -19,7 +19,7 @@ jobs: version: 9 - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Use Node.js - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version-file: ".node-version" cache: pnpm diff --git a/.github/workflows/sanity-check.yml b/.github/workflows/sanity-check.yml index dd43cd2f..297ae288 100644 --- a/.github/workflows/sanity-check.yml +++ b/.github/workflows/sanity-check.yml @@ -18,7 +18,7 @@ jobs: version: 9 - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Use Node.js - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version-file: ".node-version" cache: pnpm diff --git a/.node-version b/.node-version index 90756595..b8e593f5 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.15.0 +20.15.1 diff --git a/package.json b/package.json index 9905c030..c96d6a30 100644 --- a/package.json +++ b/package.json @@ -7,26 +7,26 @@ "@apollo/client": "3.10.8", "@emotion/react": "11.11.4", "@emotion/styled": "11.11.5", - "@fontsource/inter": "5.0.18", + "@fontsource/inter": "5.0.19", "@fontsource/mulish": "5.0.18", "@fontsource/poppins": "5.0.14", "@graphql-typed-document-node/core": "3.2.0", "@jonkoops/matomo-tracker-react": "0.7.0", - "@lingui/conf": "4.11.1", - "@lingui/core": "4.11.1", - "@lingui/detect-locale": "4.11.1", - "@lingui/macro": "4.11.1", - "@lingui/react": "4.11.1", - "@mui/icons-material": "5.15.21", - "@mui/lab": "5.0.0-alpha.170", - "@mui/material": "5.15.21", - "@mui/x-data-grid": "7.8.0", - "@mui/x-date-pickers": "7.8.0", + "@lingui/conf": "4.11.2", + "@lingui/core": "4.11.2", + "@lingui/detect-locale": "4.11.2", + "@lingui/macro": "4.11.2", + "@lingui/react": "4.11.2", + "@mui/icons-material": "5.16.0", + "@mui/lab": "5.0.0-alpha.171", + "@mui/material": "5.16.0", + "@mui/x-data-grid": "7.9.0", + "@mui/x-date-pickers": "7.9.0", "bignumber.js": "9.1.2", "dayjs": "1.11.11", "formik": "2.4.6", "graphql": "16.9.0", - "highcharts": "11.4.3", + "highcharts": "11.4.6", "highcharts-react-official": "3.2.1", "immer": "10.1.1", "lodash": "4.17.21", @@ -36,6 +36,7 @@ "react-router-dom": "5.3.4", "react-virtualized-auto-sizer": "1.0.24", "react-window": "1.8.10", + "swr": "2.2.5", "tweetnacl": "1.0.3", "yup": "1.4.0" }, @@ -60,11 +61,11 @@ "devDependencies": { "@eslint/js": "8.57.0", "@graphql-codegen/cli": "5.0.2", - "@graphql-codegen/client-preset": "4.3.1", + "@graphql-codegen/client-preset": "4.3.2", "@graphql-codegen/introspection": "4.0.3", "@graphql-eslint/eslint-plugin": "3.20.1", - "@lingui/cli": "4.11.1", - "@lingui/vite-plugin": "4.11.1", + "@lingui/cli": "4.11.2", + "@lingui/vite-plugin": "4.11.2", "@parcel/watcher": "2.4.1", "@types/lodash": "4.17.6", "@types/papaparse": "5.3.14", @@ -81,14 +82,14 @@ "eslint-plugin-react": "7.34.3", "eslint-plugin-react-hooks": "4.6.2", "husky": "9.0.11", - "knip": "5.23.2", + "knip": "5.24.2", "lint-staged": "15.2.7", - "npm-run-all2": "6.2.0", + "npm-run-all2": "6.2.2", "prettier": "3.3.2", - "typescript": "5.5.2", - "typescript-eslint": "7.14.1", - "vite": "5.3.2", - "vite-plugin-checker": "0.6.4", + "typescript": "5.5.3", + "typescript-eslint": "7.15.0", + "vite": "5.3.3", + "vite-plugin-checker": "0.7.1", "vite-tsconfig-paths": "4.3.2", "vitest": "1.6.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48a90f38..db918c2b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: specifier: 11.11.5 version: 11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@fontsource/inter': - specifier: 5.0.18 - version: 5.0.18 + specifier: 5.0.19 + version: 5.0.19 '@fontsource/mulish': specifier: 5.0.18 version: 5.0.18 @@ -36,35 +36,35 @@ importers: specifier: 0.7.0 version: 0.7.0(react@18.3.1) '@lingui/conf': - specifier: 4.11.1 - version: 4.11.1(typescript@5.5.2) + specifier: 4.11.2 + version: 4.11.2(typescript@5.5.3) '@lingui/core': - specifier: 4.11.1 - version: 4.11.1 + specifier: 4.11.2 + version: 4.11.2 '@lingui/detect-locale': - specifier: 4.11.1 - version: 4.11.1 + specifier: 4.11.2 + version: 4.11.2 '@lingui/macro': - specifier: 4.11.1 - version: 4.11.1(@lingui/react@4.11.1(react@18.3.1))(babel-plugin-macros@3.1.0)(typescript@5.5.2) + specifier: 4.11.2 + version: 4.11.2(@lingui/react@4.11.2(react@18.3.1))(babel-plugin-macros@3.1.0)(typescript@5.5.3) '@lingui/react': - specifier: 4.11.1 - version: 4.11.1(react@18.3.1) + specifier: 4.11.2 + version: 4.11.2(react@18.3.1) '@mui/icons-material': - specifier: 5.15.21 - version: 5.15.21(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) + specifier: 5.16.0 + version: 5.16.0(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@mui/lab': - specifier: 5.0.0-alpha.170 - version: 5.0.0-alpha.170(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 5.0.0-alpha.171 + version: 5.0.0-alpha.171(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/material': - specifier: 5.15.21 - version: 5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 5.16.0 + version: 5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/x-data-grid': - specifier: 7.8.0 - version: 7.8.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 7.9.0 + version: 7.9.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/x-date-pickers': - specifier: 7.8.0 - version: 7.8.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(date-fns@3.6.0)(dayjs@1.11.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 7.9.0 + version: 7.9.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(date-fns@3.6.0)(dayjs@1.11.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) bignumber.js: specifier: 9.1.2 version: 9.1.2 @@ -78,11 +78,11 @@ importers: specifier: 16.9.0 version: 16.9.0 highcharts: - specifier: 11.4.3 - version: 11.4.3 + specifier: 11.4.6 + version: 11.4.6 highcharts-react-official: specifier: 3.2.1 - version: 3.2.1(highcharts@11.4.3)(react@18.3.1) + version: 3.2.1(highcharts@11.4.6)(react@18.3.1) immer: specifier: 10.1.1 version: 10.1.1 @@ -107,6 +107,9 @@ importers: react-window: specifier: 1.8.10 version: 1.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + swr: + specifier: 2.2.5 + version: 2.2.5(react@18.3.1) tweetnacl: specifier: 1.0.3 version: 1.0.3 @@ -119,10 +122,10 @@ importers: version: 8.57.0 '@graphql-codegen/cli': specifier: 5.0.2 - version: 5.0.2(@parcel/watcher@2.4.1)(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.2) + version: 5.0.2(@parcel/watcher@2.4.1)(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.3) '@graphql-codegen/client-preset': - specifier: 4.3.1 - version: 4.3.1(graphql@16.9.0) + specifier: 4.3.2 + version: 4.3.2(graphql@16.9.0) '@graphql-codegen/introspection': specifier: 4.0.3 version: 4.0.3(graphql@16.9.0) @@ -130,11 +133,11 @@ importers: specifier: 3.20.1 version: 3.20.1(@babel/core@7.24.6)(@types/node@20.13.0)(graphql@16.9.0) '@lingui/cli': - specifier: 4.11.1 - version: 4.11.1(typescript@5.5.2) + specifier: 4.11.2 + version: 4.11.2(typescript@5.5.3) '@lingui/vite-plugin': - specifier: 4.11.1 - version: 4.11.1(typescript@5.5.2)(vite@5.3.2(@types/node@20.13.0)) + specifier: 4.11.2 + version: 4.11.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.13.0)) '@parcel/watcher': specifier: 2.4.1 version: 2.4.1 @@ -158,10 +161,10 @@ importers: version: 1.8.8 '@vitejs/plugin-basic-ssl': specifier: 1.1.0 - version: 1.1.0(vite@5.3.2(@types/node@20.13.0)) + version: 1.1.0(vite@5.3.3(@types/node@20.13.0)) '@vitejs/plugin-react': specifier: 4.3.1 - version: 4.3.1(vite@5.3.2(@types/node@20.13.0)) + version: 4.3.1(vite@5.3.3(@types/node@20.13.0)) babel-plugin-macros: specifier: 3.1.0 version: 3.1.0 @@ -173,7 +176,7 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-plugin-lingui: specifier: 0.3.0 - version: 0.3.0(eslint@8.57.0)(typescript@5.5.2) + version: 0.3.0(eslint@8.57.0)(typescript@5.5.3) eslint-plugin-react: specifier: 7.34.3 version: 7.34.3(eslint@8.57.0) @@ -184,32 +187,32 @@ importers: specifier: 9.0.11 version: 9.0.11 knip: - specifier: 5.23.2 - version: 5.23.2(@types/node@20.13.0)(typescript@5.5.2) + specifier: 5.24.2 + version: 5.24.2(@types/node@20.13.0)(typescript@5.5.3) lint-staged: specifier: 15.2.7 version: 15.2.7 npm-run-all2: - specifier: 6.2.0 - version: 6.2.0 + specifier: 6.2.2 + version: 6.2.2 prettier: specifier: 3.3.2 version: 3.3.2 typescript: - specifier: 5.5.2 - version: 5.5.2 + specifier: 5.5.3 + version: 5.5.3 typescript-eslint: - specifier: 7.14.1 - version: 7.14.1(eslint@8.57.0)(typescript@5.5.2) + specifier: 7.15.0 + version: 7.15.0(eslint@8.57.0)(typescript@5.5.3) vite: - specifier: 5.3.2 - version: 5.3.2(@types/node@20.13.0) + specifier: 5.3.3 + version: 5.3.3(@types/node@20.13.0) vite-plugin-checker: - specifier: 0.6.4 - version: 0.6.4(eslint@8.57.0)(optionator@0.9.4)(typescript@5.5.2)(vite@5.3.2(@types/node@20.13.0)) + specifier: 0.7.1 + version: 0.7.1(eslint@8.57.0)(optionator@0.9.4)(typescript@5.5.3)(vite@5.3.3(@types/node@20.13.0)) vite-tsconfig-paths: specifier: 4.3.2 - version: 4.3.2(typescript@5.5.2)(vite@5.3.2(@types/node@20.13.0)) + version: 4.3.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.13.0)) vitest: specifier: 1.6.0 version: 1.6.0(@types/node@20.13.0) @@ -910,8 +913,8 @@ packages: '@floating-ui/utils@0.2.2': resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} - '@fontsource/inter@5.0.18': - resolution: {integrity: sha512-YCsoYPTcs713sI7tLtxaPrIhXAXvEetGg5Ry02ivA8qUOb3fQHojbK/X9HLD5OOKvFUNR2Ynkwb1kR1hVKQHpw==} + '@fontsource/inter@5.0.19': + resolution: {integrity: sha512-tVU77yjKnsoUotrXGYbbYxmL9nbm/MSo3deZietmf8V2FEDlbi9fvkJHMrYbo7ZsOqR1AYBBqRYmemz4pSE5Mg==} '@fontsource/mulish@5.0.18': resolution: {integrity: sha512-vcJcdhJpd10NLsWq5Op6++zEs5UhnVf1BdjvN1Uv+jOGmYD/PFTE/V8IxN1FO/jNY4x27gMdRy2mTMXU+ST6Kw==} @@ -934,8 +937,8 @@ packages: '@parcel/watcher': optional: true - '@graphql-codegen/client-preset@4.3.1': - resolution: {integrity: sha512-FHszBKhubbJkrZHwzUNfMUp9IkzufCfn/riTpIy5yA84Wq0AJSPFL7nWkG+h3azFPeznLfqo3KJmfzRb+xeFEA==} + '@graphql-codegen/client-preset@4.3.2': + resolution: {integrity: sha512-42jHyG6u2uFDIVNvzue8zR529aPT16EYIJQmvMk8XuYHo3PneQVlWmQ3j2fBy+RuWCBzpJKPKm7IGSKiw19nmg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -944,8 +947,8 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/gql-tag-operations@4.0.8': - resolution: {integrity: sha512-slCICQOFbMfdL7mAZ6XUiOhcJl0yOKfqHFiULIlQJKpo8ey6NHsrtc8Q02ZF417BfTfZ/Qj7rmXhkc/dwY94ag==} + '@graphql-codegen/gql-tag-operations@4.0.9': + resolution: {integrity: sha512-lVgu1HClel896HqZAEjynatlU6eJrYOw+rh05DPgM150xvmb7Gz5TnRHA2vfwlDNIXDaToAIpz5RFfkjjnYM1Q==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -984,11 +987,6 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/visitor-plugin-common@5.3.0': - resolution: {integrity: sha512-+kUk7gRD/72Wfkjd7D96Lonh9k4lFw9d3O1+I07Jyja4QN9H42kdFEO0hM/b4Q9lLkI1yJ66Oym7lWz2Ikj3aw==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/visitor-plugin-common@5.3.1': resolution: {integrity: sha512-MktoBdNZhSmugiDjmFl1z6rEUUaqyxtFJYWnDilE7onkPgyw//O0M+TuPBJPBWdyV6J2ond0Hdqtq+rkghgSIQ==} peerDependencies: @@ -1286,50 +1284,50 @@ packages: '@kamilkisiela/fast-url-parser@1.1.4': resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} - '@lingui/babel-plugin-extract-messages@4.11.1': - resolution: {integrity: sha512-ouyUTVy2QbHQMv5ib2zFzimjpdBYALCbqnzOJI0YKCOIJD/+sCIPKcCzVrLdKEu90qwy18J/Ho7Z66BhffGAkQ==} + '@lingui/babel-plugin-extract-messages@4.11.2': + resolution: {integrity: sha512-CjIUy55ICw2nQpJeO9Yhoc65nbDje3b/8Ghbux8OUMbtEYguMKi1pA21eYPYDjTUnjglVTDtapEtLN0iNPWHdg==} engines: {node: '>=16.0.0'} - '@lingui/cli@4.11.1': - resolution: {integrity: sha512-jA5pRB7UKwto704hMl2ohO/kGuoPEnf0lSg0qPlbVAfzQCTzq3TxJTgLEAoLQ5AL7aqXXysqrWOM9MEy7pJ4+w==} + '@lingui/cli@4.11.2': + resolution: {integrity: sha512-onwASvA6KffAos+ceP1K1Hx0mPg6vb3s9Rw7VXSyaUQih225GXlrTZbYKOZkM1XgfMmhN+7kgFrRaqxjiKnLLQ==} engines: {node: '>=16.0.0'} hasBin: true - '@lingui/conf@4.11.1': - resolution: {integrity: sha512-rjMoHl80QhLIo+Zfs1s04Uh+Twpy9CZN01la48oti0g+zAniLk9RN8KlIGC4hyruVh1CsIwjabjLAdwj3cOKKQ==} + '@lingui/conf@4.11.2': + resolution: {integrity: sha512-Kw45dRa3biV8CLg50R0e4vCfU750H5fFJ8zBUAIEtWkksKsRDOvf3l1qxfUF76xuLSCPhdLjYfnmW0FqMe/kdg==} engines: {node: '>=16.0.0'} - '@lingui/core@4.11.1': - resolution: {integrity: sha512-iG8Oz46kuYFugWFlCH/SRvnsMqhD2zc3csPUVD7RZN/374v6Djd6EzlQEla307J3qFrhfJDrhhZrIH8v0GANCw==} + '@lingui/core@4.11.2': + resolution: {integrity: sha512-5wFmpHeDbLXEqaEUwlayS4SoqrCbDI3/bVRlwhmdNCeUcUYWh+7dTDlQnp4tPek1x1dEppABIkdN/0qLDdKcBQ==} engines: {node: '>=16.0.0'} - '@lingui/detect-locale@4.11.1': - resolution: {integrity: sha512-j4ilYbsasS3HLks3ICTuqe3VS2Jse7jGvJRQozcuRs62cb0MIu55T1UfCWvkerzF0LUZhxIQAWZkptXfrVVdCQ==} + '@lingui/detect-locale@4.11.2': + resolution: {integrity: sha512-oLeiH63k04PYMBWU8qLZUCDJTpTaZkr9rMBQpg6BIGt20Ga253+j33ZmTgewVgY7XxXEQWMJRqMqu8F/VfMpcQ==} engines: {node: '>=16.0.0'} - '@lingui/format-po@4.11.1': - resolution: {integrity: sha512-8qeiL8tXkGjW9kjUFzO00ZibpP5S6fJHdvTprm7wMAjpLtUYbMlSn/XQi2uLpG+ZB+9/EPTKGhNOaa9Fktq53Q==} + '@lingui/format-po@4.11.2': + resolution: {integrity: sha512-o5TxpiIjtwObkOipsuNw3zaiHlikhivFfd70paps4Nb5w0Fiaa6pKqvLmIqgsxx7/bgmySr0S/vu8hpAerr4Kg==} engines: {node: '>=16.0.0'} - '@lingui/macro@4.11.1': - resolution: {integrity: sha512-CwZNfI00ad4jmXkd/0cBM05pNALw96Xu9EmqRubQzqsN7FON9d48ZYUyK1lBnfZNkQjS82ack8tjkW1o3X725Q==} + '@lingui/macro@4.11.2': + resolution: {integrity: sha512-hipoxMwwD5uKl9t6PHK7Ey/yb6pIgRyFLal2TfkqOH/HCsDR9j6Dusj74szJqzpclJv7zfWgJxk52X/pb+OYpg==} engines: {node: '>=16.0.0'} peerDependencies: '@lingui/react': ^4.0.0 babel-plugin-macros: 2 || 3 - '@lingui/message-utils@4.11.1': - resolution: {integrity: sha512-6dufjX9YdGZftgnzmrakvgiE0srp83GhrbK32dz33hASgAbF5vGHkxyOZLmnL3xYO5RgsrCJ5HGyiB/oQKlc9w==} + '@lingui/message-utils@4.11.2': + resolution: {integrity: sha512-3oJk7ZKExk4NVa4d3CM0z0iNqIokaFOWeu7lYVzu0oEX7DP6OxNjlCAtObIhJCB0FdIPz8sXxhDkyDHFj+eIvw==} engines: {node: '>=16.0.0'} - '@lingui/react@4.11.1': - resolution: {integrity: sha512-pqnAhp1gYJKz7dgDAIb1G1oaBq7OcuQJrXDq/ekrLqSBLozlpPskY5bmv20ygtjgoUiVOlD0+32UWDLafasc4w==} + '@lingui/react@4.11.2': + resolution: {integrity: sha512-OKHCg3yPW2xhYWoY2kOz+eP7qpdkab+4tERUvJ9QJ9bzQ6OnPLCagaRftB3nqdKuWzKoA5F2VG2QLUhF7DjpGA==} engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@lingui/vite-plugin@4.11.1': - resolution: {integrity: sha512-7frcYbHRvl2QwEyyU1o56s2/p+4ECY43ipBkvcihVWx8gwfN5y7lwFIpFP+vKKdigttcLlL4r2WmxW2YzosSmQ==} + '@lingui/vite-plugin@4.11.2': + resolution: {integrity: sha512-Z2EqvJZKtm1oioGgIVoTeHQos+tsOauvmSj41prhbHBpWq4OxuMutqho+sJPbE27lVDIAO5ac3NknqXQGEAd3A==} engines: {node: '>=16.0.0'} peerDependencies: vite: ^3 || ^4 || ^5.0.9 @@ -1348,11 +1346,11 @@ packages: '@types/react': optional: true - '@mui/core-downloads-tracker@5.15.21': - resolution: {integrity: sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==} + '@mui/core-downloads-tracker@5.16.1': + resolution: {integrity: sha512-62Jq7ACYi/55Kjkh/nVfEL3F3ytTYTsdB8MGJ9iI+eRQv+Aoem5CPUAzQihUo25qqh1VkVu9/jQn3dFbyrXHgw==} - '@mui/icons-material@5.15.21': - resolution: {integrity: sha512-yqkq1MbdkmX5ZHyvZTBuAaA6RkvoqkoAgwBSx9Oh0L0jAfj9T/Ih/NhMNjkl8PWVSonjfDUkKroBnjRyo/1M9Q==} + '@mui/icons-material@5.16.0': + resolution: {integrity: sha512-6ISoOhkp9w5gD0PEW9JklrcbyARDkFWNTBdwXZ1Oy5IGlyu9B0zG0hnUIe4H17IaF1Vgj6C8VI+v4tkSdK0veg==} engines: {node: '>=12.0.0'} peerDependencies: '@mui/material': ^5.0.0 @@ -1362,8 +1360,8 @@ packages: '@types/react': optional: true - '@mui/lab@5.0.0-alpha.170': - resolution: {integrity: sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==} + '@mui/lab@5.0.0-alpha.171': + resolution: {integrity: sha512-/ZRnx0wB7hWHMsy76AAUJREVHZ7v5kOKwgJKCQrqOcaPNyo3WiwtTqKaM4Pgj+2r7O10IrC6zOniq8kTRqVAlA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1380,8 +1378,8 @@ packages: '@types/react': optional: true - '@mui/material@5.15.21': - resolution: {integrity: sha512-nTyCcgduKwHqiuQ/B03EQUa+utSMzn2sQp0QAibsnYe4tvc3zkMbO0amKpl48vhABIY3IvT6w9615BFIgMt0YA==} + '@mui/material@5.16.0': + resolution: {integrity: sha512-DbR1NckTLpjt9Zut9EGQ70th86HfN0BYQgyYro6aXQrNfjzSwe3BJS1AyBQ5mJ7TdL6YVRqohfukxj9JlqZZUg==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1397,18 +1395,8 @@ packages: '@types/react': optional: true - '@mui/private-theming@5.15.14': - resolution: {integrity: sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/private-theming@5.15.20': - resolution: {integrity: sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g==} + '@mui/private-theming@5.16.1': + resolution: {integrity: sha512-2EGCKnAlq9vRIFj61jNWNXlKAxXp56577OVvsts7fAqRx+G1y6F+N7Q198SBaz8jYQeGKSz8ZMXK/M3FqjdEyw==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -1417,8 +1405,8 @@ packages: '@types/react': optional: true - '@mui/styled-engine@5.15.14': - resolution: {integrity: sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==} + '@mui/styled-engine@5.16.1': + resolution: {integrity: sha512-JwWUBaYR8HHCFefSeos0z6JoTbu0MnjAuNHu4QoDgPxl2EE70XH38CsKay66Iy0QkNWmGTRXVU2sVFgUOPL/Dw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -1430,24 +1418,8 @@ packages: '@emotion/styled': optional: true - '@mui/system@5.15.15': - resolution: {integrity: sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - - '@mui/system@5.15.20': - resolution: {integrity: sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA==} + '@mui/system@5.16.1': + resolution: {integrity: sha512-VaFcClC+uhvIEzhzcNmh9FRBvrG9IPjsOokhj6U1HPZsFnLzHV7AD7dJcT6LxWoiIZj9Ej0GK+MGh/b8+BtSlQ==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1470,18 +1442,16 @@ packages: '@types/react': optional: true - '@mui/utils@5.15.14': - resolution: {integrity: sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==} - engines: {node: '>=12.0.0'} + '@mui/types@7.2.15': + resolution: {integrity: sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/utils@5.15.20': - resolution: {integrity: sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A==} + '@mui/utils@5.16.1': + resolution: {integrity: sha512-4UQzK46tAEYs2xZv79hRiIc3GxZScd00kGPDadNrGztAEZlmSaUY8cb9ITd2xCiTfzsx5AN6DH8aaQ8QEKJQeQ==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -1490,16 +1460,16 @@ packages: '@types/react': optional: true - '@mui/x-data-grid@7.8.0': - resolution: {integrity: sha512-X3t6EVSZ28vVKY9NfqKcClchw2o/KmHsywybp1tNFevIJiwjZSp7NDJ091GyTqMgyDt1Dy5z2hGxoTDUYYfeGg==} + '@mui/x-data-grid@7.9.0': + resolution: {integrity: sha512-RkrVD+tfcR/h3j2p2uqohxA00C5tCJIV5gb5+2ap8XdM0Y8XMF81bB8UADWenU5W83UTErWvtU7n4gCl7hJO9g==} engines: {node: '>=14.0.0'} peerDependencies: '@mui/material': ^5.15.14 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - '@mui/x-date-pickers@7.8.0': - resolution: {integrity: sha512-SkolW0vZ4XiUeD5FBevG9NQ3pAgfNYlJA5XFhSLFD/swNQRO4EYOUXw38O/ccOh1lkAcwVR+rrGPCoT4/0YGEg==} + '@mui/x-date-pickers@7.9.0': + resolution: {integrity: sha512-GMDprioHlYmNle8Cbh6TxB4QThDGgqJxfH/R/p/5dNk+Tn5vB1gZSDMn3wVxItiEV6tDXbkyS5gPhSMVFDGvAA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -1534,6 +1504,12 @@ packages: moment-jalaali: optional: true + '@mui/x-internals@7.9.0': + resolution: {integrity: sha512-RJRrM6moaDZ8S11gDt8OKVclKm2v9khpIyLkpenNze+tT4dQYoU3liW5P2t31hA4Na/T6JQKNosB4qmB2TYfZw==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: ^17.0.0 || ^18.0.0 + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1823,8 +1799,8 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@typescript-eslint/eslint-plugin@7.14.1': - resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==} + '@typescript-eslint/eslint-plugin@7.15.0': + resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1834,8 +1810,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.14.1': - resolution: {integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==} + '@typescript-eslint/parser@7.15.0': + resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1848,12 +1824,12 @@ packages: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/scope-manager@7.14.1': - resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} + '@typescript-eslint/scope-manager@7.15.0': + resolution: {integrity: sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.14.1': - resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==} + '@typescript-eslint/type-utils@7.15.0': + resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1866,8 +1842,8 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/types@7.14.1': - resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} + '@typescript-eslint/types@7.15.0': + resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -1879,8 +1855,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.14.1': - resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} + '@typescript-eslint/typescript-estree@7.15.0': + resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1894,8 +1870,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@7.14.1': - resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} + '@typescript-eslint/utils@7.15.0': + resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1904,8 +1880,8 @@ packages: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/visitor-keys@7.14.1': - resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} + '@typescript-eslint/visitor-keys@7.15.0': + resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': @@ -2265,6 +2241,9 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -2884,8 +2863,8 @@ packages: highcharts: '>=6.0.0' react: '>=16.8.0' - highcharts@11.4.3: - resolution: {integrity: sha512-rMmvYvcdwyUVfnRPfiZ0PnW6TgVhoS0FTBI8fc4Fp8l8ocoC9dMecvxS6E6tm7h7LrnSGoEo3b/0IRHuLatD2w==} + highcharts@11.4.6: + resolution: {integrity: sha512-ntFZ053giEEquAxza+HlOWiLQyCLOjQ3M3EV4r6LoSNKS/fz2S0EKGl8G7Jls9EaYmdAHecB/vL4hGI2J1Ud9g==} history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} @@ -3167,6 +3146,10 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + jose@5.3.0: resolution: {integrity: sha512-IChe9AtAE79ru084ow8jzkN2lNrG3Ntfiv65Cvj9uOCE2m5LNsdHG+9EbxWxAoWRF9TgDOqLN5jm08++owDVRg==} @@ -3223,8 +3206,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - knip@5.23.2: - resolution: {integrity: sha512-3IbIzu2K6mB4aLBLkhYWYLVL5kbyjgDW3LPW4wFN9fl4I8F7VK5gF/m9C0HZmTBmoW9OkCzQapBv6H7E1+NI1g==} + knip@5.24.2: + resolution: {integrity: sha512-Y8YyqkheQ4IlVw1s5nOBrT4LZUl4g++gKmX+d/J9lxoR8pz6UV0Otn3GBbuc9JYYMjKVW94GLVtB7hKlzJSmrQ==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: @@ -3450,9 +3433,9 @@ packages: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-run-all2@6.2.0: - resolution: {integrity: sha512-wA7yVIkthe6qJBfiJ2g6aweaaRlw72itsFGF6HuwCHKwtwAx/4BY1vVpk6bw6lS8RLMsexoasOkd0aYOmsFG7Q==} - engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} + npm-run-all2@6.2.2: + resolution: {integrity: sha512-Q+alQAGIW7ZhKcxLt8GcSi3h3ryheD6xnmXahkMRVM5LYmajcUrSITm8h+OPC9RYWMV2GR0Q1ntTUCfxaNoOJw==} + engines: {node: ^14.18.0 || ^16.13.0 || >=18.0.0, npm: '>= 8'} hasBin: true npm-run-path@4.0.1: @@ -3664,8 +3647,8 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -4108,6 +4091,11 @@ packages: swap-case@2.0.2: resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} + swr@2.2.5: + resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} @@ -4249,8 +4237,8 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript-eslint@7.14.1: - resolution: {integrity: sha512-Eo1X+Y0JgGPspcANKjeR6nIqXl4VL5ldXLc15k4m9upq+eY5fhU2IueiEZL6jmHrKH8aCfbIvM/v3IrX5Hg99w==} + typescript-eslint@7.15.0: + resolution: {integrity: sha512-Ta40FhMXBCwHura4X4fncaCVkVcnJ9jnOq5+Lp4lN8F4DzHZtOwZdRvVBiNUGznUDHPwdGnrnwxmUOU2fFQqFA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4259,8 +4247,8 @@ packages: typescript: optional: true - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true @@ -4315,6 +4303,11 @@ packages: urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + use-sync-external-store@1.2.2: + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -4330,8 +4323,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-plugin-checker@0.6.4: - resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} + vite-plugin-checker@0.7.1: + resolution: {integrity: sha512-Yby+Dr6+cJlkoPagqdQQn21+ZPaYwonNSlW3VpZzoyDAxoYt7YUDhzSYrCa15iTe+X4IpiNC882a3oomxCXyTA==} engines: {node: '>=14.16'} peerDependencies: eslint: '>=7' @@ -4342,7 +4335,7 @@ packages: vite: '>=2.0.0' vls: '*' vti: '*' - vue-tsc: '>=1.3.9' + vue-tsc: '>=2.0.0' peerDependenciesMeta: eslint: optional: true @@ -4369,8 +4362,8 @@ packages: vite: optional: true - vite@5.3.2: - resolution: {integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==} + vite@5.3.3: + resolution: {integrity: sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4997,7 +4990,7 @@ snapshots: '@emotion/babel-plugin@11.11.0': dependencies: '@babel/helper-module-imports': 7.24.6 - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/serialize': 1.1.4 @@ -5266,7 +5259,7 @@ snapshots: '@floating-ui/utils@0.2.2': {} - '@fontsource/inter@5.0.18': {} + '@fontsource/inter@5.0.19': {} '@fontsource/mulish@5.0.18': {} @@ -5278,12 +5271,12 @@ snapshots: graphql: 16.9.0 tslib: 2.6.2 - '@graphql-codegen/cli@5.0.2(@parcel/watcher@2.4.1)(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.2)': + '@graphql-codegen/cli@5.0.2(@parcel/watcher@2.4.1)(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.3)': dependencies: '@babel/generator': 7.24.6 '@babel/template': 7.24.6 '@babel/types': 7.24.6 - '@graphql-codegen/client-preset': 4.3.1(graphql@16.9.0) + '@graphql-codegen/client-preset': 4.3.2(graphql@16.9.0) '@graphql-codegen/core': 4.0.2(graphql@16.9.0) '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.9.0) @@ -5298,11 +5291,11 @@ snapshots: '@graphql-tools/utils': 10.2.1(graphql@16.9.0) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.5.2) + cosmiconfig: 8.3.6(typescript@5.5.3) debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.9.0 - graphql-config: 5.0.3(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.2) + graphql-config: 5.0.3(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.3) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.0 @@ -5328,12 +5321,12 @@ snapshots: - typescript - utf-8-validate - '@graphql-codegen/client-preset@4.3.1(graphql@16.9.0)': + '@graphql-codegen/client-preset@4.3.2(graphql@16.9.0)': dependencies: '@babel/helper-plugin-utils': 7.24.6 '@babel/template': 7.24.6 '@graphql-codegen/add': 5.0.3(graphql@16.9.0) - '@graphql-codegen/gql-tag-operations': 4.0.8(graphql@16.9.0) + '@graphql-codegen/gql-tag-operations': 4.0.9(graphql@16.9.0) '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) '@graphql-codegen/typed-document-node': 5.0.9(graphql@16.9.0) '@graphql-codegen/typescript': 4.0.9(graphql@16.9.0) @@ -5356,10 +5349,10 @@ snapshots: graphql: 16.9.0 tslib: 2.6.2 - '@graphql-codegen/gql-tag-operations@4.0.8(graphql@16.9.0)': + '@graphql-codegen/gql-tag-operations@4.0.9(graphql@16.9.0)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) - '@graphql-codegen/visitor-plugin-common': 5.3.0(graphql@16.9.0) + '@graphql-codegen/visitor-plugin-common': 5.3.1(graphql@16.9.0) '@graphql-tools/utils': 10.2.1(graphql@16.9.0) auto-bind: 4.0.0 graphql: 16.9.0 @@ -5448,23 +5441,6 @@ snapshots: - encoding - supports-color - '@graphql-codegen/visitor-plugin-common@5.3.0(graphql@16.9.0)': - dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) - '@graphql-tools/optimize': 2.0.0(graphql@16.9.0) - '@graphql-tools/relay-operation-optimizer': 7.0.1(graphql@16.9.0) - '@graphql-tools/utils': 10.2.1(graphql@16.9.0) - auto-bind: 4.0.0 - change-case-all: 1.0.15 - dependency-graph: 0.11.0 - graphql: 16.9.0 - graphql-tag: 2.12.6(graphql@16.9.0) - parse-filepath: 1.0.2 - tslib: 2.6.2 - transitivePeerDependencies: - - encoding - - supports-color - '@graphql-codegen/visitor-plugin-common@5.3.1(graphql@16.9.0)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) @@ -5994,20 +5970,20 @@ snapshots: '@kamilkisiela/fast-url-parser@1.1.4': {} - '@lingui/babel-plugin-extract-messages@4.11.1': {} + '@lingui/babel-plugin-extract-messages@4.11.2': {} - '@lingui/cli@4.11.1(typescript@5.5.2)': + '@lingui/cli@4.11.2(typescript@5.5.3)': dependencies: '@babel/core': 7.24.6 '@babel/generator': 7.24.6 '@babel/parser': 7.24.6 - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@babel/types': 7.24.6 - '@lingui/babel-plugin-extract-messages': 4.11.1 - '@lingui/conf': 4.11.1(typescript@5.5.2) - '@lingui/core': 4.11.1 - '@lingui/format-po': 4.11.1(typescript@5.5.2) - '@lingui/message-utils': 4.11.1 + '@lingui/babel-plugin-extract-messages': 4.11.2 + '@lingui/conf': 4.11.2(typescript@5.5.3) + '@lingui/core': 4.11.2 + '@lingui/format-po': 4.11.2(typescript@5.5.3) + '@lingui/message-utils': 4.11.2 babel-plugin-macros: 3.1.0 chalk: 4.1.2 chokidar: 3.5.1 @@ -6031,62 +6007,62 @@ snapshots: - supports-color - typescript - '@lingui/conf@4.11.1(typescript@5.5.2)': + '@lingui/conf@4.11.2(typescript@5.5.3)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.5.2) + cosmiconfig: 8.3.6(typescript@5.5.3) jest-validate: 29.7.0 jiti: 1.21.0 lodash.get: 4.4.2 transitivePeerDependencies: - typescript - '@lingui/core@4.11.1': + '@lingui/core@4.11.2': dependencies: - '@babel/runtime': 7.24.6 - '@lingui/message-utils': 4.11.1 + '@babel/runtime': 7.24.7 + '@lingui/message-utils': 4.11.2 unraw: 3.0.0 - '@lingui/detect-locale@4.11.1': {} + '@lingui/detect-locale@4.11.2': {} - '@lingui/format-po@4.11.1(typescript@5.5.2)': + '@lingui/format-po@4.11.2(typescript@5.5.3)': dependencies: - '@lingui/conf': 4.11.1(typescript@5.5.2) - '@lingui/message-utils': 4.11.1 + '@lingui/conf': 4.11.2(typescript@5.5.3) + '@lingui/message-utils': 4.11.2 date-fns: 3.6.0 pofile: 1.1.4 transitivePeerDependencies: - typescript - '@lingui/macro@4.11.1(@lingui/react@4.11.1(react@18.3.1))(babel-plugin-macros@3.1.0)(typescript@5.5.2)': + '@lingui/macro@4.11.2(@lingui/react@4.11.2(react@18.3.1))(babel-plugin-macros@3.1.0)(typescript@5.5.3)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@babel/types': 7.24.6 - '@lingui/conf': 4.11.1(typescript@5.5.2) - '@lingui/core': 4.11.1 - '@lingui/message-utils': 4.11.1 - '@lingui/react': 4.11.1(react@18.3.1) + '@lingui/conf': 4.11.2(typescript@5.5.3) + '@lingui/core': 4.11.2 + '@lingui/message-utils': 4.11.2 + '@lingui/react': 4.11.2(react@18.3.1) babel-plugin-macros: 3.1.0 transitivePeerDependencies: - typescript - '@lingui/message-utils@4.11.1': + '@lingui/message-utils@4.11.2': dependencies: '@messageformat/parser': 5.1.0 js-sha256: 0.10.1 - '@lingui/react@4.11.1(react@18.3.1)': + '@lingui/react@4.11.2(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 - '@lingui/core': 4.11.1 + '@babel/runtime': 7.24.7 + '@lingui/core': 4.11.2 react: 18.3.1 - '@lingui/vite-plugin@4.11.1(typescript@5.5.2)(vite@5.3.2(@types/node@20.13.0))': + '@lingui/vite-plugin@4.11.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.13.0))': dependencies: - '@lingui/cli': 4.11.1(typescript@5.5.2) - '@lingui/conf': 4.11.1(typescript@5.5.2) - vite: 5.3.2(@types/node@20.13.0) + '@lingui/cli': 4.11.2(typescript@5.5.3) + '@lingui/conf': 4.11.2(typescript@5.5.3) + vite: 5.3.3(@types/node@20.13.0) transitivePeerDependencies: - supports-color - typescript @@ -6100,7 +6076,7 @@ snapshots: '@babel/runtime': 7.24.7 '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.3.3) - '@mui/utils': 5.15.14(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) '@popperjs/core': 2.11.8 clsx: 2.1.1 prop-types: 15.8.1 @@ -6109,24 +6085,24 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@mui/core-downloads-tracker@5.15.21': {} + '@mui/core-downloads-tracker@5.16.1': {} - '@mui/icons-material@5.15.21(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': + '@mui/icons-material@5.16.0(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 - '@mui/material': 5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/material': 5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 - '@mui/lab@5.0.0-alpha.170(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/lab@5.0.0-alpha.171(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@mui/base': 5.0.0-beta.40(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/material': 5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/system': 5.15.15(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) + '@mui/material': 5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/system': 5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.3.3) - '@mui/utils': 5.15.14(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 @@ -6136,14 +6112,14 @@ snapshots: '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 - '@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 '@mui/base': 5.0.0-beta.40(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.21 - '@mui/system': 5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) + '@mui/core-downloads-tracker': 5.16.1 + '@mui/system': 5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.3.3) - '@mui/utils': 5.15.20(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) '@types/react-transition-group': 4.4.10 clsx: 2.1.1 csstype: 3.1.3 @@ -6157,25 +6133,16 @@ snapshots: '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 - '@mui/private-theming@5.15.14(@types/react@18.3.3)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.24.7 - '@mui/utils': 5.15.20(@types/react@18.3.3)(react@18.3.1) - prop-types: 15.8.1 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 - - '@mui/private-theming@5.15.20(@types/react@18.3.3)(react@18.3.1)': + '@mui/private-theming@5.16.1(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 - '@mui/utils': 5.15.20(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) prop-types: 15.8.1 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 - '@mui/styled-engine@5.15.14(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)': + '@mui/styled-engine@5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 '@emotion/cache': 11.11.0 @@ -6186,29 +6153,13 @@ snapshots: '@emotion/react': 11.11.4(@types/react@18.3.3)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) - '@mui/system@5.15.15(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.24.7 - '@mui/private-theming': 5.15.14(@types/react@18.3.3)(react@18.3.1) - '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) - '@mui/types': 7.2.14(@types/react@18.3.3) - '@mui/utils': 5.15.14(@types/react@18.3.3)(react@18.3.1) - clsx: 2.1.1 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 18.3.1 - optionalDependencies: - '@emotion/react': 11.11.4(@types/react@18.3.3)(react@18.3.1) - '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) - '@types/react': 18.3.3 - - '@mui/system@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': + '@mui/system@5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 - '@mui/private-theming': 5.15.20(@types/react@18.3.3)(react@18.3.1) - '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) - '@mui/types': 7.2.14(@types/react@18.3.3) - '@mui/utils': 5.15.20(@types/react@18.3.3)(react@18.3.1) + '@mui/private-theming': 5.16.1(@types/react@18.3.3)(react@18.3.1) + '@mui/styled-engine': 5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) + '@mui/types': 7.2.15(@types/react@18.3.3) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -6222,17 +6173,11 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@mui/utils@5.15.14(@types/react@18.3.3)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.24.7 - '@types/prop-types': 15.7.12 - prop-types: 15.8.1 - react: 18.3.1 - react-is: 18.3.1 + '@mui/types@7.2.15(@types/react@18.3.3)': optionalDependencies: '@types/react': 18.3.3 - '@mui/utils@5.15.20(@types/react@18.3.3)(react@18.3.1)': + '@mui/utils@5.16.1(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 '@types/prop-types': 15.7.12 @@ -6242,12 +6187,13 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@mui/x-data-grid@7.8.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/x-data-grid@7.9.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 - '@mui/material': 5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/system': 5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) - '@mui/utils': 5.15.20(@types/react@18.3.3)(react@18.3.1) + '@mui/material': 5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/system': 5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) + '@mui/x-internals': 7.9.0(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 @@ -6258,13 +6204,13 @@ snapshots: - '@emotion/styled' - '@types/react' - '@mui/x-date-pickers@7.8.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(date-fns@3.6.0)(dayjs@1.11.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/x-date-pickers@7.9.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(date-fns@3.6.0)(dayjs@1.11.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 '@mui/base': 5.0.0-beta.40(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/material': 5.15.21(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/system': 5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) - '@mui/utils': 5.15.20(@types/react@18.3.3)(react@18.3.1) + '@mui/material': 5.16.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/system': 5.16.1(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) '@types/react-transition-group': 4.4.10 clsx: 2.1.1 prop-types: 15.8.1 @@ -6279,6 +6225,14 @@ snapshots: transitivePeerDependencies: - '@types/react' + '@mui/x-internals@7.9.0(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.7 + '@mui/utils': 5.16.1(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + transitivePeerDependencies: + - '@types/react' + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6537,34 +6491,34 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.15.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.15.0 debug: 4.3.5 eslint: 8.57.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -6573,28 +6527,28 @@ snapshots: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/scope-manager@7.14.1': + '@typescript-eslint/scope-manager@7.15.0': dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 - '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@5.62.0': {} - '@typescript-eslint/types@7.14.1': {} + '@typescript-eslint/types@7.15.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.3)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -6602,35 +6556,35 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.5.2) + tsutils: 3.21.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.14.1(typescript@5.5.2)': + '@typescript-eslint/typescript-estree@7.15.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.5.2) + ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.2 @@ -6638,12 +6592,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': + '@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -6654,25 +6608,25 @@ snapshots: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.14.1': + '@typescript-eslint/visitor-keys@7.15.0': dependencies: - '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/types': 7.15.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-basic-ssl@1.1.0(vite@5.3.2(@types/node@20.13.0))': + '@vitejs/plugin-basic-ssl@1.1.0(vite@5.3.3(@types/node@20.13.0))': dependencies: - vite: 5.3.2(@types/node@20.13.0) + vite: 5.3.3(@types/node@20.13.0) - '@vitejs/plugin-react@4.3.1(vite@5.3.2(@types/node@20.13.0))': + '@vitejs/plugin-react@4.3.1(vite@5.3.3(@types/node@20.13.0))': dependencies: '@babel/core': 7.24.6 '@babel/plugin-transform-react-jsx-self': 7.24.6(@babel/core@7.24.6) '@babel/plugin-transform-react-jsx-source': 7.24.6(@babel/core@7.24.6) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.2(@types/node@20.13.0) + vite: 5.3.3(@types/node@20.13.0) transitivePeerDependencies: - supports-color @@ -7130,6 +7084,8 @@ snapshots: cli-width@3.0.0: {} + client-only@0.0.1: {} + cliui@6.0.0: dependencies: string-width: 4.2.3 @@ -7205,14 +7161,14 @@ snapshots: parse-json: 5.2.0 path-type: 4.0.0 - cosmiconfig@8.3.6(typescript@5.5.2): + cosmiconfig@8.3.6(typescript@5.5.3): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 cross-fetch@3.1.8: dependencies: @@ -7491,9 +7447,9 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-lingui@0.3.0(eslint@8.57.0)(typescript@5.5.2): + eslint-plugin-lingui@0.3.0(eslint@8.57.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) transitivePeerDependencies: - eslint - supports-color @@ -7839,7 +7795,7 @@ snapshots: - encoding - utf-8-validate - graphql-config@5.0.3(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.2): + graphql-config@5.0.3(@types/node@20.13.0)(graphql@16.9.0)(typescript@5.5.3): dependencies: '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) @@ -7847,7 +7803,7 @@ snapshots: '@graphql-tools/merge': 9.0.4(graphql@16.9.0) '@graphql-tools/url-loader': 8.0.2(@types/node@20.13.0)(graphql@16.9.0) '@graphql-tools/utils': 10.2.1(graphql@16.9.0) - cosmiconfig: 8.3.6(typescript@5.5.2) + cosmiconfig: 8.3.6(typescript@5.5.3) graphql: 16.9.0 jiti: 1.21.0 minimatch: 4.2.3 @@ -7917,12 +7873,12 @@ snapshots: capital-case: 1.0.4 tslib: 2.6.2 - highcharts-react-official@3.2.1(highcharts@11.4.3)(react@18.3.1): + highcharts-react-official@3.2.1(highcharts@11.4.6)(react@18.3.1): dependencies: - highcharts: 11.4.3 + highcharts: 11.4.6 react: 18.3.1 - highcharts@11.4.3: {} + highcharts@11.4.6: {} history@4.10.1: dependencies: @@ -8205,6 +8161,8 @@ snapshots: jiti@1.21.0: {} + jiti@1.21.6: {} + jose@5.3.0: {} js-sha256@0.10.1: {} @@ -8253,7 +8211,7 @@ snapshots: dependencies: json-buffer: 3.0.1 - knip@5.23.2(@types/node@20.13.0)(typescript@5.5.2): + knip@5.24.2(@types/node@20.13.0)(typescript@5.5.3): dependencies: '@ericcornelissen/bash-parser': 0.5.3 '@nodelib/fs.walk': 2.0.0 @@ -8261,7 +8219,7 @@ snapshots: '@types/node': 20.13.0 easy-table: 1.2.0 fast-glob: 3.3.2 - jiti: 1.21.0 + jiti: 1.21.6 js-yaml: 4.1.0 minimist: 1.2.8 picocolors: 1.0.1 @@ -8272,7 +8230,7 @@ snapshots: strip-json-comments: 5.0.1 summary: 2.1.0 tsconfig-paths: 4.2.0 - typescript: 5.5.2 + typescript: 5.5.3 zod: 3.23.8 zod-validation-error: 3.3.0(zod@3.23.8) @@ -8486,7 +8444,7 @@ snapshots: npm-normalize-package-bin@3.0.1: {} - npm-run-all2@6.2.0: + npm-run-all2@6.2.2: dependencies: ansi-styles: 6.2.1 cross-spawn: 7.0.3 @@ -8706,7 +8664,7 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss@8.4.38: + postcss@8.4.39: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -9179,6 +9137,12 @@ snapshots: dependencies: tslib: 2.6.2 + swr@2.2.5(react@18.3.1): + dependencies: + client-only: 0.0.1 + react: 18.3.1 + use-sync-external-store: 1.2.2(react@18.3.1) + symbol-observable@4.0.0: {} text-table@0.2.0: {} @@ -9229,9 +9193,9 @@ snapshots: dependencies: punycode: 2.3.1 - ts-api-utils@1.3.0(typescript@5.5.2): + ts-api-utils@1.3.0(typescript@5.5.3): dependencies: - typescript: 5.5.2 + typescript: 5.5.3 ts-invariant@0.10.3: dependencies: @@ -9239,9 +9203,9 @@ snapshots: ts-log@2.2.5: {} - tsconfck@3.1.0(typescript@5.5.2): + tsconfck@3.1.0(typescript@5.5.3): optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 tsconfig-paths@4.2.0: dependencies: @@ -9253,10 +9217,10 @@ snapshots: tslib@2.6.2: {} - tsutils@3.21.0(typescript@5.5.2): + tsutils@3.21.0(typescript@5.5.3): dependencies: tslib: 1.14.1 - typescript: 5.5.2 + typescript: 5.5.3 tweetnacl@1.0.3: {} @@ -9304,18 +9268,18 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript-eslint@7.14.1(eslint@8.57.0)(typescript@5.5.2): + typescript-eslint@7.15.0(eslint@8.57.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 optionalDependencies: - typescript: 5.5.2 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - typescript@5.5.2: {} + typescript@5.5.3: {} ua-parser-js@1.0.38: {} @@ -9366,6 +9330,10 @@ snapshots: urlpattern-polyfill@8.0.2: {} + use-sync-external-store@1.2.2(react@18.3.1): + dependencies: + react: 18.3.1 + util-deprecate@1.0.2: {} value-equal@1.0.1: {} @@ -9378,7 +9346,7 @@ snapshots: debug: 4.3.5 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.2(@types/node@20.13.0) + vite: 5.3.3(@types/node@20.13.0) transitivePeerDependencies: - '@types/node' - less @@ -9389,7 +9357,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@8.57.0)(optionator@0.9.4)(typescript@5.5.2)(vite@5.3.2(@types/node@20.13.0)): + vite-plugin-checker@0.7.1(eslint@8.57.0)(optionator@0.9.4)(typescript@5.5.3)(vite@5.3.3(@types/node@20.13.0)): dependencies: '@babel/code-frame': 7.24.6 ansi-escapes: 4.3.2 @@ -9399,10 +9367,9 @@ snapshots: fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 - semver: 7.6.2 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.3.2(@types/node@20.13.0) + vite: 5.3.3(@types/node@20.13.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -9410,23 +9377,23 @@ snapshots: optionalDependencies: eslint: 8.57.0 optionator: 0.9.4 - typescript: 5.5.2 + typescript: 5.5.3 - vite-tsconfig-paths@4.3.2(typescript@5.5.2)(vite@5.3.2(@types/node@20.13.0)): + vite-tsconfig-paths@4.3.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.13.0)): dependencies: debug: 4.3.5 globrex: 0.1.2 - tsconfck: 3.1.0(typescript@5.5.2) + tsconfck: 3.1.0(typescript@5.5.3) optionalDependencies: - vite: 5.3.2(@types/node@20.13.0) + vite: 5.3.3(@types/node@20.13.0) transitivePeerDependencies: - supports-color - typescript - vite@5.3.2(@types/node@20.13.0): + vite@5.3.3(@types/node@20.13.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.38 + postcss: 8.4.39 rollup: 4.18.0 optionalDependencies: '@types/node': 20.13.0 @@ -9451,7 +9418,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.2(@types/node@20.13.0) + vite: 5.3.3(@types/node@20.13.0) vite-node: 1.6.0(@types/node@20.13.0) why-is-node-running: 2.2.2 optionalDependencies: diff --git a/src/App.tsx b/src/App.tsx index 59085e5e..663d1010 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -20,6 +20,7 @@ import { BraveAdsContactFrame } from "@/auth/registration/BraveAdsContactFrame"; import { useMatomo } from "@jonkoops/matomo-tracker-react"; import { SearchLandingPage } from "@/search/SearchLandingPage"; import { BasicAttentionTokenLandingPage } from "@/basic-attention-token/BasicAttentionTokenLandingPage"; +import { SearchPreviewPage } from "./search/preview/SearchPreviewPage"; export function App() { const { enableLinkTracking } = useMatomo(); @@ -46,6 +47,7 @@ export function App() { + diff --git a/src/components/Creatives/SearchPreview.tsx b/src/components/Creatives/SearchPreview.tsx index 16750215..72903828 100644 --- a/src/components/Creatives/SearchPreview.tsx +++ b/src/components/Creatives/SearchPreview.tsx @@ -166,13 +166,15 @@ export function SearchPreview({ title, body, targetUrl, favicon }: Props) { sx={{ alignItems: "center", color: "var(--color-serp-breadcrumbs)", - display: "flex", + display: "block", fontSize: "var(--text-sm)", fontStyle: "normal", lineHeight: "22px", marginTop: searchRemToPx(-0.15), maxWidth: "90%", - overflow: "visible", + overflow: "hidden", + whiteSpace: "nowrap", + textOverflow: "ellipsis", }} > diff --git a/src/components/Navigation/AccountMenu.tsx b/src/components/Navigation/AccountMenu.tsx index 08a775b3..b35ec0a0 100644 --- a/src/components/Navigation/AccountMenu.tsx +++ b/src/components/Navigation/AccountMenu.tsx @@ -31,6 +31,13 @@ export function AccountMenu() { const nonCurrentAdvertisers = advertisers.filter( (a) => a.id !== advertiser.id, ); + + // the navbar can be used for non-logged in users, so just don't display + // a profile if the user is not logged in + if (!user.userId) { + return null; + } + return ( <> Account} placement="bottom-start"> diff --git a/src/components/Switch/OnOff.tsx b/src/components/Switch/OnOff.tsx index ec1d23c6..6a8e2aa5 100644 --- a/src/components/Switch/OnOff.tsx +++ b/src/components/Switch/OnOff.tsx @@ -39,7 +39,9 @@ export function OnOff({ + {tooltip} {type} + ) : ( {type} status cannot be updated ) diff --git a/src/search/preview/CallToAction.tsx b/src/search/preview/CallToAction.tsx new file mode 100644 index 00000000..e9481d7e --- /dev/null +++ b/src/search/preview/CallToAction.tsx @@ -0,0 +1,56 @@ +/* eslint-disable lingui/no-unlocalized-strings */ +import { Box, Button, Link, Typography } from "@mui/material"; + +interface Props { + domain: string; +} + +export function CallToAction({ domain }: Props) { + return ( + + + + Brave Search Ads Preview + + + This preview has been created for{" "} + + {domain} + {" "} + by analyzing existing Google campaigns and matching them with keyword + volumes from Brave Search. + + + To view and manage all available ads and get started with Search Ads + from Brave, please book a meeting with an account manager. + + + + + + + + ); +} diff --git a/src/search/preview/LandingPageDetail.tsx b/src/search/preview/LandingPageDetail.tsx new file mode 100644 index 00000000..e360819f --- /dev/null +++ b/src/search/preview/LandingPageDetail.tsx @@ -0,0 +1,106 @@ +/* eslint-disable lingui/no-unlocalized-strings */ +import SearchIcon from "@mui/icons-material/Search"; +import { Box, Chip, IconButton, Popover, Typography } from "@mui/material"; +import { useState } from "react"; +import { LandingPageInfo, useKeywordData } from "./data"; +import dayjs from "dayjs"; +import { SkeletonQueryList } from "@/user/views/user/search/LandingPageDetail"; + +function QueryList({ queries }: { queries: string[] }) { + const [visibleQueryCount, setVisibleQueryCount] = useState(20); + + const numQueries = queries.length; + const hasMore = numQueries > visibleQueryCount; + + const queriesToShow = queries.slice(0, visibleQueryCount); + + return ( + <> + {queriesToShow.map((q) => ( + + ))} + + {hasMore && ( + setVisibleQueryCount((c) => c + 50)} + /> + )} + + ); +} + +interface Props { + landingPage: LandingPageInfo; +} + +export function LandingPageDetail({ landingPage }: Props) { + const [anchorEl, setAnchorEl] = useState(null); + + const handleClick = (event: React.MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; + + const open = Boolean(anchorEl); + + return ( +
+ + + + + + +
+ ); +} + +function LandingPageDetailContent({ + landingPage, +}: { + landingPage: LandingPageInfo; +}) { + const { data: queries } = useKeywordData(landingPage.slug, landingPage.url); + + return ( + + + Full Landing Page URL + + + + {landingPage.url} + + + + Last seen {dayjs(landingPage.lastSeen).fromNow()} + + + + Sample Queries + + + + {queries ? : } + + + ); +} diff --git a/src/search/preview/LandingPageList.tsx b/src/search/preview/LandingPageList.tsx new file mode 100644 index 00000000..d5372e92 --- /dev/null +++ b/src/search/preview/LandingPageList.tsx @@ -0,0 +1,55 @@ +import { LandingPageListEntry } from "./LandingPageListEntry"; + +import { FixedSizeList } from "react-window"; +import AutoSizer from "react-virtualized-auto-sizer"; +import { Basket } from "@/user/views/user/search/basket"; +import { LandingPageInfo } from "./data"; + +interface Props { + basket: Basket; + landingPages: LandingPageInfo[]; + allowSelection?: boolean; +} + +export function LandingPageList({ + landingPages, + basket, + allowSelection = true, +}: Props) { + return ( + + {({ height, width }) => ( + + {({ index, style }) => { + const landingPage = landingPages[index]; + + return ( + 1} + creativeIndex={basket.creativeIndexForLandingPage( + landingPage.url, + )} + nextCreative={() => + basket.nextCreativeForLandingPage( + landingPage.url, + landingPage.creatives.length, + ) + } + /> + ); + }} + + )} + + ); +} diff --git a/src/search/preview/LandingPageListEntry.tsx b/src/search/preview/LandingPageListEntry.tsx new file mode 100644 index 00000000..86440807 --- /dev/null +++ b/src/search/preview/LandingPageListEntry.tsx @@ -0,0 +1,51 @@ +import { SearchPreview } from "@/components/Creatives/SearchPreview"; +import { Box, IconButton, ListItem } from "@mui/material"; +import React, { DispatchWithoutAction } from "react"; +import LoopIcon from "@mui/icons-material/Loop"; +import { LandingPageDetail } from "./LandingPageDetail"; +import { LandingPageInfo } from "./data"; + +interface Props { + landingPage: LandingPageInfo; + + creativeIndex: number; + nextCreative: DispatchWithoutAction; + + hasMultipleCreatives: boolean; + + style: React.CSSProperties; + + allowSelection: boolean; +} + +export function LandingPageListEntry({ + landingPage, + creativeIndex, + nextCreative, + hasMultipleCreatives, + style, +}: Props) { + return ( + + + + + + + + + + + + ); +} diff --git a/src/search/preview/NoPreviewAvailable.tsx b/src/search/preview/NoPreviewAvailable.tsx new file mode 100644 index 00000000..10f8222c --- /dev/null +++ b/src/search/preview/NoPreviewAvailable.tsx @@ -0,0 +1,12 @@ +import { Alert, AlertTitle } from "@mui/material"; + +/* eslint-disable lingui/no-unlocalized-strings */ + +export function NoPreviewAvailable() { + return ( + + No Results + Please check the URL is correct + + ); +} diff --git a/src/search/preview/SearchPreviewPage.tsx b/src/search/preview/SearchPreviewPage.tsx new file mode 100644 index 00000000..d195f316 --- /dev/null +++ b/src/search/preview/SearchPreviewPage.tsx @@ -0,0 +1,39 @@ +import { ErrorBoundary } from "@/ErrorBoundary"; +import { Navbar } from "@/components/Navigation/Navbar"; +import { Box } from "@mui/material"; +import { useParams } from "react-router-dom"; +import { useLandingPageData } from "./data"; +import { SearchPreviewResults } from "./SearchPreviewResults"; +import { FullScreenProgress } from "@/components/FullScreenProgress"; +import { NoPreviewAvailable } from "./NoPreviewAvailable"; + +/* eslint-disable lingui/no-unlocalized-strings */ + +export function SearchPreviewPage() { + const { slug } = useParams<{ slug: string }>(); + const { loading, data } = useLandingPageData(slug); + return ( + + + + + {data ? ( + + ) : loading ? ( + + ) : ( + + )} + + + + ); +} diff --git a/src/search/preview/SearchPreviewResults.tsx b/src/search/preview/SearchPreviewResults.tsx new file mode 100644 index 00000000..37807c2d --- /dev/null +++ b/src/search/preview/SearchPreviewResults.tsx @@ -0,0 +1,48 @@ +import { Box, Container } from "@mui/material"; +import { SearchData } from "./data"; +import { CardContainer } from "@/components/Card/CardContainer"; +import { useBasket } from "@/user/views/user/search/basket"; +import { SummaryPanel } from "./SummaryPanel"; +import { LandingPageList } from "./LandingPageList"; +import { CallToAction } from "./CallToAction"; + +/* eslint-disable lingui/no-unlocalized-strings */ + +interface Props { + data: SearchData; +} + +export function SearchPreviewResults({ data }: Props) { + // we don't actually use the basket + const basket = useBasket(); + return ( + + + + + + + + + + + + + + ); +} diff --git a/src/search/preview/SummaryPanel.tsx b/src/search/preview/SummaryPanel.tsx new file mode 100644 index 00000000..a68ebb2b --- /dev/null +++ b/src/search/preview/SummaryPanel.tsx @@ -0,0 +1,52 @@ +/* eslint-disable lingui/no-unlocalized-strings */ +import { CardContainer } from "@/components/Card/CardContainer"; +import { Box, Typography } from "@mui/material"; +import { ReactNode } from "react"; +import PublicIcon from "@mui/icons-material/Public"; +import DomainIcon from "@mui/icons-material/Domain"; +import { CountryDomain } from "@/user/views/user/search/types"; + +function SummaryEntry({ + title, + value, + icon, +}: { + title: string; + value: ReactNode; + icon: ReactNode; +}) { + return ( + + {icon} + + + {title} + + + {value} + + + + ); +} + +interface Props { + domain: CountryDomain; + countryName: string; +} + +export function SummaryPanel({ domain, countryName }: Props) { + return ( + + + Campaign Summary + + } /> + } + /> + + ); +} diff --git a/src/search/preview/data.ts b/src/search/preview/data.ts new file mode 100644 index 00000000..b845ff38 --- /dev/null +++ b/src/search/preview/data.ts @@ -0,0 +1,81 @@ +/* eslint-disable lingui/no-unlocalized-strings */ +import { CountryDomain } from "@/user/views/user/search/types"; +import { buildAdServerEndpoint } from "@/util/environment"; +import useSWR from "swr"; + +/* this is the data we get back from the server */ +interface ServerSearchData { + countryDomain: CountryDomain; + fullCountryName: string; + landingPages: ServerLandingPageInfo[]; +} + +interface ServerLandingPageInfo { + url: string; + favicon: string; + lastSeen: string; + creatives: Array<{ + title: string; + body?: string | null; + }>; +} + +/* and it's very convenient to have the slug in the data structures we pass round internally */ +export interface SearchData extends ServerSearchData { + landingPages: LandingPageInfo[]; +} + +export interface LandingPageInfo extends ServerLandingPageInfo { + slug: string; +} + +interface UseSearchDataReturn { + data?: T; + loading: boolean; +} + +const fetcher = (suffix: string) => + fetch(`${buildAdServerEndpoint("")}/search/preview/${suffix}`).then((r) => { + if (!r.ok) { + throw new Error(`Error fetching search data: ${r.status}`); + } + + return r.json(); + }); + +export function useLandingPageData( + slug: string, +): UseSearchDataReturn { + const { data, isLoading } = useSWR(slug, fetcher); + + if (!data) { + return { loading: isLoading }; + } + + return { + loading: isLoading, + data: { + ...data, + landingPages: data?.landingPages.map((lp) => ({ + ...lp, + slug, + })), + }, + }; +} + +export function useKeywordData( + slug: string, + landingPageUrl: string, +): UseSearchDataReturn { + const qs = new URLSearchParams({ url: landingPageUrl }); + const { data, isLoading } = useSWR( + `${slug}/keywords?${qs}`, + fetcher, + ); + + return { + loading: isLoading, + data, + }; +} diff --git a/src/user/views/adsManager/views/advanced/components/adSet/AdSetFields.tsx b/src/user/views/adsManager/views/advanced/components/adSet/AdSetFields.tsx index 2c41a07e..9ffbeca3 100644 --- a/src/user/views/adsManager/views/advanced/components/adSet/AdSetFields.tsx +++ b/src/user/views/adsManager/views/advanced/components/adSet/AdSetFields.tsx @@ -69,6 +69,7 @@ const SwitchHeader = (props: { current: number }) => { campaignId: values.id, campaignSource: CampaignSource.SelfServe, state: values.adSets[current].state, + id: values.adSets[current].id, advertiserId: advertiser.id, }; diff --git a/src/user/views/adsManager/views/advanced/components/form/EditCampaign.tsx b/src/user/views/adsManager/views/advanced/components/form/EditCampaign.tsx index 02a5d830..4e3a14f5 100644 --- a/src/user/views/adsManager/views/advanced/components/form/EditCampaign.tsx +++ b/src/user/views/adsManager/views/advanced/components/form/EditCampaign.tsx @@ -106,6 +106,7 @@ export function EditCampaign() { setSubmitting(false); }} validationSchema={CampaignSchema(data.prices)} + enableReinitialize > diff --git a/src/user/views/user/search/LandingPageDetail.tsx b/src/user/views/user/search/LandingPageDetail.tsx index 3b217518..f7a243e9 100644 --- a/src/user/views/user/search/LandingPageDetail.tsx +++ b/src/user/views/user/search/LandingPageDetail.tsx @@ -68,7 +68,7 @@ function QueryList({ ); } -function SkeletonQueryList() { +export function SkeletonQueryList() { return _.range(0, 20).map((i) => ( )); diff --git a/src/user/views/user/search/LandingPageList.tsx b/src/user/views/user/search/LandingPageList.tsx index d7e40976..21ba2a54 100644 --- a/src/user/views/user/search/LandingPageList.tsx +++ b/src/user/views/user/search/LandingPageList.tsx @@ -11,9 +11,15 @@ interface Props { domain: CountryDomain; basket: Basket; landingPages: SearchProspectsLandingPageListFragment[] | undefined; + allowSelection?: boolean; } -export function LandingPageList({ landingPages, basket, domain }: Props) { +export function LandingPageList({ + landingPages, + basket, + domain, + allowSelection = true, +}: Props) { if (!landingPages) { return ; } @@ -37,6 +43,7 @@ export function LandingPageList({ landingPages, basket, domain }: Props) { style={style} domain={domain} landingPage={landingPage} + allowSelection={allowSelection} hasMultipleCreatives={landingPage.creatives.length > 1} selected={basket.isLandingPageSelected(landingPage.url)} toggleSelection={() => diff --git a/src/user/views/user/search/LandingPageListEntry.tsx b/src/user/views/user/search/LandingPageListEntry.tsx index fd7ff9e2..bad11edc 100644 --- a/src/user/views/user/search/LandingPageListEntry.tsx +++ b/src/user/views/user/search/LandingPageListEntry.tsx @@ -25,6 +25,8 @@ interface Props { style: React.CSSProperties; domain: CountryDomain; + + allowSelection: boolean; } export function LandingPageListEntry({ @@ -36,12 +38,19 @@ export function LandingPageListEntry({ hasMultipleCreatives, domain, style, + allowSelection, }: Props) { return ( - - - + {allowSelection && ( + + + + )}