diff --git a/package.json b/package.json index ab7fccd..5c04da1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plunk", - "version": "1.0.0", + "version": "1.0.1", "private": true, "license": "agpl-3.0", "workspaces": { diff --git a/packages/api/src/controllers/v1/Campaigns.ts b/packages/api/src/controllers/v1/Campaigns.ts index be03fea..9072f98 100644 --- a/packages/api/src/controllers/v1/Campaigns.ts +++ b/packages/api/src/controllers/v1/Campaigns.ts @@ -299,6 +299,13 @@ export class Campaigns { }); const chunkSize = 500; + + for (let i = 0; i < campaign.recipients.length; i += chunkSize) { + const chunk = campaign.recipients.slice(i, i + chunkSize); + + await prisma.$executeRaw`DELETE FROM "_CampaignToContact" WHERE "A" = ${campaign.id} AND "B" = ANY(${chunk.map((c) => c.id)})`; + } + for (let i = 0; i < recipients.length; i += chunkSize) { const chunk = recipients.slice(i, i + chunkSize); diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 910d9bf..dac9241 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -47,6 +47,7 @@ "react-dom": "18.3.1", "react-hook-form": "^7.52.1", "react-syntax-highlighter": "^15.5.0", + "react-window": "^1.8.10", "recharts": "^2.12.7", "sharp": "^0.33.4", "sonner": "^1.5.0", @@ -62,6 +63,7 @@ "@types/nprogress": "^0.2.3", "@types/react": "18.3.3", "@types/react-syntax-highlighter": "^15.5.13", + "@types/react-window": "^1", "autoprefixer": "^10.4.19", "postcss": "^8.4.39", "tailwindcss": "^3.4.6", diff --git a/packages/dashboard/src/components/Input/MultiselectDropdown/MultiselectDropdown.tsx b/packages/dashboard/src/components/Input/MultiselectDropdown/MultiselectDropdown.tsx index 583f1fd..ec7185b 100644 --- a/packages/dashboard/src/components/Input/MultiselectDropdown/MultiselectDropdown.tsx +++ b/packages/dashboard/src/components/Input/MultiselectDropdown/MultiselectDropdown.tsx @@ -1,181 +1,172 @@ -import React, {MutableRefObject, useEffect, useState} from 'react'; -import {AnimatePresence, motion} from 'framer-motion'; +import { AnimatePresence, motion } from "framer-motion"; +import React, { type MutableRefObject, useEffect, useState } from "react"; +import { FixedSizeList as List } from "react-window"; export interface MultiselectDropdownProps { - onChange: (value: string[]) => void; - values: readonly { - name: string; - value: string; - tag?: string; - }[]; - selectedValues?: readonly string[]; - disabled?: boolean; - className?: string; + onChange: (value: string[]) => void; + values: readonly { + name: string; + value: string; + tag?: string; + }[]; + selectedValues?: readonly string[]; + disabled?: boolean; + className?: string; } -/** - * @param root0 - * @param root0.onChange - * @param root0.values - * @param root0.selectedValues - * @param root0.className - * @param root0.disabled - */ export default function MultiselectDropdown({ - onChange, - values, - selectedValues: PropsselectedValues, - className, - disabled = false, + onChange, + values, + selectedValues: PropsselectedValues, + className, + disabled = false, }: MultiselectDropdownProps) { - const [open, setOpen] = useState(false); - const [query, setQuery] = useState(''); - const [selectedValues, setSelectedValues] = useState([]); + const [open, setOpen] = useState(false); + const [query, setQuery] = useState(""); + const [selectedValues, setSelectedValues] = useState([]); - const ref = React.createRef(); + const ref = React.createRef(); - useEffect(() => { - if (PropsselectedValues) { - setSelectedValues(PropsselectedValues); - } - }, [PropsselectedValues]); + useEffect(() => { + if (PropsselectedValues) { + setSelectedValues(PropsselectedValues); + } + }, [PropsselectedValues]); - useEffect(() => { - const mutableRef = ref as MutableRefObject; + useEffect(() => { + const mutableRef = ref as MutableRefObject; - const handleClickOutside = (event: any) => { - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument - if (mutableRef.current && !mutableRef.current.contains(event.target) && open) { - setOpen(!open); - } - }; + const handleClickOutside = (event: MouseEvent) => { + if (mutableRef.current && !mutableRef.current.contains(event.target as Node) && open) { + setOpen(!open); + } + }; - document.addEventListener('mousedown', handleClickOutside); - return () => { - document.removeEventListener('mousedown', handleClickOutside); - }; - }, [ref]); + document.addEventListener("mousedown", handleClickOutside); + return () => { + document.removeEventListener("mousedown", handleClickOutside); + }; + }, [ref, open]); - return ( - <> -
-
- + const Row = ({ index, style }: { index: number; style: React.CSSProperties }) => { + const value = filteredValues[index]; + return ( +
  • { + const isAlreadySelected = selectedValues.find((selection) => value.value === selection); - - {open && ( - -
  • - setQuery(e.target.value)} - /> -
  • + const updatedArray = isAlreadySelected + ? selectedValues.filter((selection) => selection !== value.value) + : [...selectedValues, value.value]; - {values.filter(value => value.name.toLowerCase().includes(query.toLowerCase())).length === 0 ? ( -
  • - No results found -
  • - ) : ( - values - .filter(value => value.name.toLowerCase().includes(query.toLowerCase())) - .map((value, index) => { - return ( -
  • { - const isAlreadySelected = selectedValues.find(selection => value.value === selection); + onChange(updatedArray); + setSelectedValues(updatedArray); + }} + > + {value.tag && ( + {value.tag} + )} + + {value.name.charAt(0).toUpperCase() + value.name.slice(1).toLowerCase()} + + {value.value === selectedValues.find((selection) => value.value === selection) ? ( + + + + ) : null} +
  • + ); + }; - const updatedArray = isAlreadySelected - ? selectedValues.filter(selection => selection !== value.value) - : [...selectedValues, value.value]; + const filteredValues = values.filter((value) => value.name.toLowerCase().includes(query.toLowerCase())); - onChange(updatedArray); - setSelectedValues(updatedArray); - }} - > - {value.tag && ( - - {value.tag} - - )} - - {value.name.charAt(0).toUpperCase() + value.name.slice(1).toLowerCase()} - - {value.value === selectedValues.find(selection => value.value === selection) ? ( - - - - ) : null} - - ); - }) - )} - - )} - -
    -
    - - ); + return ( + <> +
    +
    + + + + {open && ( + +
  • + setQuery(e.target.value)} + /> +
  • + + {filteredValues.length === 0 ? ( +
  • No results found
  • + ) : ( + + {Row} + + )} +
    + )} +
    +
    +
    + + ); } diff --git a/yarn.lock b/yarn.lock index 5f3a3cb..031713f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,42 +22,6 @@ __metadata: languageName: node linkType: hard -"@aws-crypto/crc32@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/crc32@npm:5.2.0" - dependencies: - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - tslib: "npm:^2.6.2" - checksum: 10c0/eab9581d3363af5ea498ae0e72de792f54d8890360e14a9d8261b7b5c55ebe080279fb2556e07994d785341cdaa99ab0b1ccf137832b53b5904cd6928f2b094b - languageName: node - linkType: hard - -"@aws-crypto/crc32c@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/crc32c@npm:5.2.0" - dependencies: - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - tslib: "npm:^2.6.2" - checksum: 10c0/223efac396cdebaf5645568fa9a38cd0c322c960ae1f4276bedfe2e1031d0112e49d7d39225d386354680ecefae29f39af469a84b2ddfa77cb6692036188af77 - languageName: node - linkType: hard - -"@aws-crypto/sha1-browser@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/sha1-browser@npm:5.2.0" - dependencies: - "@aws-crypto/supports-web-crypto": "npm:^5.2.0" - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - "@aws-sdk/util-locate-window": "npm:^3.0.0" - "@smithy/util-utf8": "npm:^2.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/51fed0bf078c10322d910af179871b7d299dde5b5897873ffbeeb036f427e5d11d23db9794439226544b73901920fd19f4d86bbc103ed73cc0cfdea47a83c6ac - languageName: node - linkType: hard - "@aws-crypto/sha256-browser@npm:5.2.0": version: 5.2.0 resolution: "@aws-crypto/sha256-browser@npm:5.2.0" @@ -156,72 +120,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/client-s3@npm:3.616.0" - dependencies: - "@aws-crypto/sha1-browser": "npm:5.2.0" - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.616.0" - "@aws-sdk/client-sts": "npm:3.616.0" - "@aws-sdk/core": "npm:3.616.0" - "@aws-sdk/credential-provider-node": "npm:3.616.0" - "@aws-sdk/middleware-bucket-endpoint": "npm:3.616.0" - "@aws-sdk/middleware-expect-continue": "npm:3.616.0" - "@aws-sdk/middleware-flexible-checksums": "npm:3.616.0" - "@aws-sdk/middleware-host-header": "npm:3.616.0" - "@aws-sdk/middleware-location-constraint": "npm:3.609.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.616.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.616.0" - "@aws-sdk/middleware-signing": "npm:3.616.0" - "@aws-sdk/middleware-ssec": "npm:3.609.0" - "@aws-sdk/middleware-user-agent": "npm:3.616.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.616.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@aws-sdk/xml-builder": "npm:3.609.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.2.7" - "@smithy/eventstream-serde-browser": "npm:^3.0.4" - "@smithy/eventstream-serde-config-resolver": "npm:^3.0.3" - "@smithy/eventstream-serde-node": "npm:^3.0.4" - "@smithy/fetch-http-handler": "npm:^3.2.2" - "@smithy/hash-blob-browser": "npm:^3.1.2" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/hash-stream-node": "npm:^3.1.2" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/md5-js": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.4" - "@smithy/middleware-endpoint": "npm:^3.0.5" - "@smithy/middleware-retry": "npm:^3.0.10" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.3" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/smithy-client": "npm:^3.1.8" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" - "@smithy/util-base64": "npm:^3.0.0" - "@smithy/util-body-length-browser": "npm:^3.0.0" - "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.10" - "@smithy/util-defaults-mode-node": "npm:^3.0.10" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-retry": "npm:^3.0.3" - "@smithy/util-stream": "npm:^3.1.0" - "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.2" - tslib: "npm:^2.6.2" - checksum: 10c0/15e4e4364848dcf9fbee44104664659ea4d190a98f8d3f0e3fa2489474a09135c0646628193e7754dc2078bf09043e9a60467ae06448076de9ac566e4f8cf3d8 - languageName: node - linkType: hard - "@aws-sdk/client-ses@npm:^3.616.0": version: 3.616.0 resolution: "@aws-sdk/client-ses@npm:3.616.0" @@ -542,49 +440,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.616.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-config-provider": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/77d3b75395bd18b63e832356a8a9bf26059463242de32d1a6b7163c80a82f9970f118d4d4901ec7c04a601ef735bffe8a1cc60a640122ec7b6e681c7ea8d4525 - languageName: node - linkType: hard - -"@aws-sdk/middleware-expect-continue@npm:3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.616.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/bc90e337021d5aae00db1380546c5906816850ebc488ae373124d4a7830261b1e9f59a61186e211ff66904b06c3a8010875f6d9235e94f48d75a602273ab8e43 - languageName: node - linkType: hard - -"@aws-sdk/middleware-flexible-checksums@npm:3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.616.0" - dependencies: - "@aws-crypto/crc32": "npm:5.2.0" - "@aws-crypto/crc32c": "npm:5.2.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/is-array-buffer": "npm:^3.0.0" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/2c59282ea543fb657fb4a7b37ed81a94bcfb852e655035151e7a019d8e05f7b095e2787022fb8571adf63983ea3f99da240e3669f684ef325ead757a0dab18d9 - languageName: node - linkType: hard - "@aws-sdk/middleware-host-header@npm:3.616.0": version: 3.616.0 resolution: "@aws-sdk/middleware-host-header@npm:3.616.0" @@ -597,17 +452,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.609.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/1eba2a3a1a003855a69e56f1c54fb2283b30db50bf14130cd042e25805497b7a19539144052c4fa710952d754d1a9e5d680fce09536509cf796a16816c8d506f - languageName: node - linkType: hard - "@aws-sdk/middleware-logger@npm:3.609.0": version: 3.609.0 resolution: "@aws-sdk/middleware-logger@npm:3.609.0" @@ -631,51 +475,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.616.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/signature-v4": "npm:^4.0.0" - "@smithy/smithy-client": "npm:^3.1.8" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-stream": "npm:^3.1.0" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/37cd1ec99285cf8a8ed5a5568e22a6bf1c9cee7c6c275a944031c6cf7127b44570a5f7d50cbd041a118947c5053a4846d12eefd7f9592c8c5aa5f486cd956ec1 - languageName: node - linkType: hard - -"@aws-sdk/middleware-signing@npm:3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/middleware-signing@npm:3.616.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/signature-v4": "npm:^4.0.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-middleware": "npm:^3.0.3" - tslib: "npm:^2.6.2" - checksum: 10c0/5f605347d5cc913341d327e48a1247a599b21408987d53b1b462d436ac8dfdfe1e8ab90ce918779af5cf1126ae8b4e3727a94c0e3f13ced7faf5607219931dc8 - languageName: node - linkType: hard - -"@aws-sdk/middleware-ssec@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.609.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/7688628299c3d3352182634836d8a5ad89d69dfedd91d7386ffeaa8288160329eef7d399321b7841bb4c84c9741d7245ef218657a8df71248b5ce5f7273e303d - languageName: node - linkType: hard - "@aws-sdk/middleware-user-agent@npm:3.616.0": version: 3.616.0 resolution: "@aws-sdk/middleware-user-agent@npm:3.616.0" @@ -703,20 +502,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.616.0": - version: 3.616.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.616.0" - dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.616.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/protocol-http": "npm:^4.0.4" - "@smithy/signature-v4": "npm:^4.0.0" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/c18f5ac47791bdda6426bed17e245f2fa3368bec633d9d3e7f86d814e0fe091a85429f1c3d94644ac8f27b44f8547e24f5421e5b5beab648aad3ea622c259550 - languageName: node - linkType: hard - "@aws-sdk/token-providers@npm:3.614.0": version: 3.614.0 resolution: "@aws-sdk/token-providers@npm:3.614.0" @@ -742,15 +527,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-arn-parser@npm:3.568.0": - version: 3.568.0 - resolution: "@aws-sdk/util-arn-parser@npm:3.568.0" - dependencies: - tslib: "npm:^2.6.2" - checksum: 10c0/4e6168b86a1ff4509f25b56e473c95bdcc0ecbaedcded29cbbd500eb7c156de63f2426282cd50489ac7f321a990056349974730f9e27ac3fe872ba3573b09fb6 - languageName: node - linkType: hard - "@aws-sdk/util-endpoints@npm:3.614.0": version: 3.614.0 resolution: "@aws-sdk/util-endpoints@npm:3.614.0" @@ -2213,6 +1989,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.0.0": + version: 7.25.0 + resolution: "@babel/runtime@npm:7.25.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/bd3faf246170826cef2071a94d7b47b49d532351360ecd17722d03f6713fd93a3eb3dbd9518faa778d5e8ccad7392a7a604e56bd37aaad3f3aa68d619ccd983d + languageName: node + linkType: hard + "@babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": version: 7.24.8 resolution: "@babel/runtime@npm:7.24.8" @@ -3380,7 +3165,6 @@ __metadata: resolution: "@plunk/api@workspace:packages/api" dependencies: "@aws-sdk/client-cloudfront": "npm:^3.616.0" - "@aws-sdk/client-s3": "npm:^3.616.0" "@aws-sdk/client-ses": "npm:^3.616.0" "@overnightjs/core": "npm:^1.7.6" "@plunk/shared": "npm:^1.0.0" @@ -3394,7 +3178,6 @@ __metadata: "@types/jsonwebtoken": "npm:^9.0.6" "@types/mjml": "npm:^4.7.4" "@types/morgan": "npm:^1.9.9" - "@types/multer": "npm:^1.4.11" "@types/node-cron": "npm:^3.0.11" "@types/signale": "npm:^1.4.7" bcrypt: "npm:^5.1.1" @@ -3411,7 +3194,6 @@ __metadata: jsonwebtoken: "npm:^9.0.2" mjml: "npm:^4.15.3" morgan: "npm:^1.10.0" - multer: "npm:^1.4.5-lts.1" node-cron: "npm:^3.0.3" prisma: "npm:^5.17.0" signale: "npm:^1.4.0" @@ -3450,6 +3232,7 @@ __metadata: "@types/nprogress": "npm:^0.2.3" "@types/react": "npm:18.3.3" "@types/react-syntax-highlighter": "npm:^15.5.13" + "@types/react-window": "npm:^1" "@uiball/loaders": "npm:^1.3.1" autoprefixer: "npm:^10.4.19" classnames: "npm:^2.5.1" @@ -3471,6 +3254,7 @@ __metadata: react-dom: "npm:18.3.1" react-hook-form: "npm:^7.52.1" react-syntax-highlighter: "npm:^15.5.0" + react-window: "npm:^1.8.10" recharts: "npm:^2.12.7" sharp: "npm:^0.33.4" sonner: "npm:^1.5.0" @@ -3639,25 +3423,6 @@ __metadata: languageName: node linkType: hard -"@smithy/chunked-blob-reader-native@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/chunked-blob-reader-native@npm:3.0.0" - dependencies: - "@smithy/util-base64": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/f3cbd03baaaf33a2c44a484851e3f2902f87cbb2168abff179276b19fd137be021393551b9270f9f3135408d816a06fe84ff826d9beb576dbe53fae9cf487362 - languageName: node - linkType: hard - -"@smithy/chunked-blob-reader@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/chunked-blob-reader@npm:3.0.0" - dependencies: - tslib: "npm:^2.6.2" - checksum: 10c0/cc551e4d6c711bec381d70c3074e3937ee78245bb15dd55c28c43c6c30808af1855c8df4a785a1033ded1483979ae115cf2c9decce73083346734db0d32b2fe5 - languageName: node - linkType: hard - "@smithy/config-resolver@npm:^3.0.5": version: 3.0.5 resolution: "@smithy/config-resolver@npm:3.0.5" @@ -3700,61 +3465,6 @@ __metadata: languageName: node linkType: hard -"@smithy/eventstream-codec@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/eventstream-codec@npm:3.1.2" - dependencies: - "@aws-crypto/crc32": "npm:5.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-hex-encoding": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/fc8db95d9625524b2832cf9cea203b4c1062197d04eef6f676b6eea06cc0007d45acb5270937c1b6b76f98638acaf0c2b822278226c25841ab45488df786e332 - languageName: node - linkType: hard - -"@smithy/eventstream-serde-browser@npm:^3.0.4": - version: 3.0.5 - resolution: "@smithy/eventstream-serde-browser@npm:3.0.5" - dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.4" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/de7255f22fef702cb24d92be7eaea6f1c1faeeac21e1c6d6865df77c5018045033bb66e4658cf74856d1c7f7d4ad2fbb52d3e341705a5907eeee15c0449c0fa0 - languageName: node - linkType: hard - -"@smithy/eventstream-serde-config-resolver@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.3" - dependencies: - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/ef3360c0a0e4ad20f6e6da84b63e5071e3158af726bf291c610e2d42b5e042008cd9fe41ce2183f491422f23c36437987c0d1139e68b3c127d48c01b442dab82 - languageName: node - linkType: hard - -"@smithy/eventstream-serde-node@npm:^3.0.4": - version: 3.0.4 - resolution: "@smithy/eventstream-serde-node@npm:3.0.4" - dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.4" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/11ff38048b1176625d4beb9ca245118aacaf867c90a94747e8cf0bb99e48c68aeedeab56c48a0238a27e35920c7074f3b6f71f8a8246a0d115962d728063a1f5 - languageName: node - linkType: hard - -"@smithy/eventstream-serde-universal@npm:^3.0.4": - version: 3.0.4 - resolution: "@smithy/eventstream-serde-universal@npm:3.0.4" - dependencies: - "@smithy/eventstream-codec": "npm:^3.1.2" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/99ab5f708fa4ebccea96b373395efc76b49c34ae8eb97aa33622ba82e93441a72010bb03693ec18d1517d9bb0a4a7e5c254179c22f38f411a6fecf8b3291c77f - languageName: node - linkType: hard - "@smithy/fetch-http-handler@npm:^3.2.2": version: 3.2.2 resolution: "@smithy/fetch-http-handler@npm:3.2.2" @@ -3768,18 +3478,6 @@ __metadata: languageName: node linkType: hard -"@smithy/hash-blob-browser@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/hash-blob-browser@npm:3.1.2" - dependencies: - "@smithy/chunked-blob-reader": "npm:^3.0.0" - "@smithy/chunked-blob-reader-native": "npm:^3.0.0" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/71b017ae71839e058661e22589bacbc204d4980df66d67725aaa415493107e2f0898e41d0c6a4cd2c96333648d472c66ed35ec3c264156e6021bda5d590eb5ab - languageName: node - linkType: hard - "@smithy/hash-node@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/hash-node@npm:3.0.3" @@ -3792,17 +3490,6 @@ __metadata: languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/hash-stream-node@npm:3.1.2" - dependencies: - "@smithy/types": "npm:^3.3.0" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/2daadb5d6f08022ca1b1ecb4256d613613be86b7b768fb221ee3a2a7e584df0f4a546fba080e8366211c99f9ddb66d57e38525d10839405eab0b9d5be81d313b - languageName: node - linkType: hard - "@smithy/invalid-dependency@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/invalid-dependency@npm:3.0.3" @@ -3831,17 +3518,6 @@ __metadata: languageName: node linkType: hard -"@smithy/md5-js@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/md5-js@npm:3.0.3" - dependencies: - "@smithy/types": "npm:^3.3.0" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/048b966676f5944da701120ca2e133de8a17fa403f2dc96dd88a82ea2248e2b439147b062ad8860486a9897899dd28de45cc0e2ae03c1221e2b987ad8e065464 - languageName: node - linkType: hard - "@smithy/middleware-content-length@npm:^3.0.4": version: 3.0.4 resolution: "@smithy/middleware-content-length@npm:3.0.4" @@ -5088,15 +4764,6 @@ __metadata: languageName: node linkType: hard -"@types/multer@npm:^1.4.11": - version: 1.4.11 - resolution: "@types/multer@npm:1.4.11" - dependencies: - "@types/express": "npm:*" - checksum: 10c0/ace8e9f5ac7d2d7f6e0c35b790504f582a2f82a84cc06a7b90315527599b95256595bc0bb5bba60220c20a558554f0c21b96b94848b885987ab69512a3a9865e - languageName: node - linkType: hard - "@types/node-cron@npm:^3.0.11": version: 3.0.11 resolution: "@types/node-cron@npm:3.0.11" @@ -5157,6 +4824,15 @@ __metadata: languageName: node linkType: hard +"@types/react-window@npm:^1": + version: 1.8.8 + resolution: "@types/react-window@npm:1.8.8" + dependencies: + "@types/react": "npm:*" + checksum: 10c0/2170a3957752603e8b994840c5d31b72ddf94c427c0f42b0175b343cc54f50fe66161d8871e11786ec7a59906bd33861945579a3a8f745455a3744268ec1069f + languageName: node + linkType: hard + "@types/react@npm:*, @types/react@npm:18.3.3": version: 18.3.3 resolution: "@types/react@npm:18.3.3" @@ -5431,13 +5107,6 @@ __metadata: languageName: node linkType: hard -"append-field@npm:^1.0.0": - version: 1.0.0 - resolution: "append-field@npm:1.0.0" - checksum: 10c0/1b5abcc227e5179936a9e4f7e2af4769fa1f00eda85bbaed907f7964b0fd1f7d61f0f332b35337f391389ff13dd5310c2546ba670f8e5a743b23ec85185c73ef - languageName: node - linkType: hard - "aproba@npm:2.0.0, aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -5776,7 +5445,7 @@ __metadata: languageName: node linkType: hard -"busboy@npm:1.6.0, busboy@npm:^1.0.0": +"busboy@npm:1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" dependencies: @@ -6314,18 +5983,6 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^1.5.2": - version: 1.6.2 - resolution: "concat-stream@npm:1.6.2" - dependencies: - buffer-from: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^2.2.2" - typedarray: "npm:^0.0.6" - checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 - languageName: node - linkType: hard - "concat-stream@npm:^2.0.0": version: 2.0.0 resolution: "concat-stream@npm:2.0.0" @@ -9395,6 +9052,13 @@ __metadata: languageName: node linkType: hard +"memoize-one@npm:>=3.1.1 <6": + version: 5.2.1 + resolution: "memoize-one@npm:5.2.1" + checksum: 10c0/fd22dbe9a978a2b4f30d6a491fc02fb90792432ad0dab840dc96c1734d2bd7c9cdeb6a26130ec60507eb43230559523615873168bcbe8fafab221c30b11d54c1 + languageName: node + linkType: hard + "mensch@npm:^0.3.4": version: 0.3.4 resolution: "mensch@npm:0.3.4" @@ -10098,17 +9762,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^0.5.4": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 - languageName: node - linkType: hard - "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -10159,21 +9812,6 @@ __metadata: languageName: node linkType: hard -"multer@npm:^1.4.5-lts.1": - version: 1.4.5-lts.1 - resolution: "multer@npm:1.4.5-lts.1" - dependencies: - append-field: "npm:^1.0.0" - busboy: "npm:^1.0.0" - concat-stream: "npm:^1.5.2" - mkdirp: "npm:^0.5.4" - object-assign: "npm:^4.1.1" - type-is: "npm:^1.6.4" - xtend: "npm:^4.0.0" - checksum: 10c0/4c6c91e93e510c99e791b6520e3e2f4a227a57f4f509427ff7f3a6f4cc0b4b09ad77c475f629c12f7ae01dba11645b2bd6568877cab775de8bf853b0a67259b4 - languageName: node - linkType: hard - "multimatch@npm:5.0.0": version: 5.0.0 resolution: "multimatch@npm:5.0.0" @@ -11769,6 +11407,19 @@ __metadata: languageName: node linkType: hard +"react-window@npm:^1.8.10": + version: 1.8.10 + resolution: "react-window@npm:1.8.10" + dependencies: + "@babel/runtime": "npm:^7.0.0" + memoize-one: "npm:>=3.1.1 <6" + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/eda9afb667d9784513dcc2755b65edf3a1412e7877975322993c1382908aaef0c0b948b7e3b2d705e353306556274d90f7ab19ac40aef2184fa39d4c1e2232ea + languageName: node + linkType: hard + "react@npm:18.3.1": version: 18.3.1 resolution: "react@npm:18.3.1" @@ -11857,7 +11508,18 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.2.2, readable-stream@npm:~2.3.6": +"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -11872,17 +11534,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -13222,7 +12873,7 @@ __metadata: languageName: node linkType: hard -"type-is@npm:^1.6.4, type-is@npm:~1.6.18": +"type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: