summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--frontend/package-lock.json2157
-rw-r--r--frontend/package.json53
-rw-r--r--frontend/src/App/Header.tsx2
-rw-r--r--frontend/src/App/Navbar.tsx8
-rw-r--r--frontend/src/App/index.tsx2
-rw-r--r--frontend/src/App/theme.tsx10
-rw-r--r--frontend/src/Router/index.tsx18
-rw-r--r--frontend/src/apis/queries/hooks.ts2
-rw-r--r--frontend/src/components/ErrorBoundary.tsx4
-rw-r--r--frontend/src/components/async/Lazy.tsx4
-rw-r--r--frontend/src/components/forms/MovieUploadForm.tsx4
-rw-r--r--frontend/src/components/index.tsx2
-rw-r--r--frontend/src/components/inputs/DropContent.tsx2
-rw-r--r--frontend/src/components/modals/HistoryModal.tsx2
-rw-r--r--frontend/src/components/modals/ManualSearchModal.tsx2
-rw-r--r--frontend/src/components/modals/SubtitleToolsModal.tsx6
-rw-r--r--frontend/src/components/tables/PageControl.tsx2
-rw-r--r--frontend/src/components/tables/PageTable.tsx2
-rw-r--r--frontend/src/components/tables/plugins/useCustomSelection.tsx2
-rw-r--r--frontend/src/components/toolbox/index.tsx4
-rw-r--r--frontend/src/dom.tsx31
-rw-r--r--frontend/src/modules/modals/ModalsProvider.tsx10
-rw-r--r--frontend/src/modules/modals/hooks.ts7
-rw-r--r--frontend/src/modules/modals/index.ts2
-rw-r--r--frontend/src/modules/socketio/index.ts2
-rw-r--r--frontend/src/pages/Episodes/index.tsx4
-rw-r--r--frontend/src/pages/Episodes/table.tsx4
-rw-r--r--frontend/src/pages/History/Statistics/index.tsx2
-rw-r--r--frontend/src/pages/Movies/Details/index.tsx4
-rw-r--r--frontend/src/pages/Movies/index.tsx22
-rw-r--r--frontend/src/pages/Settings/Languages/table.tsx42
-rw-r--r--frontend/src/pages/Settings/Providers/components.tsx6
-rw-r--r--frontend/src/pages/Settings/components/Message.tsx13
-rw-r--r--frontend/src/pages/Settings/components/Section.tsx6
-rw-r--r--frontend/src/pages/Settings/components/collapse.tsx6
-rw-r--r--frontend/src/pages/Settings/components/forms.test.tsx4
-rw-r--r--frontend/src/pages/Settings/components/forms.tsx17
-rw-r--r--frontend/src/pages/Settings/components/index.tsx8
-rw-r--r--frontend/src/pages/Settings/utilities/SettingsProvider.tsx11
-rw-r--r--frontend/src/pages/System/Status/index.tsx19
-rw-r--r--frontend/src/pages/Wanted/Movies/index.tsx2
-rw-r--r--frontend/src/pages/Wanted/Series/index.tsx2
-rw-r--r--frontend/src/pages/views/ItemOverview.tsx6
-rw-r--r--frontend/src/providers.tsx24
-rw-r--r--frontend/src/tests/index.tsx28
-rw-r--r--frontend/src/utilities/routers.ts36
46 files changed, 1362 insertions, 1244 deletions
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index edfa33e2f..e722ba67a 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -9,17 +9,17 @@
"version": "1.0.0",
"license": "GPL-3",
"dependencies": {
- "@mantine/core": "^5.6.0",
- "@mantine/dropzone": "^5.6.0",
- "@mantine/form": "^5.6.0",
- "@mantine/hooks": "^5.6.0",
- "@mantine/modals": "^5.6.0",
- "@mantine/notifications": "^5.6.0",
- "axios": "^0.27.2",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "@mantine/core": "^6.0.0",
+ "@mantine/dropzone": "^6.0.0",
+ "@mantine/form": "^6.0.0",
+ "@mantine/hooks": "^6.0.0",
+ "@mantine/modals": "^6.0.0",
+ "@mantine/notifications": "^6.0.0",
+ "axios": "^1.3.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-query": "^3.39.2",
- "react-router-dom": "~6.3.0",
+ "react-router-dom": "~6.10.0",
"socket.io-client": "^4.5.3"
},
"devDependencies": {
@@ -30,36 +30,35 @@
"@fortawesome/free-solid-svg-icons": "^6.2.0",
"@fortawesome/react-fontawesome": "^0.2.0",
"@testing-library/jest-dom": "^5.16.5",
- "@testing-library/react": "^12.1.0",
- "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@types/lodash": "^4.14.0",
- "@types/node": "^18.11.7",
- "@types/react": "^17.0.0",
- "@types/react-dom": "^17.0.0",
+ "@types/node": "^18.16.0",
+ "@types/react": "^18.2.0",
+ "@types/react-dom": "^18.2.0",
"@types/react-table": "^7.7.0",
- "@vitejs/plugin-react": "^2.2.0",
- "@vitest/coverage-c8": "^0.28.5",
- "@vitest/ui": "^0.29.1",
+ "@vitejs/plugin-react": "^4.0.0",
+ "@vitest/coverage-c8": "^0.30.0",
+ "@vitest/ui": "^0.30.0",
"clsx": "^1.2.0",
- "eslint": "^8.26.0",
+ "eslint": "^8.39.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-testing-library": "^5.9.0",
"husky": "^8.0.2",
- "jsdom": "^20.0.1",
+ "jsdom": "^21.0.0",
"lodash": "^4.17.0",
"moment": "^2.29",
- "prettier": "^2.7.0",
+ "prettier": "^2.8.0",
"prettier-plugin-organize-imports": "^3.1.0",
"pretty-quick": "^3.1.0",
"react-table": "^7.8.0",
- "recharts": "~2.1.0",
- "sass": "^1.55.0",
- "typescript": "^4",
- "vite": "^3.2.1",
+ "recharts": "~2.5.0",
+ "sass": "^1.62.0",
+ "typescript": "^5",
+ "vite": "^4.3.0",
"vite-plugin-checker": "^0.5.5",
- "vitest": "^0.25.0"
+ "vitest": "^0.30.1"
}
},
"node_modules/@adobe/css-tools": {
@@ -2133,9 +2132,9 @@
"peer": true
},
"node_modules/@esbuild/android-arm": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
- "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz",
+ "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==",
"cpu": [
"arm"
],
@@ -2148,10 +2147,154 @@
"node": ">=12"
}
},
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz",
+ "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz",
+ "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz",
+ "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz",
+ "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz",
+ "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz",
+ "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz",
+ "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz",
+ "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz",
+ "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@esbuild/linux-loong64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz",
- "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz",
+ "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==",
"cpu": [
"loong64"
],
@@ -2164,6 +2307,182 @@
"node": ">=12"
}
},
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz",
+ "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz",
+ "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz",
+ "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz",
+ "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz",
+ "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz",
+ "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz",
+ "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz",
+ "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz",
+ "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz",
+ "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
+ "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
@@ -2239,9 +2558,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz",
- "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
+ "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2505,41 +2824,42 @@
"dev": true
},
"node_modules/@mantine/core": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/core/-/core-5.10.5.tgz",
- "integrity": "sha512-F4tqHSEVM9D6/iSqHfPda+Xl5XgSEPHAAkT01Zwzj4Jnbd10qGrlqr/SFUop2CIcuKYnmra9XltUahUPXBC2BQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/core/-/core-6.0.9.tgz",
+ "integrity": "sha512-v0g59ajqFOcSlXO3bNpRaZg3VSX3hVAJ/MyaAvzdMYtTiN0ogaBJH3RXQscxr7Us2ega4psG1rW7ybUP7WrZKg==",
"dependencies": {
"@floating-ui/react": "^0.19.1",
- "@mantine/styles": "5.10.5",
- "@mantine/utils": "5.10.5",
+ "@mantine/styles": "6.0.9",
+ "@mantine/utils": "6.0.9",
"@radix-ui/react-scroll-area": "1.0.2",
+ "react-remove-scroll": "^2.5.5",
"react-textarea-autosize": "8.3.4"
},
"peerDependencies": {
- "@mantine/hooks": "5.10.5",
+ "@mantine/hooks": "6.0.9",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/dropzone": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-5.10.5.tgz",
- "integrity": "sha512-tBPBuQvlvesEApECTfmYFQXbS26sAQo8VaYIebTqBy9VIUoVAM9VCKHBLqa3KMKtq+/HjKCJpaa8+Cjn9riqqQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-6.0.9.tgz",
+ "integrity": "sha512-hJxoFSDUvhMI8Bma4b0DLL7Y+aYzxZNioOni8+cSOg9+5FGU0UxM6JZ6JUXP6dTKvpdAzwhZdT7no5EeWQo26Q==",
"dependencies": {
- "@mantine/utils": "5.10.5",
+ "@mantine/utils": "6.0.9",
"react-dropzone": "14.2.3"
},
"peerDependencies": {
- "@mantine/core": "5.10.5",
- "@mantine/hooks": "5.10.5",
+ "@mantine/core": "6.0.9",
+ "@mantine/hooks": "6.0.9",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/form": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/form/-/form-5.10.5.tgz",
- "integrity": "sha512-0ENh7W/mwbOnIjJlRUoUTZjOtEi7/qoF86k67CVjKqagsA+Wy6cuBF1spPcllMzujepprtqKACb3rVLR+Pxj7Q==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/form/-/form-6.0.9.tgz",
+ "integrity": "sha512-JB6zzSPDNUH9yKIORplqUxP063y2jUfLUzH3kty7UaEt2YHMLDU8ttAF77uF3namTdp0kDsiyp/VYJtUidaPyQ==",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"klona": "^2.0.5"
@@ -2549,46 +2869,46 @@
}
},
"node_modules/@mantine/hooks": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-5.10.5.tgz",
- "integrity": "sha512-hFQp71QZDfivPzfIUOQZfMKLiOL/Cn2EnzacRlbUr55myteTfzYN8YMt+nzniE/6c4IRopFHEAdbKEtfyQc6kg==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-6.0.9.tgz",
+ "integrity": "sha512-01FvXnXed0Hni4WvmtTs0HMulyd7sibEG52uS+oy4ziYumKb8eMMTnvs4Ov7meKAvtA9/pmW+Yif1pm2GB4bnw==",
"peerDependencies": {
"react": ">=16.8.0"
}
},
"node_modules/@mantine/modals": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-5.10.5.tgz",
- "integrity": "sha512-q3BCqAxulcIZCL48vUrwSaXDhxDng/2daVky8K1mTPYNlcm9iN1mqVTUC4uFWhn4b2UmPu4UdbNePEgLuhK4Mw==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-6.0.9.tgz",
+ "integrity": "sha512-azdb++XlXheM1Ai4XPBk5d9fJOGv/PnLg4KciZZripkPZ5+xXrBwBxmCXlMogNYNfp6o+K5Q8BaiO16UbDvCQQ==",
"dependencies": {
- "@mantine/utils": "5.10.5"
+ "@mantine/utils": "6.0.9"
},
"peerDependencies": {
- "@mantine/core": "5.10.5",
- "@mantine/hooks": "5.10.5",
+ "@mantine/core": "6.0.9",
+ "@mantine/hooks": "6.0.9",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/notifications": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-5.10.5.tgz",
- "integrity": "sha512-IzTAXA7Zb9DcI94Mv5O2OinhLmI7fvs/VutDw9uCpp6OHtLuF/XN1d262jrsGhMZT0c4nuUsotSLFZF3GWZwXg==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-6.0.9.tgz",
+ "integrity": "sha512-X0Nyv9Fe9/1wrjxkyGTCE5VlOfzCbQjVWJ9uCWshqGkDSs8HTaWWZ9FM8fUeIXtI/LVB65OwPBegKw4/POgZQQ==",
"dependencies": {
- "@mantine/utils": "5.10.5",
+ "@mantine/utils": "6.0.9",
"react-transition-group": "4.4.2"
},
"peerDependencies": {
- "@mantine/core": "5.10.5",
- "@mantine/hooks": "5.10.5",
+ "@mantine/core": "6.0.9",
+ "@mantine/hooks": "6.0.9",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/styles": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-5.10.5.tgz",
- "integrity": "sha512-0NXk8c/XGzuTUkZc6KceF2NaTCMEu5mHR4ru0x+ttb9DGnLpHuGWduTHjSfr4hl6eAJgedD0zauO+VAhDzO9zA==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-6.0.9.tgz",
+ "integrity": "sha512-jTtSicZalxw5fHD4p2c5RJdsb1DlBTKFwMmPWSTt5IgQ3ADucQtQWl2sVtVCpR/b5w9/Ihzgju84bPmOlAWh0g==",
"dependencies": {
"clsx": "1.1.1",
"csstype": "3.0.9"
@@ -2613,9 +2933,9 @@
"integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
},
"node_modules/@mantine/utils": {
- "version": "5.10.5",
- "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-5.10.5.tgz",
- "integrity": "sha512-FGMq4dGs5HhDAtI0z46uzxzKKPmZ3h5uKUyKg1ZHoFR1mBtcUMbB6FylFmHqKFRWlJ5IXqX9dwmiVrLYUOfTmA==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.9.tgz",
+ "integrity": "sha512-zEDZixO8dw2ZSNZiQ1g7S+Bq2q4E8ps6bvpyZsxpiXBdh3g2H0WOEdJdDpBTiTRPWotSlU1kaKN3tOplCRDQ2Q==",
"peerDependencies": {
"react": ">=16.8.0"
}
@@ -2823,6 +3143,14 @@
"react": "^16.8 || ^17.0 || ^18.0"
}
},
+ "node_modules/@remix-run/router": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz",
+ "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@rushstack/eslint-patch": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
@@ -2845,7 +3173,6 @@
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.2.0.tgz",
"integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==",
"dev": true,
- "peer": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
@@ -2896,70 +3223,21 @@
}
},
"node_modules/@testing-library/react": {
- "version": "12.1.5",
- "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz",
- "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "@testing-library/dom": "^8.0.0",
- "@types/react-dom": "<18.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "react": "<18.0.0",
- "react-dom": "<18.0.0"
- }
- },
- "node_modules/@testing-library/react-hooks": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz",
- "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz",
+ "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
- "react-error-boundary": "^3.1.0"
+ "@testing-library/dom": "^9.0.0",
+ "@types/react-dom": "^18.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
},
"peerDependencies": {
- "@types/react": "^16.9.0 || ^17.0.0",
- "react": "^16.9.0 || ^17.0.0",
- "react-dom": "^16.9.0 || ^17.0.0",
- "react-test-renderer": "^16.9.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- },
- "react-test-renderer": {
- "optional": true
- }
- }
- },
- "node_modules/@testing-library/react/node_modules/@testing-library/dom": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz",
- "integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/runtime": "^7.12.5",
- "@types/aria-query": "^5.0.1",
- "aria-query": "^5.0.0",
- "chalk": "^4.1.0",
- "dom-accessibility-api": "^0.5.9",
- "lz-string": "^1.4.4",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": ">=12"
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
}
},
"node_modules/@testing-library/user-event": {
@@ -3005,49 +3283,67 @@
"@types/chai": "*"
}
},
+ "node_modules/@types/d3-array": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.4.tgz",
+ "integrity": "sha512-nwvEkG9vYOc0Ic7G7kwgviY4AQlTfYGIZ0fqB7CQHXGyYM6nO7kJh5EguSNA3jfh4rq7Sb7eMVq8isuvg2/miQ==",
+ "dev": true
+ },
"node_modules/@types/d3-color": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-2.0.3.tgz",
- "integrity": "sha512-+0EtEjBfKEDtH9Rk3u3kLOUXM5F+iZK+WvASPb0MhIZl8J8NUvGeZRwKCXl+P3HkYx5TdU4YtcibpqHkSR9n7w==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==",
+ "dev": true
+ },
+ "node_modules/@types/d3-ease": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz",
+ "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==",
"dev": true
},
"node_modules/@types/d3-interpolate": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-2.0.2.tgz",
- "integrity": "sha512-lElyqlUfIPyWG/cD475vl6msPL4aMU7eJvx1//Q177L8mdXoVPFl1djIESF2FKnc0NyaHvQlJpWwKJYwAhUoCw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==",
"dev": true,
"dependencies": {
- "@types/d3-color": "^2"
+ "@types/d3-color": "*"
}
},
"node_modules/@types/d3-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.2.tgz",
- "integrity": "sha512-3YHpvDw9LzONaJzejXLOwZ3LqwwkoXb9LI2YN7Hbd6pkGo5nIlJ09ul4bQhBN4hQZJKmUpX8HkVqbzgUKY48cg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz",
+ "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==",
"dev": true
},
"node_modules/@types/d3-scale": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-3.3.2.tgz",
- "integrity": "sha512-gGqr7x1ost9px3FvIfUMi5XA/F/yAf4UkUDtdQhpH92XCT0Oa7zkkRzY61gPVJq+DxpHn/btouw5ohWkbBsCzQ==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz",
+ "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==",
"dev": true,
"dependencies": {
- "@types/d3-time": "^2"
+ "@types/d3-time": "*"
}
},
"node_modules/@types/d3-shape": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-2.1.3.tgz",
- "integrity": "sha512-HAhCel3wP93kh4/rq+7atLdybcESZ5bRHDEZUojClyZWsRuEMo3A52NGYJSh48SxfxEU6RZIVbZL2YFZ2OAlzQ==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.1.tgz",
+ "integrity": "sha512-6Uh86YFF7LGg4PQkuO2oG6EMBRLuW9cbavUW46zkIO5kuS2PfTqo2o9SkgtQzguBHbLgNnU90UNsITpsX1My+A==",
"dev": true,
"dependencies": {
- "@types/d3-path": "^2"
+ "@types/d3-path": "*"
}
},
"node_modules/@types/d3-time": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-2.1.1.tgz",
- "integrity": "sha512-9MVYlmIgmRR31C5b4FVSWtuMmBHh2mOWQYfl7XAYOa8dsnb7iEmUmRSWSFgXFtkjxO65d7hTUHQC+RhR/9IWFg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz",
+ "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==",
+ "dev": true
+ },
+ "node_modules/@types/d3-timer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz",
+ "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==",
"dev": true
},
"node_modules/@types/istanbul-lib-coverage": {
@@ -3075,9 +3371,9 @@
}
},
"node_modules/@types/jest": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.0.tgz",
- "integrity": "sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==",
+ "version": "29.5.1",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz",
+ "integrity": "sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==",
"dev": true,
"dependencies": {
"expect": "^29.0.0",
@@ -3141,9 +3437,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "18.15.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
- "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "version": "18.16.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.1.tgz",
+ "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==",
"dev": true
},
"node_modules/@types/parse-json": {
@@ -3155,13 +3451,13 @@
"version": "15.7.5",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
- "dev": true
+ "devOptional": true
},
"node_modules/@types/react": {
- "version": "17.0.58",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.58.tgz",
- "integrity": "sha512-c1GzVY97P0fGxwGxhYq989j4XwlcHQoto6wQISOC2v6wm3h0PORRWJFHlkRjfGsiG3y1609WdQ+J+tKxvrEd6A==",
- "dev": true,
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==",
+ "devOptional": true,
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -3169,12 +3465,12 @@
}
},
"node_modules/@types/react-dom": {
- "version": "17.0.19",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.19.tgz",
- "integrity": "sha512-PiYG40pnQRdPHnlf7tZnp0aQ6q9tspYr72vD61saO6zFCybLfMqwUCN0va1/P+86DXn18ZWeW30Bk7xlC5eEAQ==",
+ "version": "18.2.1",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.1.tgz",
+ "integrity": "sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==",
"dev": true,
"dependencies": {
- "@types/react": "^17"
+ "@types/react": "*"
}
},
"node_modules/@types/react-table": {
@@ -3190,7 +3486,7 @@
"version": "0.16.3",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
"integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
- "dev": true
+ "devOptional": true
},
"node_modules/@types/semver": {
"version": "7.3.13",
@@ -3229,15 +3525,15 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz",
- "integrity": "sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz",
+ "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.59.0",
- "@typescript-eslint/type-utils": "5.59.0",
- "@typescript-eslint/utils": "5.59.0",
+ "@typescript-eslint/scope-manager": "5.59.1",
+ "@typescript-eslint/type-utils": "5.59.1",
+ "@typescript-eslint/utils": "5.59.1",
"debug": "^4.3.4",
"grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
@@ -3296,12 +3592,12 @@
"dev": true
},
"node_modules/@typescript-eslint/experimental-utils": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.0.tgz",
- "integrity": "sha512-evvdzcPrUv9+Hj+KX6fa3WMrtTZ7onnGHL3NfT/zN9q2FQhb2yvNJDa+w/ND0TpdRCbulwag0dxwMUt2MJB2Vg==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.1.tgz",
+ "integrity": "sha512-KVtKcHEizCIRx//LC9tBi6xp94ULKbU5StVHBVWURJQOVa2qw6HP28Hu7LmHrQM3p9I3q5Y2VR4wKllCJ3IWrw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/utils": "5.59.0"
+ "@typescript-eslint/utils": "5.59.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3315,14 +3611,14 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz",
- "integrity": "sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz",
+ "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.59.0",
- "@typescript-eslint/types": "5.59.0",
- "@typescript-eslint/typescript-estree": "5.59.0",
+ "@typescript-eslint/scope-manager": "5.59.1",
+ "@typescript-eslint/types": "5.59.1",
+ "@typescript-eslint/typescript-estree": "5.59.1",
"debug": "^4.3.4"
},
"engines": {
@@ -3342,13 +3638,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz",
- "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz",
+ "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.59.0",
- "@typescript-eslint/visitor-keys": "5.59.0"
+ "@typescript-eslint/types": "5.59.1",
+ "@typescript-eslint/visitor-keys": "5.59.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3359,13 +3655,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz",
- "integrity": "sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz",
+ "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.59.0",
- "@typescript-eslint/utils": "5.59.0",
+ "@typescript-eslint/typescript-estree": "5.59.1",
+ "@typescript-eslint/utils": "5.59.1",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
@@ -3386,9 +3682,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz",
- "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz",
+ "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3399,13 +3695,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz",
- "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz",
+ "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.59.0",
- "@typescript-eslint/visitor-keys": "5.59.0",
+ "@typescript-eslint/types": "5.59.1",
+ "@typescript-eslint/visitor-keys": "5.59.1",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -3459,17 +3755,17 @@
"dev": true
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.0.tgz",
- "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz",
+ "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.59.0",
- "@typescript-eslint/types": "5.59.0",
- "@typescript-eslint/typescript-estree": "5.59.0",
+ "@typescript-eslint/scope-manager": "5.59.1",
+ "@typescript-eslint/types": "5.59.1",
+ "@typescript-eslint/typescript-estree": "5.59.1",
"eslint-scope": "^5.1.1",
"semver": "^7.3.7"
},
@@ -3540,12 +3836,12 @@
"dev": true
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.59.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz",
- "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==",
+ "version": "5.59.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz",
+ "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.59.0",
+ "@typescript-eslint/types": "5.59.1",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@@ -3557,133 +3853,59 @@
}
},
"node_modules/@vitejs/plugin-react": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz",
- "integrity": "sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz",
+ "integrity": "sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.19.6",
- "@babel/plugin-transform-react-jsx": "^7.19.0",
- "@babel/plugin-transform-react-jsx-development": "^7.18.6",
- "@babel/plugin-transform-react-jsx-self": "^7.18.6",
+ "@babel/core": "^7.21.4",
+ "@babel/plugin-transform-react-jsx-self": "^7.21.0",
"@babel/plugin-transform-react-jsx-source": "^7.19.6",
- "magic-string": "^0.26.7",
"react-refresh": "^0.14.0"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
- "vite": "^3.0.0"
+ "vite": "^4.2.0"
}
},
"node_modules/@vitest/coverage-c8": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.28.5.tgz",
- "integrity": "sha512-zCNyurjudoG0BAqAgknvlBhkV2V9ZwyYLWOAGtHSDhL/St49MJT+V2p1G0yPaoqBbKOTATVnP5H2p1XL15H75g==",
- "dev": true,
- "dependencies": {
- "c8": "^7.12.0",
- "picocolors": "^1.0.0",
- "std-env": "^3.3.1",
- "vitest": "0.28.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
- "node_modules/@vitest/coverage-c8/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@vitest/coverage-c8/node_modules/vitest": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.28.5.tgz",
- "integrity": "sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.30.1.tgz",
+ "integrity": "sha512-/Wa3dtSuckpdngAmiCwowaEXXgJkqPrtfvrs9HTB9QoEfNbZWPu4E4cjEn4lJZb4qcGf4fxFtUA2f9DnDNAzBA==",
"dev": true,
"dependencies": {
- "@types/chai": "^4.3.4",
- "@types/chai-subset": "^1.3.3",
- "@types/node": "*",
- "@vitest/expect": "0.28.5",
- "@vitest/runner": "0.28.5",
- "@vitest/spy": "0.28.5",
- "@vitest/utils": "0.28.5",
- "acorn": "^8.8.1",
- "acorn-walk": "^8.2.0",
- "cac": "^6.7.14",
- "chai": "^4.3.7",
- "debug": "^4.3.4",
- "local-pkg": "^0.4.2",
- "pathe": "^1.1.0",
+ "c8": "^7.13.0",
"picocolors": "^1.0.0",
- "source-map": "^0.6.1",
- "std-env": "^3.3.1",
- "strip-literal": "^1.0.0",
- "tinybench": "^2.3.1",
- "tinypool": "^0.3.1",
- "tinyspy": "^1.0.2",
- "vite": "^3.0.0 || ^4.0.0",
- "vite-node": "0.28.5",
- "why-is-node-running": "^2.2.2"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
- "engines": {
- "node": ">=v14.16.0"
+ "std-env": "^3.3.2"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
- "@edge-runtime/vm": "*",
- "@vitest/browser": "*",
- "@vitest/ui": "*",
- "happy-dom": "*",
- "jsdom": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@vitest/browser": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- }
+ "vitest": ">=0.30.0 <1"
}
},
"node_modules/@vitest/expect": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.5.tgz",
- "integrity": "sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.30.1.tgz",
+ "integrity": "sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==",
"dev": true,
"dependencies": {
- "@vitest/spy": "0.28.5",
- "@vitest/utils": "0.28.5",
+ "@vitest/spy": "0.30.1",
+ "@vitest/utils": "0.30.1",
"chai": "^4.3.7"
}
},
"node_modules/@vitest/runner": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.5.tgz",
- "integrity": "sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.30.1.tgz",
+ "integrity": "sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==",
"dev": true,
"dependencies": {
- "@vitest/utils": "0.28.5",
+ "@vitest/utils": "0.30.1",
+ "concordance": "^5.0.4",
"p-limit": "^4.0.0",
"pathe": "^1.1.0"
}
@@ -3715,22 +3937,35 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@vitest/snapshot": {
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.30.1.tgz",
+ "integrity": "sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==",
+ "dev": true,
+ "dependencies": {
+ "magic-string": "^0.30.0",
+ "pathe": "^1.1.0",
+ "pretty-format": "^27.5.1"
+ }
+ },
"node_modules/@vitest/spy": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.5.tgz",
- "integrity": "sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.30.1.tgz",
+ "integrity": "sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==",
"dev": true,
"dependencies": {
- "tinyspy": "^1.0.2"
+ "tinyspy": "^2.1.0"
}
},
"node_modules/@vitest/ui": {
- "version": "0.29.8",
- "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.29.8.tgz",
- "integrity": "sha512-+vbLd+c1R/XUWfzJsWeyjeiw13fwJ95I5tguxaqXRg61y9iYUKesVljg7Pttp2uo7VK+kAjvY91J41NZ1Vx3vg==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.30.1.tgz",
+ "integrity": "sha512-Izz4ElDmdvX02KImSC2nCJI6CsGo9aETbKqxli55M0rbbPPAMtF0zDcJIqgEP5V6Y+4Ysf6wvsjLbLCTnaBvKw==",
"dev": true,
"dependencies": {
+ "@vitest/utils": "0.30.1",
"fast-glob": "^3.2.12",
+ "fflate": "^0.7.4",
"flatted": "^3.2.7",
"pathe": "^1.1.0",
"picocolors": "^1.0.0",
@@ -3738,15 +3973,13 @@
}
},
"node_modules/@vitest/utils": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.5.tgz",
- "integrity": "sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.30.1.tgz",
+ "integrity": "sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==",
"dev": true,
"dependencies": {
- "cli-truncate": "^3.1.0",
- "diff": "^5.1.0",
+ "concordance": "^5.0.4",
"loupe": "^2.3.6",
- "picocolors": "^1.0.0",
"pretty-format": "^27.5.1"
}
},
@@ -4060,12 +4293,13 @@
}
},
"node_modules/axios": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
- "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz",
+ "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==",
"dependencies": {
- "follow-redirects": "^1.14.9",
- "form-data": "^4.0.0"
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
}
},
"node_modules/axobject-query": {
@@ -4182,6 +4416,12 @@
"node": ">=8"
}
},
+ "node_modules/blueimp-md5": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
+ "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==",
+ "dev": true
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -4246,12 +4486,6 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
"node_modules/c8": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/c8/-/c8-7.13.0.tgz",
@@ -4309,9 +4543,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001480",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz",
- "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==",
+ "version": "1.0.30001481",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz",
+ "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==",
"dev": true,
"funding": [
{
@@ -4431,66 +4665,6 @@
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==",
"dev": true
},
- "node_modules/cli-truncate": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz",
- "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==",
- "dev": true,
- "dependencies": {
- "slice-ansi": "^5.0.0",
- "string-width": "^5.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-truncate/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/cli-truncate/node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-truncate/node_modules/strip-ansi": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
- "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
"node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -4554,6 +4728,58 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
+ "node_modules/concordance": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz",
+ "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==",
+ "dev": true,
+ "dependencies": {
+ "date-time": "^3.1.0",
+ "esutils": "^2.0.3",
+ "fast-diff": "^1.2.0",
+ "js-string-escape": "^1.0.1",
+ "lodash": "^4.17.15",
+ "md5-hex": "^3.0.1",
+ "semver": "^7.3.2",
+ "well-known-symbols": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14"
+ }
+ },
+ "node_modules/concordance/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/concordance/node_modules/semver": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
+ "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/concordance/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"node_modules/confusing-browser-globals": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
@@ -4619,109 +4845,142 @@
"integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
"dev": true
},
- "node_modules/cssom": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
- "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
- "dev": true
- },
"node_modules/cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz",
+ "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==",
"dev": true,
"dependencies": {
- "cssom": "~0.3.6"
+ "rrweb-cssom": "^0.6.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14"
}
},
- "node_modules/cssstyle/node_modules/cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- },
"node_modules/csstype": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/d3-array": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
- "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz",
+ "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==",
"dev": true,
"dependencies": {
- "internmap": "^1.0.0"
+ "internmap": "1 - 2"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/d3-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz",
- "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==",
- "dev": true
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-ease": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
},
"node_modules/d3-format": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz",
- "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==",
- "dev": true
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+ "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
},
"node_modules/d3-interpolate": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz",
- "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
"dev": true,
"dependencies": {
- "d3-color": "1 - 2"
+ "d3-color": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/d3-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz",
- "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==",
- "dev": true
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
},
"node_modules/d3-scale": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz",
- "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
"dev": true,
"dependencies": {
- "d3-array": "^2.3.0",
- "d3-format": "1 - 2",
- "d3-interpolate": "1.2.0 - 2",
- "d3-time": "^2.1.1",
- "d3-time-format": "2 - 3"
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/d3-shape": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz",
- "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+ "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
"dev": true,
"dependencies": {
- "d3-path": "1 - 2"
+ "d3-path": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/d3-time": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz",
- "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
"dev": true,
"dependencies": {
- "d3-array": "2"
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/d3-time-format": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz",
- "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
"dev": true,
"dependencies": {
- "d3-time": "1 - 2"
+ "d3-time": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-timer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/damerau-levenshtein": {
@@ -4731,17 +4990,29 @@
"dev": true
},
"node_modules/data-urls": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
- "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz",
+ "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==",
"dev": true,
"dependencies": {
"abab": "^2.0.6",
"whatwg-mimetype": "^3.0.0",
- "whatwg-url": "^11.0.0"
+ "whatwg-url": "^12.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
+ }
+ },
+ "node_modules/date-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz",
+ "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==",
+ "dev": true,
+ "dependencies": {
+ "time-zone": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/debug": {
@@ -4847,14 +5118,10 @@
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
},
- "node_modules/diff": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
- "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
+ "node_modules/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
},
"node_modules/diff-sequences": {
"version": "29.4.3",
@@ -4916,16 +5183,10 @@
"node": ">=12"
}
},
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true
- },
"node_modules/electron-to-chromium": {
- "version": "1.4.368",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz",
- "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==",
+ "version": "1.4.372",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.372.tgz",
+ "integrity": "sha512-MrlFq/j+TYHOjeWsWGYfzevc25HNeJdsF6qaLFrqBTRWZQtWkb1myq/Q2veLWezVaa5OcSZ99CFwTT4aF4Mung==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -5112,9 +5373,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz",
- "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==",
+ "version": "0.17.18",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
+ "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -5124,348 +5385,28 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/android-arm": "0.15.18",
- "@esbuild/linux-loong64": "0.15.18",
- "esbuild-android-64": "0.15.18",
- "esbuild-android-arm64": "0.15.18",
- "esbuild-darwin-64": "0.15.18",
- "esbuild-darwin-arm64": "0.15.18",
- "esbuild-freebsd-64": "0.15.18",
- "esbuild-freebsd-arm64": "0.15.18",
- "esbuild-linux-32": "0.15.18",
- "esbuild-linux-64": "0.15.18",
- "esbuild-linux-arm": "0.15.18",
- "esbuild-linux-arm64": "0.15.18",
- "esbuild-linux-mips64le": "0.15.18",
- "esbuild-linux-ppc64le": "0.15.18",
- "esbuild-linux-riscv64": "0.15.18",
- "esbuild-linux-s390x": "0.15.18",
- "esbuild-netbsd-64": "0.15.18",
- "esbuild-openbsd-64": "0.15.18",
- "esbuild-sunos-64": "0.15.18",
- "esbuild-windows-32": "0.15.18",
- "esbuild-windows-64": "0.15.18",
- "esbuild-windows-arm64": "0.15.18"
- }
- },
- "node_modules/esbuild-android-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz",
- "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-android-arm64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz",
- "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-darwin-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz",
- "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-darwin-arm64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz",
- "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-freebsd-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz",
- "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-freebsd-arm64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz",
- "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-32": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz",
- "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz",
- "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-arm": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz",
- "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-arm64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz",
- "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-mips64le": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz",
- "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-ppc64le": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz",
- "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-riscv64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz",
- "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-linux-s390x": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz",
- "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-netbsd-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz",
- "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-openbsd-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz",
- "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-sunos-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz",
- "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-windows-32": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz",
- "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-windows-64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz",
- "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/esbuild-windows-arm64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz",
- "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
+ "@esbuild/android-arm": "0.17.18",
+ "@esbuild/android-arm64": "0.17.18",
+ "@esbuild/android-x64": "0.17.18",
+ "@esbuild/darwin-arm64": "0.17.18",
+ "@esbuild/darwin-x64": "0.17.18",
+ "@esbuild/freebsd-arm64": "0.17.18",
+ "@esbuild/freebsd-x64": "0.17.18",
+ "@esbuild/linux-arm": "0.17.18",
+ "@esbuild/linux-arm64": "0.17.18",
+ "@esbuild/linux-ia32": "0.17.18",
+ "@esbuild/linux-loong64": "0.17.18",
+ "@esbuild/linux-mips64el": "0.17.18",
+ "@esbuild/linux-ppc64": "0.17.18",
+ "@esbuild/linux-riscv64": "0.17.18",
+ "@esbuild/linux-s390x": "0.17.18",
+ "@esbuild/linux-x64": "0.17.18",
+ "@esbuild/netbsd-x64": "0.17.18",
+ "@esbuild/openbsd-x64": "0.17.18",
+ "@esbuild/sunos-x64": "0.17.18",
+ "@esbuild/win32-arm64": "0.17.18",
+ "@esbuild/win32-ia32": "0.17.18",
+ "@esbuild/win32-x64": "0.17.18"
}
},
"node_modules/escalade": {
@@ -5572,15 +5513,15 @@
}
},
"node_modules/eslint": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz",
- "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
+ "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.4.0",
"@eslint/eslintrc": "^2.0.2",
- "@eslint/js": "8.38.0",
+ "@eslint/js": "8.39.0",
"@humanwhocodes/config-array": "^0.11.8",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
@@ -5590,7 +5531,7 @@
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
+ "eslint-scope": "^7.2.0",
"eslint-visitor-keys": "^3.4.0",
"espree": "^9.5.1",
"esquery": "^1.4.2",
@@ -6087,6 +6028,12 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
+ "node_modules/fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "dev": true
+ },
"node_modules/fast-equals": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz",
@@ -6142,6 +6089,12 @@
"reusify": "^1.0.4"
}
},
+ "node_modules/fflate": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz",
+ "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==",
+ "dev": true
+ },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -6387,6 +6340,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@@ -6597,14 +6558,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/history": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
- "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
- "dependencies": {
- "@babel/runtime": "^7.7.6"
- }
- },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -6772,10 +6725,21 @@
}
},
"node_modules/internmap": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
- "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
- "dev": true
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
},
"node_modules/is-arguments": {
"version": "1.1.1",
@@ -7347,6 +7311,15 @@
"resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
"integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="
},
+ "node_modules/js-string-escape": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
+ "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -7365,18 +7338,17 @@
}
},
"node_modules/jsdom": {
- "version": "20.0.3",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
- "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.1.tgz",
+ "integrity": "sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==",
"dev": true,
"dependencies": {
"abab": "^2.0.6",
- "acorn": "^8.8.1",
+ "acorn": "^8.8.2",
"acorn-globals": "^7.0.0",
- "cssom": "^0.5.0",
- "cssstyle": "^2.3.0",
- "data-urls": "^3.0.2",
- "decimal.js": "^10.4.2",
+ "cssstyle": "^3.0.0",
+ "data-urls": "^4.0.0",
+ "decimal.js": "^10.4.3",
"domexception": "^4.0.0",
"escodegen": "^2.0.0",
"form-data": "^4.0.0",
@@ -7385,7 +7357,8 @@
"https-proxy-agent": "^5.0.1",
"is-potential-custom-element-name": "^1.0.1",
"nwsapi": "^2.2.2",
- "parse5": "^7.1.1",
+ "parse5": "^7.1.2",
+ "rrweb-cssom": "^0.6.0",
"saxes": "^6.0.0",
"symbol-tree": "^3.2.4",
"tough-cookie": "^4.1.2",
@@ -7393,8 +7366,8 @@
"webidl-conversions": "^7.0.0",
"whatwg-encoding": "^2.0.0",
"whatwg-mimetype": "^3.0.0",
- "whatwg-url": "^11.0.0",
- "ws": "^8.11.0",
+ "whatwg-url": "^12.0.1",
+ "ws": "^8.13.0",
"xml-name-validator": "^4.0.0"
},
"engines": {
@@ -7621,12 +7594,12 @@
}
},
"node_modules/magic-string": {
- "version": "0.26.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz",
- "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==",
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+ "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
"dev": true,
"dependencies": {
- "sourcemap-codec": "^1.4.8"
+ "@jridgewell/sourcemap-codec": "^1.4.13"
},
"engines": {
"node": ">=12"
@@ -7656,6 +7629,18 @@
"remove-accents": "0.4.2"
}
},
+ "node_modules/md5-hex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz",
+ "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==",
+ "dev": true,
+ "dependencies": {
+ "blueimp-md5": "^2.10.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -8206,9 +8191,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.22",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.22.tgz",
- "integrity": "sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==",
+ "version": "8.4.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+ "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
"dev": true,
"funding": [
{
@@ -8249,9 +8234,9 @@
}
},
"node_modules/prettier": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
- "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
@@ -8413,6 +8398,11 @@
"react-is": "^16.13.1"
}
},
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
"node_modules/psl": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
@@ -8465,28 +8455,26 @@
]
},
"node_modules/react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
"dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
"dependencies": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
+ "scheduler": "^0.23.0"
},
"peerDependencies": {
- "react": "17.0.2"
+ "react": "^18.2.0"
}
},
"node_modules/react-dropzone": {
@@ -8505,22 +8493,6 @@
"react": ">= 16.8 || 18.0.0"
}
},
- "node_modules/react-error-boundary": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz",
- "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.12.5"
- },
- "engines": {
- "node": ">=10",
- "npm": ">=6"
- },
- "peerDependencies": {
- "react": ">=16.13.1"
- }
- },
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -8566,10 +8538,55 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
+ "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
+ "dependencies": {
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-resize-detector": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-7.1.2.tgz",
- "integrity": "sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-8.1.0.tgz",
+ "integrity": "sha512-S7szxlaIuiy5UqLhLL1KY3aoyGHbZzsTpYal9eYMwCyKqoqoVLCmIgAgNyIM1FhnP2KyBygASJxdhejrzjMb+w==",
"dev": true,
"dependencies": {
"lodash": "^4.17.21"
@@ -8580,23 +8597,29 @@
}
},
"node_modules/react-router": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz",
- "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==",
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz",
+ "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==",
"dependencies": {
- "history": "^5.2.0"
+ "@remix-run/router": "1.5.0"
+ },
+ "engines": {
+ "node": ">=14"
},
"peerDependencies": {
"react": ">=16.8"
}
},
"node_modules/react-router-dom": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz",
- "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==",
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz",
+ "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==",
"dependencies": {
- "history": "^5.2.0",
- "react-router": "6.3.0"
+ "@remix-run/router": "1.5.0",
+ "react-router": "6.10.0"
+ },
+ "engines": {
+ "node": ">=14"
},
"peerDependencies": {
"react": ">=16.8",
@@ -8643,6 +8666,28 @@
"react-dom": ">=15.0.0"
}
},
+ "node_modules/react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "dependencies": {
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-table": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz",
@@ -8700,25 +8745,20 @@
}
},
"node_modules/recharts": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.1.16.tgz",
- "integrity": "sha512-aYn1plTjYzRCo3UGxtWsduslwYd+Cuww3h/YAAEoRdGe0LRnBgYgaXSlVrNFkWOOSXrBavpmnli9h7pvRuk5wg==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.5.0.tgz",
+ "integrity": "sha512-0EQYz3iA18r1Uq8VqGZ4dABW52AKBnio37kJgnztIqprELJXpOEsa0SzkqU1vjAhpCXCv52Dx1hiL9119xsqsQ==",
"dev": true,
"dependencies": {
- "@types/d3-interpolate": "^2.0.0",
- "@types/d3-scale": "^3.0.0",
- "@types/d3-shape": "^2.0.0",
"classnames": "^2.2.5",
- "d3-interpolate": "^2.0.0",
- "d3-scale": "^3.0.0",
- "d3-shape": "^2.0.0",
"eventemitter3": "^4.0.1",
"lodash": "^4.17.19",
"react-is": "^16.10.2",
- "react-resize-detector": "^7.1.2",
- "react-smooth": "^2.0.1",
+ "react-resize-detector": "^8.0.4",
+ "react-smooth": "^2.0.2",
"recharts-scale": "^0.4.4",
- "reduce-css-calc": "^2.1.8"
+ "reduce-css-calc": "^2.1.8",
+ "victory-vendor": "^36.6.8"
},
"engines": {
"node": ">=12"
@@ -8917,20 +8957,27 @@
}
},
"node_modules/rollup": {
- "version": "2.79.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
- "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.0.tgz",
+ "integrity": "sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=14.18.0",
+ "npm": ">=8.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
+ "node_modules/rrweb-cssom": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
+ "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==",
+ "dev": true
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -8975,9 +9022,9 @@
"dev": true
},
"node_modules/sass": {
- "version": "1.62.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.0.tgz",
- "integrity": "sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==",
+ "version": "1.62.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz",
+ "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
@@ -9004,12 +9051,11 @@
}
},
"node_modules/scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
"dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"node_modules/semver": {
@@ -9069,9 +9115,9 @@
"dev": true
},
"node_modules/sirv": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
- "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz",
+ "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==",
"dev": true,
"dependencies": {
"@polka/url": "^1.0.0-next.20",
@@ -9091,46 +9137,6 @@
"node": ">=8"
}
},
- "node_modules/slice-ansi": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
- "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^6.0.0",
- "is-fullwidth-code-point": "^4.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
- "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/socket.io-client": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
@@ -9175,32 +9181,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "deprecated": "Please use @jridgewell/sourcemap-codec instead",
- "dev": true
- },
"node_modules/stack-utils": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
@@ -9462,6 +9442,15 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "node_modules/time-zone": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz",
+ "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/tiny-invariant": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
@@ -9475,18 +9464,18 @@
"dev": true
},
"node_modules/tinypool": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz",
- "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.4.0.tgz",
+ "integrity": "sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==",
"dev": true,
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/tinyspy": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz",
- "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.0.tgz",
+ "integrity": "sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==",
"dev": true,
"engines": {
"node": ">=14.0.0"
@@ -9537,15 +9526,15 @@
}
},
"node_modules/tr46": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
- "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
+ "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
"dev": true,
"dependencies": {
- "punycode": "^2.1.1"
+ "punycode": "^2.3.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
}
},
"node_modules/tsconfig-paths": {
@@ -9646,16 +9635,16 @@
}
},
"node_modules/typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
+ "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=4.2.0"
+ "node": ">=12.20"
}
},
"node_modules/ufo": {
@@ -9786,6 +9775,26 @@
"requires-port": "^1.0.0"
}
},
+ "node_modules/use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/use-composed-ref": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz",
@@ -9823,6 +9832,27 @@
}
}
},
+ "node_modules/use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/v8-to-istanbul": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz",
@@ -9837,16 +9867,37 @@
"node": ">=10.12.0"
}
},
+ "node_modules/victory-vendor": {
+ "version": "36.6.8",
+ "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.8.tgz",
+ "integrity": "sha512-H3kyQ+2zgjMPvbPqAl7Vwm2FD5dU7/4bCTQakFQnpIsfDljeOMDojRsrmJfwh4oAlNnWhpAf+mbAoLh8u7dwyQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/d3-array": "^3.0.3",
+ "@types/d3-ease": "^3.0.0",
+ "@types/d3-interpolate": "^3.0.1",
+ "@types/d3-scale": "^4.0.2",
+ "@types/d3-shape": "^3.1.0",
+ "@types/d3-time": "^3.0.0",
+ "@types/d3-timer": "^3.0.0",
+ "d3-array": "^3.1.6",
+ "d3-ease": "^3.0.1",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.1.0",
+ "d3-time": "^3.0.0",
+ "d3-timer": "^3.0.1"
+ }
+ },
"node_modules/vite": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.6.tgz",
- "integrity": "sha512-nTXTxYVvaQNLoW5BQ8PNNQ3lPia57gzsQU/Khv+JvzKPku8kNZL6NMUR/qwXhMG6E+g1idqEPanomJ+VZgixEg==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.2.tgz",
+ "integrity": "sha512-9R53Mf+TBoXCYejcL+qFbZde+eZveQLDYd9XgULILLC1a5ZwPaqgmdVpL8/uvw2BM/1TzetWjglwm+3RO+xTyw==",
"dev": true,
"dependencies": {
- "esbuild": "^0.15.9",
- "postcss": "^8.4.18",
- "resolve": "^1.22.1",
- "rollup": "^2.79.1"
+ "esbuild": "^0.17.5",
+ "postcss": "^8.4.21",
+ "rollup": "^3.21.0"
},
"bin": {
"vite": "bin/vite.js"
@@ -9887,39 +9938,28 @@
}
},
"node_modules/vite-node": {
- "version": "0.28.5",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.28.5.tgz",
- "integrity": "sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.30.1.tgz",
+ "integrity": "sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==",
"dev": true,
"dependencies": {
"cac": "^6.7.14",
"debug": "^4.3.4",
- "mlly": "^1.1.0",
+ "mlly": "^1.2.0",
"pathe": "^1.1.0",
"picocolors": "^1.0.0",
- "source-map": "^0.6.1",
- "source-map-support": "^0.5.21",
"vite": "^3.0.0 || ^4.0.0"
},
"bin": {
"vite-node": "vite-node.mjs"
},
"engines": {
- "node": ">=v14.16.0"
+ "node": ">=v14.18.0"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
- "node_modules/vite-node/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/vite-plugin-checker": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.5.6.tgz",
@@ -9985,31 +10025,43 @@
}
},
"node_modules/vitest": {
- "version": "0.25.8",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz",
- "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.30.1.tgz",
+ "integrity": "sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==",
"dev": true,
"dependencies": {
"@types/chai": "^4.3.4",
"@types/chai-subset": "^1.3.3",
"@types/node": "*",
- "acorn": "^8.8.1",
+ "@vitest/expect": "0.30.1",
+ "@vitest/runner": "0.30.1",
+ "@vitest/snapshot": "0.30.1",
+ "@vitest/spy": "0.30.1",
+ "@vitest/utils": "0.30.1",
+ "acorn": "^8.8.2",
"acorn-walk": "^8.2.0",
+ "cac": "^6.7.14",
"chai": "^4.3.7",
+ "concordance": "^5.0.4",
"debug": "^4.3.4",
- "local-pkg": "^0.4.2",
+ "local-pkg": "^0.4.3",
+ "magic-string": "^0.30.0",
+ "pathe": "^1.1.0",
+ "picocolors": "^1.0.0",
"source-map": "^0.6.1",
- "strip-literal": "^1.0.0",
- "tinybench": "^2.3.1",
- "tinypool": "^0.3.0",
- "tinyspy": "^1.0.2",
- "vite": "^3.0.0 || ^4.0.0"
+ "std-env": "^3.3.2",
+ "strip-literal": "^1.0.1",
+ "tinybench": "^2.4.0",
+ "tinypool": "^0.4.0",
+ "vite": "^3.0.0 || ^4.0.0",
+ "vite-node": "0.30.1",
+ "why-is-node-running": "^2.2.2"
},
"bin": {
"vitest": "vitest.mjs"
},
"engines": {
- "node": ">=v14.16.0"
+ "node": ">=v14.18.0"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
@@ -10019,7 +10071,10 @@
"@vitest/browser": "*",
"@vitest/ui": "*",
"happy-dom": "*",
- "jsdom": "*"
+ "jsdom": "*",
+ "playwright": "*",
+ "safaridriver": "*",
+ "webdriverio": "*"
},
"peerDependenciesMeta": {
"@edge-runtime/vm": {
@@ -10036,6 +10091,15 @@
},
"jsdom": {
"optional": true
+ },
+ "playwright": {
+ "optional": true
+ },
+ "safaridriver": {
+ "optional": true
+ },
+ "webdriverio": {
+ "optional": true
}
}
},
@@ -10165,6 +10229,15 @@
"node": ">=12"
}
},
+ "node_modules/well-known-symbols": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz",
+ "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/whatwg-encoding": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
@@ -10187,16 +10260,16 @@
}
},
"node_modules/whatwg-url": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
- "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz",
+ "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==",
"dev": true,
"dependencies": {
- "tr46": "^3.0.0",
+ "tr46": "^4.1.1",
"webidl-conversions": "^7.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
}
},
"node_modules/which": {
diff --git a/frontend/package.json b/frontend/package.json
index 0b8bded7b..2ef06b97d 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -13,17 +13,17 @@
},
"private": true,
"dependencies": {
- "@mantine/core": "^5.6.0",
- "@mantine/dropzone": "^5.6.0",
- "@mantine/form": "^5.6.0",
- "@mantine/hooks": "^5.6.0",
- "@mantine/modals": "^5.6.0",
- "@mantine/notifications": "^5.6.0",
- "axios": "^0.27.2",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "@mantine/core": "^6.0.0",
+ "@mantine/dropzone": "^6.0.0",
+ "@mantine/form": "^6.0.0",
+ "@mantine/hooks": "^6.0.0",
+ "@mantine/modals": "^6.0.0",
+ "@mantine/notifications": "^6.0.0",
+ "axios": "^1.3.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-query": "^3.39.2",
- "react-router-dom": "~6.3.0",
+ "react-router-dom": "~6.10.0",
"socket.io-client": "^4.5.3"
},
"devDependencies": {
@@ -34,36 +34,35 @@
"@fortawesome/free-solid-svg-icons": "^6.2.0",
"@fortawesome/react-fontawesome": "^0.2.0",
"@testing-library/jest-dom": "^5.16.5",
- "@testing-library/react": "^12.1.0",
- "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@types/lodash": "^4.14.0",
- "@types/node": "^18.11.7",
- "@types/react": "^17.0.0",
- "@types/react-dom": "^17.0.0",
+ "@types/node": "^18.16.0",
+ "@types/react": "^18.2.0",
+ "@types/react-dom": "^18.2.0",
"@types/react-table": "^7.7.0",
- "@vitejs/plugin-react": "^2.2.0",
- "@vitest/coverage-c8": "^0.28.5",
- "@vitest/ui": "^0.29.1",
+ "@vitejs/plugin-react": "^4.0.0",
+ "vitest": "^0.30.1",
+ "@vitest/coverage-c8": "^0.30.0",
+ "@vitest/ui": "^0.30.0",
"clsx": "^1.2.0",
- "eslint": "^8.26.0",
+ "eslint": "^8.39.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-testing-library": "^5.9.0",
"husky": "^8.0.2",
- "jsdom": "^20.0.1",
+ "jsdom": "^21.0.0",
"lodash": "^4.17.0",
"moment": "^2.29",
- "prettier": "^2.7.0",
+ "prettier": "^2.8.0",
"prettier-plugin-organize-imports": "^3.1.0",
"pretty-quick": "^3.1.0",
"react-table": "^7.8.0",
- "recharts": "~2.1.0",
- "sass": "^1.55.0",
- "typescript": "^4",
- "vite": "^3.2.1",
- "vite-plugin-checker": "^0.5.5",
- "vitest": "^0.25.0"
+ "recharts": "~2.5.0",
+ "sass": "^1.62.0",
+ "typescript": "^5",
+ "vite": "^4.3.0",
+ "vite-plugin-checker": "^0.5.5"
},
"scripts": {
"start": "vite",
diff --git a/frontend/src/App/Header.tsx b/frontend/src/App/Header.tsx
index f1e4f1799..c15071045 100644
--- a/frontend/src/App/Header.tsx
+++ b/frontend/src/App/Header.tsx
@@ -15,12 +15,12 @@ import {
Avatar,
Badge,
Burger,
- createStyles,
Divider,
Group,
Header,
MediaQuery,
Menu,
+ createStyles,
} from "@mantine/core";
import { FunctionComponent } from "react";
diff --git a/frontend/src/App/Navbar.tsx b/frontend/src/App/Navbar.tsx
index abde1e82b..af64a6b35 100644
--- a/frontend/src/App/Navbar.tsx
+++ b/frontend/src/App/Navbar.tsx
@@ -357,9 +357,11 @@ const NavbarItem: FunctionComponent<NavbarItemProps> = ({
></FontAwesomeIcon>
)}
{name}
- <Badge className={classes.badge} radius="xs" hidden={shouldHideBadge}>
- {badge}
- </Badge>
+ {shouldHideBadge === false && (
+ <Badge className={classes.badge} radius="xs">
+ {badge}
+ </Badge>
+ )}
</Text>
</NavLink>
);
diff --git a/frontend/src/App/index.tsx b/frontend/src/App/index.tsx
index 374505be1..87236d6c6 100644
--- a/frontend/src/App/index.tsx
+++ b/frontend/src/App/index.tsx
@@ -1,11 +1,11 @@
import AppNavbar from "@/App/Navbar";
+import { RouterNames } from "@/Router/RouterNames";
import ErrorBoundary from "@/components/ErrorBoundary";
import { Layout } from "@/constants";
import NavbarProvider from "@/contexts/Navbar";
import OnlineProvider from "@/contexts/Online";
import { notification } from "@/modules/task";
import CriticalError from "@/pages/errors/CriticalError";
-import { RouterNames } from "@/Router/RouterNames";
import { Environment } from "@/utilities";
import { AppShell } from "@mantine/core";
import { useWindowEvent } from "@mantine/hooks";
diff --git a/frontend/src/App/theme.tsx b/frontend/src/App/theme.tsx
index e50fc2f33..0fe2be9d5 100644
--- a/frontend/src/App/theme.tsx
+++ b/frontend/src/App/theme.tsx
@@ -6,7 +6,13 @@ import {
MantineThemeOverride,
} from "@mantine/core";
import { useColorScheme } from "@mantine/hooks";
-import { FunctionComponent, useCallback, useEffect, useState } from "react";
+import {
+ FunctionComponent,
+ PropsWithChildren,
+ useCallback,
+ useEffect,
+ useState,
+} from "react";
const theme: MantineThemeOverride = {
fontFamily: "Roboto, open sans, Helvetica Neue, Helvetica, Arial, sans-serif",
@@ -45,7 +51,7 @@ function useAutoColorScheme() {
const emotionCache = createEmotionCache({ key: "bazarr" });
-const ThemeProvider: FunctionComponent = ({ children }) => {
+const ThemeProvider: FunctionComponent<PropsWithChildren> = ({ children }) => {
const { colorScheme, toggleColorScheme } = useAutoColorScheme();
return (
diff --git a/frontend/src/Router/index.tsx b/frontend/src/Router/index.tsx
index d13ea1417..8d925e524 100644
--- a/frontend/src/Router/index.tsx
+++ b/frontend/src/Router/index.tsx
@@ -1,12 +1,11 @@
+import App from "@/App";
import { useBadges } from "@/apis/hooks";
import { useEnabledStatus } from "@/apis/hooks/site";
-import App from "@/App";
import { Lazy } from "@/components/async";
import Authentication from "@/pages/Authentication";
import BlacklistMoviesView from "@/pages/Blacklist/Movies";
import BlacklistSeriesView from "@/pages/Blacklist/Series";
import Episodes from "@/pages/Episodes";
-import NotFound from "@/pages/errors/NotFound";
import MoviesHistoryView from "@/pages/History/Movies";
import SeriesHistoryView from "@/pages/History/Series";
import MovieView from "@/pages/Movies";
@@ -31,6 +30,7 @@ import SystemReleasesView from "@/pages/System/Releases";
import SystemTasksView from "@/pages/System/Tasks";
import WantedMoviesView from "@/pages/Wanted/Movies";
import WantedSeriesView from "@/pages/Wanted/Series";
+import NotFound from "@/pages/errors/NotFound";
import { Environment } from "@/utilities";
import {
faClock,
@@ -42,13 +42,13 @@ import {
faPlay,
} from "@fortawesome/free-solid-svg-icons";
import {
- createContext,
FunctionComponent,
+ createContext,
lazy,
useContext,
useMemo,
} from "react";
-import { BrowserRouter } from "react-router-dom";
+import { RouterProvider, createBrowserRouter } from "react-router-dom";
import Redirector from "./Redirector";
import { RouterNames } from "./RouterNames";
import { CustomRouteObject } from "./type";
@@ -315,12 +315,18 @@ function useRoutes(): CustomRouteObject[] {
const RouterItemContext = createContext<CustomRouteObject[]>([]);
-export const Router: FunctionComponent = ({ children }) => {
+export const Router: FunctionComponent = () => {
const routes = useRoutes();
+ // TODO: Move this outside the function component scope
+ const router = useMemo(
+ () => createBrowserRouter(routes, { basename: Environment.baseUrl }),
+ [routes]
+ );
+
return (
<RouterItemContext.Provider value={routes}>
- <BrowserRouter basename={Environment.baseUrl}>{children}</BrowserRouter>
+ <RouterProvider router={router}></RouterProvider>
</RouterItemContext.Provider>
);
};
diff --git a/frontend/src/apis/queries/hooks.ts b/frontend/src/apis/queries/hooks.ts
index 4f8467221..507cc2120 100644
--- a/frontend/src/apis/queries/hooks.ts
+++ b/frontend/src/apis/queries/hooks.ts
@@ -3,9 +3,9 @@ import { usePageSize } from "@/utilities/storage";
import { useCallback, useEffect, useState } from "react";
import {
QueryKey,
+ UseQueryResult,
useQuery,
useQueryClient,
- UseQueryResult,
} from "react-query";
import { QueryKeys } from "./keys";
diff --git a/frontend/src/components/ErrorBoundary.tsx b/frontend/src/components/ErrorBoundary.tsx
index 9f6228e34..a29200e47 100644
--- a/frontend/src/components/ErrorBoundary.tsx
+++ b/frontend/src/components/ErrorBoundary.tsx
@@ -1,11 +1,11 @@
import UIError from "@/pages/errors/UIError";
-import { Component } from "react";
+import { Component, PropsWithChildren } from "react";
interface State {
error: Error | null;
}
-class ErrorBoundary extends Component<object, State> {
+class ErrorBoundary extends Component<PropsWithChildren, State> {
constructor(props: object) {
super(props);
this.state = { error: null };
diff --git a/frontend/src/components/async/Lazy.tsx b/frontend/src/components/async/Lazy.tsx
index 5edb55c5b..2a0496223 100644
--- a/frontend/src/components/async/Lazy.tsx
+++ b/frontend/src/components/async/Lazy.tsx
@@ -1,7 +1,7 @@
import { LoadingOverlay } from "@mantine/core";
-import { FunctionComponent, Suspense } from "react";
+import { FunctionComponent, PropsWithChildren, Suspense } from "react";
-const Lazy: FunctionComponent = ({ children }) => {
+const Lazy: FunctionComponent<PropsWithChildren> = ({ children }) => {
return <Suspense fallback={<LoadingOverlay visible />}>{children}</Suspense>;
};
diff --git a/frontend/src/components/forms/MovieUploadForm.tsx b/frontend/src/components/forms/MovieUploadForm.tsx
index 4506baa83..46b592081 100644
--- a/frontend/src/components/forms/MovieUploadForm.tsx
+++ b/frontend/src/components/forms/MovieUploadForm.tsx
@@ -1,6 +1,6 @@
import { useMovieSubtitleModification } from "@/apis/hooks";
import { useModals, withModal } from "@/modules/modals";
-import { task, TaskGroup } from "@/modules/task";
+import { TaskGroup, task } from "@/modules/task";
import { useTableStyles } from "@/styles";
import { useArrayAction, useSelectorOptions } from "@/utilities";
import FormUtils from "@/utilities/form";
@@ -28,9 +28,9 @@ import { useForm } from "@mantine/form";
import { isString } from "lodash";
import { FunctionComponent, useEffect, useMemo } from "react";
import { Column } from "react-table";
+import TextPopover from "../TextPopover";
import { Action, Selector } from "../inputs";
import { SimpleTable } from "../tables";
-import TextPopover from "../TextPopover";
type SubtitleFile = {
file: File;
diff --git a/frontend/src/components/index.tsx b/frontend/src/components/index.tsx
index f9ebf40d1..c3d7b4763 100644
--- a/frontend/src/components/index.tsx
+++ b/frontend/src/components/index.tsx
@@ -1,4 +1,4 @@
-export * from "./inputs";
export { default as Search } from "./Search";
+export * from "./inputs";
export * from "./tables";
export { default as Toolbox } from "./toolbox";
diff --git a/frontend/src/components/inputs/DropContent.tsx b/frontend/src/components/inputs/DropContent.tsx
index 5e25a3e18..38556220d 100644
--- a/frontend/src/components/inputs/DropContent.tsx
+++ b/frontend/src/components/inputs/DropContent.tsx
@@ -4,7 +4,7 @@ import {
faXmark,
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { createStyles, Group, Stack, Text } from "@mantine/core";
+import { Group, Stack, Text, createStyles } from "@mantine/core";
import { Dropzone } from "@mantine/dropzone";
import { FunctionComponent } from "react";
diff --git a/frontend/src/components/modals/HistoryModal.tsx b/frontend/src/components/modals/HistoryModal.tsx
index 566a54611..a3563d2ac 100644
--- a/frontend/src/components/modals/HistoryModal.tsx
+++ b/frontend/src/components/modals/HistoryModal.tsx
@@ -12,11 +12,11 @@ import { Badge, Center, Text } from "@mantine/core";
import { FunctionComponent, useMemo } from "react";
import { Column } from "react-table";
import { PageTable } from "..";
+import TextPopover from "../TextPopover";
import MutateAction from "../async/MutateAction";
import QueryOverlay from "../async/QueryOverlay";
import { HistoryIcon } from "../bazarr";
import Language from "../bazarr/Language";
-import TextPopover from "../TextPopover";
interface MovieHistoryViewProps {
movie: Item.Movie;
diff --git a/frontend/src/components/modals/ManualSearchModal.tsx b/frontend/src/components/modals/ManualSearchModal.tsx
index 411c93620..a152c8823 100644
--- a/frontend/src/components/modals/ManualSearchModal.tsx
+++ b/frontend/src/components/modals/ManualSearchModal.tsx
@@ -105,7 +105,7 @@ function ManualSearchView<T extends SupportType>(props: Props<T>) {
</Anchor>
);
} else {
- return value;
+ return <Text>{value}</Text>;
}
},
},
diff --git a/frontend/src/components/modals/SubtitleToolsModal.tsx b/frontend/src/components/modals/SubtitleToolsModal.tsx
index c92ff6a18..d780504c3 100644
--- a/frontend/src/components/modals/SubtitleToolsModal.tsx
+++ b/frontend/src/components/modals/SubtitleToolsModal.tsx
@@ -4,7 +4,7 @@ import { SimpleTable } from "@/components/tables";
import { useCustomSelection } from "@/components/tables/plugins";
import { withModal } from "@/modules/modals";
import { isMovie } from "@/utilities";
-import { Badge, Button, Divider, Group, Stack } from "@mantine/core";
+import { Badge, Button, Divider, Group, Stack, Text } from "@mantine/core";
import { FunctionComponent, useMemo, useState } from "react";
import { Column, useRowSelect } from "react-table";
@@ -60,9 +60,9 @@ const SubtitleToolView: FunctionComponent<SubtitleToolViewProps> = ({
}
if (idx !== -1) {
- return path.slice(idx + 1);
+ return <Text>{path.slice(idx + 1)}</Text>;
} else {
- return path;
+ return <Text>{path}</Text>;
}
},
},
diff --git a/frontend/src/components/tables/PageControl.tsx b/frontend/src/components/tables/PageControl.tsx
index 5c7bb41ba..d00edcef6 100644
--- a/frontend/src/components/tables/PageControl.tsx
+++ b/frontend/src/components/tables/PageControl.tsx
@@ -30,7 +30,7 @@ const PageControl: FunctionComponent<Props> = ({
<Pagination
size="sm"
color={isLoading ? "gray" : "primary"}
- page={index + 1}
+ value={index + 1}
onChange={(page) => goto(page - 1)}
hidden={count <= 1}
total={count}
diff --git a/frontend/src/components/tables/PageTable.tsx b/frontend/src/components/tables/PageTable.tsx
index bc43b25e0..fa958b28f 100644
--- a/frontend/src/components/tables/PageTable.tsx
+++ b/frontend/src/components/tables/PageTable.tsx
@@ -3,8 +3,8 @@ import { useEffect } from "react";
import { usePagination, useTable } from "react-table";
import BaseTable from "./BaseTable";
import PageControl from "./PageControl";
-import { useDefaultSettings } from "./plugins";
import { SimpleTableProps } from "./SimpleTable";
+import { useDefaultSettings } from "./plugins";
type Props<T extends object> = SimpleTableProps<T> & {
autoScroll?: boolean;
diff --git a/frontend/src/components/tables/plugins/useCustomSelection.tsx b/frontend/src/components/tables/plugins/useCustomSelection.tsx
index 9099da677..f3d357378 100644
--- a/frontend/src/components/tables/plugins/useCustomSelection.tsx
+++ b/frontend/src/components/tables/plugins/useCustomSelection.tsx
@@ -4,12 +4,12 @@ import {
CellProps,
Column,
ColumnInstance,
- ensurePluginOrder,
HeaderProps,
Hooks,
MetaBase,
TableInstance,
TableToggleCommonProps,
+ ensurePluginOrder,
} from "react-table";
const pluginName = "useCustomSelection";
diff --git a/frontend/src/components/toolbox/index.tsx b/frontend/src/components/toolbox/index.tsx
index 56f3463de..6995e111d 100644
--- a/frontend/src/components/toolbox/index.tsx
+++ b/frontend/src/components/toolbox/index.tsx
@@ -1,5 +1,5 @@
import { createStyles, Group } from "@mantine/core";
-import { FunctionComponent } from "react";
+import { FunctionComponent, PropsWithChildren } from "react";
import ToolboxButton, { ToolboxMutateButton } from "./Button";
const useStyles = createStyles((theme) => ({
@@ -11,7 +11,7 @@ const useStyles = createStyles((theme) => ({
},
}));
-declare type ToolboxComp = FunctionComponent & {
+declare type ToolboxComp = FunctionComponent<PropsWithChildren> & {
Button: typeof ToolboxButton;
MutateButton: typeof ToolboxMutateButton;
};
diff --git a/frontend/src/dom.tsx b/frontend/src/dom.tsx
index f8028af36..e00b3e089 100644
--- a/frontend/src/dom.tsx
+++ b/frontend/src/dom.tsx
@@ -1,20 +1,19 @@
import { StrictMode } from "react";
-import ReactDOM from "react-dom";
-import { useRoutes } from "react-router-dom";
+import { createRoot } from "react-dom/client";
+import { Router } from "./Router";
import { AllProviders } from "./providers";
-import { useRouteItems } from "./Router";
-const RouteApp = () => {
- const items = useRouteItems();
+const container = document.getElementById("root");
- return useRoutes(items);
-};
-
-ReactDOM.render(
- <StrictMode>
- <AllProviders>
- <RouteApp />
- </AllProviders>
- </StrictMode>,
- document.getElementById("root")
-);
+if (container === null) {
+ Error("Cannot initialize app, root not found");
+} else {
+ const root = createRoot(container);
+ root.render(
+ <StrictMode>
+ <AllProviders>
+ <Router />
+ </AllProviders>
+ </StrictMode>
+ );
+}
diff --git a/frontend/src/modules/modals/ModalsProvider.tsx b/frontend/src/modules/modals/ModalsProvider.tsx
index d7724542c..d76aa763f 100644
--- a/frontend/src/modules/modals/ModalsProvider.tsx
+++ b/frontend/src/modules/modals/ModalsProvider.tsx
@@ -2,19 +2,19 @@ import {
ModalsProvider as MantineModalsProvider,
ModalsProviderProps as MantineModalsProviderProps,
} from "@mantine/modals";
-import { FunctionComponent, useMemo } from "react";
+import { FunctionComponent, PropsWithChildren, useMemo } from "react";
import { ModalComponent, StaticModals } from "./WithModal";
const DefaultModalProps: MantineModalsProviderProps["modalProps"] = {
centered: true,
styles: {
- modal: {
- maxWidth: "100%",
- },
+ // modals: {
+ // maxWidth: "100%",
+ // },
},
};
-const ModalsProvider: FunctionComponent = ({ children }) => {
+const ModalsProvider: FunctionComponent<PropsWithChildren> = ({ children }) => {
const modals = useMemo(
() =>
StaticModals.reduce<Record<string, ModalComponent>>((prev, curr) => {
diff --git a/frontend/src/modules/modals/hooks.ts b/frontend/src/modules/modals/hooks.ts
index 3ebdbc0a8..25399f414 100644
--- a/frontend/src/modules/modals/hooks.ts
+++ b/frontend/src/modules/modals/hooks.ts
@@ -5,8 +5,11 @@ import { useCallback, useContext, useMemo } from "react";
import { ModalComponent, ModalIdContext } from "./WithModal";
export function useModals() {
- const { openContextModal: openMantineContextModal, ...rest } =
- useMantineModals();
+ const {
+ openContextModal: openMantineContextModal,
+ closeContextModal: closeContextModalRaw,
+ ...rest
+ } = useMantineModals();
const openContextModal = useCallback(
<ARGS extends {}>(
diff --git a/frontend/src/modules/modals/index.ts b/frontend/src/modules/modals/index.ts
index 852458acd..05aed103f 100644
--- a/frontend/src/modules/modals/index.ts
+++ b/frontend/src/modules/modals/index.ts
@@ -1,3 +1,3 @@
-export * from "./hooks";
export { default as ModalsProvider } from "./ModalsProvider";
export { default as withModal } from "./WithModal";
+export * from "./hooks";
diff --git a/frontend/src/modules/socketio/index.ts b/frontend/src/modules/socketio/index.ts
index ac75c4b9b..bf8df7ea8 100644
--- a/frontend/src/modules/socketio/index.ts
+++ b/frontend/src/modules/socketio/index.ts
@@ -1,6 +1,6 @@
import { debounce, forIn, remove, uniq } from "lodash";
import { onlineManager } from "react-query";
-import { io, Socket } from "socket.io-client";
+import { Socket, io } from "socket.io-client";
import { Environment, isDevEnv, isTestEnv } from "../../utilities";
import { ENSURE, GROUP, LOG } from "../../utilities/console";
import { createDefaultReducer } from "./reducer";
diff --git a/frontend/src/pages/Episodes/index.tsx b/frontend/src/pages/Episodes/index.tsx
index a4bcf3a94..3aaee0729 100644
--- a/frontend/src/pages/Episodes/index.tsx
+++ b/frontend/src/pages/Episodes/index.tsx
@@ -1,3 +1,4 @@
+import { RouterNames } from "@/Router/RouterNames";
import {
useEpisodesBySeriesId,
useIsAnyActionRunning,
@@ -11,9 +12,8 @@ import { ItemEditModal } from "@/components/forms/ItemEditForm";
import { SeriesUploadModal } from "@/components/forms/SeriesUploadForm";
import { SubtitleToolsModal } from "@/components/modals";
import { useModals } from "@/modules/modals";
-import { notification, task, TaskGroup } from "@/modules/task";
+import { TaskGroup, notification, task } from "@/modules/task";
import ItemOverview from "@/pages/views/ItemOverview";
-import { RouterNames } from "@/Router/RouterNames";
import { useLanguageProfileBy } from "@/utilities/languages";
import {
faAdjust,
diff --git a/frontend/src/pages/Episodes/table.tsx b/frontend/src/pages/Episodes/table.tsx
index 3fa0a89ba..1347869b0 100644
--- a/frontend/src/pages/Episodes/table.tsx
+++ b/frontend/src/pages/Episodes/table.tsx
@@ -1,10 +1,10 @@
import { useDownloadEpisodeSubtitles, useEpisodesProvider } from "@/apis/hooks";
import { useShowOnlyDesired } from "@/apis/hooks/site";
import { Action, GroupTable } from "@/components";
+import TextPopover from "@/components/TextPopover";
import { AudioList } from "@/components/bazarr";
import { EpisodeHistoryModal } from "@/components/modals";
import { EpisodeSearchModal } from "@/components/modals/ManualSearchModal";
-import TextPopover from "@/components/TextPopover";
import { useModals } from "@/modules/modals";
import { useTableStyles } from "@/styles";
import { BuildKey, filterSubtitleBy } from "@/utilities";
@@ -84,7 +84,7 @@ const Table: FunctionComponent<Props> = ({ episodes, profile, disabled }) => {
{
accessor: "season",
Cell: (row) => {
- return `Season ${row.value}`;
+ return <Text>Season {row.value}</Text>;
},
},
{
diff --git a/frontend/src/pages/History/Statistics/index.tsx b/frontend/src/pages/History/Statistics/index.tsx
index f37d7b931..df03a0a65 100644
--- a/frontend/src/pages/History/Statistics/index.tsx
+++ b/frontend/src/pages/History/Statistics/index.tsx
@@ -11,8 +11,8 @@ import { useSelectorOptions } from "@/utilities";
import {
Box,
Container,
- createStyles,
SimpleGrid,
+ createStyles,
useMantineTheme,
} from "@mantine/core";
import { useDocumentTitle } from "@mantine/hooks";
diff --git a/frontend/src/pages/Movies/Details/index.tsx b/frontend/src/pages/Movies/Details/index.tsx
index d8eaafb22..488850cb4 100644
--- a/frontend/src/pages/Movies/Details/index.tsx
+++ b/frontend/src/pages/Movies/Details/index.tsx
@@ -1,3 +1,4 @@
+import { RouterNames } from "@/Router/RouterNames";
import {
useDownloadMovieSubtitles,
useIsMovieActionRunning,
@@ -15,9 +16,8 @@ import { MovieUploadModal } from "@/components/forms/MovieUploadForm";
import { MovieHistoryModal, SubtitleToolsModal } from "@/components/modals";
import { MovieSearchModal } from "@/components/modals/ManualSearchModal";
import { useModals } from "@/modules/modals";
-import { notification, task, TaskGroup } from "@/modules/task";
+import { TaskGroup, notification, task } from "@/modules/task";
import ItemOverview from "@/pages/views/ItemOverview";
-import { RouterNames } from "@/Router/RouterNames";
import { useLanguageProfileBy } from "@/utilities/languages";
import {
faCloudUploadAlt,
diff --git a/frontend/src/pages/Movies/index.tsx b/frontend/src/pages/Movies/index.tsx
index d8431f1aa..479ed50ee 100644
--- a/frontend/src/pages/Movies/index.tsx
+++ b/frontend/src/pages/Movies/index.tsx
@@ -65,15 +65,19 @@ const MovieView: FunctionComponent = () => {
accessor: "missing_subtitles",
Cell: (row) => {
const missing = row.value;
- return missing.map((v) => (
- <Badge
- mr="xs"
- color="yellow"
- key={BuildKey(v.code2, v.hi, v.forced)}
- >
- <Language.Text value={v}></Language.Text>
- </Badge>
- ));
+ return (
+ <>
+ {missing.map((v) => (
+ <Badge
+ mr="xs"
+ color="yellow"
+ key={BuildKey(v.code2, v.hi, v.forced)}
+ >
+ <Language.Text value={v}></Language.Text>
+ </Badge>
+ ))}
+ </>
+ );
},
},
{
diff --git a/frontend/src/pages/Settings/Languages/table.tsx b/frontend/src/pages/Settings/Languages/table.tsx
index 1e1c089e6..ac8da306c 100644
--- a/frontend/src/pages/Settings/Languages/table.tsx
+++ b/frontend/src/pages/Settings/Languages/table.tsx
@@ -1,7 +1,7 @@
import { Action, SimpleTable } from "@/components";
import {
- anyCutoff,
ProfileEditModal,
+ anyCutoff,
} from "@/components/forms/ProfileEditForm";
import { useModals } from "@/modules/modals";
import { BuildKey, useArrayAction } from "@/utilities";
@@ -87,15 +87,19 @@ const Table: FunctionComponent = () => {
Cell: (row) => {
const items = row.value;
if (!items) {
- return false;
+ return null;
}
- return items.map((v, idx) => {
- return (
- <Badge key={BuildKey(idx, v)} color="gray">
- {v}
- </Badge>
- );
- });
+ return (
+ <>
+ {items.map((v, idx) => {
+ return (
+ <Badge key={BuildKey(idx, v)} color="gray">
+ {v}
+ </Badge>
+ );
+ })}
+ </>
+ );
},
},
{
@@ -104,15 +108,19 @@ const Table: FunctionComponent = () => {
Cell: (row) => {
const items = row.value;
if (!items) {
- return false;
+ return null;
}
- return items.map((v, idx) => {
- return (
- <Badge key={BuildKey(idx, v)} color="gray">
- {v}
- </Badge>
- );
- });
+ return (
+ <>
+ {items.map((v, idx) => {
+ return (
+ <Badge key={BuildKey(idx, v)} color="gray">
+ {v}
+ </Badge>
+ );
+ })}
+ </>
+ );
},
},
{
diff --git a/frontend/src/pages/Settings/Providers/components.tsx b/frontend/src/pages/Settings/Providers/components.tsx
index 357a3f94a..16654c8b5 100644
--- a/frontend/src/pages/Settings/Providers/components.tsx
+++ b/frontend/src/pages/Settings/Providers/components.tsx
@@ -6,15 +6,15 @@ import {
Button,
Divider,
Group,
+ Text as MantineText,
SimpleGrid,
Stack,
- Text as MantineText,
} from "@mantine/core";
import { useForm } from "@mantine/form";
import { capitalize } from "lodash";
import {
- forwardRef,
FunctionComponent,
+ forwardRef,
useCallback,
useMemo,
useRef,
@@ -28,8 +28,8 @@ import {
useFormActions,
useStagedValues,
} from "../utilities/FormValues";
-import { useSettingValue } from "../utilities/hooks";
import { SettingsProvider, useSettings } from "../utilities/SettingsProvider";
+import { useSettingValue } from "../utilities/hooks";
import { ProviderInfo, ProviderList } from "./list";
const ProviderKey = "settings-general-enabled_providers";
diff --git a/frontend/src/pages/Settings/components/Message.tsx b/frontend/src/pages/Settings/components/Message.tsx
index 2f334b793..301df7bab 100644
--- a/frontend/src/pages/Settings/components/Message.tsx
+++ b/frontend/src/pages/Settings/components/Message.tsx
@@ -1,9 +1,16 @@
import { Text } from "@mantine/core";
-import { FunctionComponent } from "react";
+import { FunctionComponent, PropsWithChildren } from "react";
-export const Message: FunctionComponent<{
+interface MessageProps {
type?: "warning" | "info";
-}> = ({ type = "info", children }) => {
+}
+
+type Props = PropsWithChildren<MessageProps>;
+
+export const Message: FunctionComponent<Props> = ({
+ type = "info",
+ children,
+}) => {
return (
<Text size="sm" color={type === "info" ? "dimmed" : "yellow"} my={0}>
{children}
diff --git a/frontend/src/pages/Settings/components/Section.tsx b/frontend/src/pages/Settings/components/Section.tsx
index 70226b633..36f56ff8d 100644
--- a/frontend/src/pages/Settings/components/Section.tsx
+++ b/frontend/src/pages/Settings/components/Section.tsx
@@ -1,12 +1,14 @@
import { Divider, Stack, Title } from "@mantine/core";
-import { FunctionComponent } from "react";
+import { FunctionComponent, PropsWithChildren } from "react";
interface SectionProps {
header: string;
hidden?: boolean;
}
-export const Section: FunctionComponent<SectionProps> = ({
+type Props = PropsWithChildren<SectionProps>;
+
+export const Section: FunctionComponent<Props> = ({
header,
hidden,
children,
diff --git a/frontend/src/pages/Settings/components/collapse.tsx b/frontend/src/pages/Settings/components/collapse.tsx
index 8f224f109..1dcffbd97 100644
--- a/frontend/src/pages/Settings/components/collapse.tsx
+++ b/frontend/src/pages/Settings/components/collapse.tsx
@@ -1,5 +1,5 @@
import { Collapse, Stack } from "@mantine/core";
-import { FunctionComponent, useMemo, useRef } from "react";
+import { FunctionComponent, PropsWithChildren, useMemo, useRef } from "react";
import { useSettingValue } from "../utilities/hooks";
interface ContentProps {
@@ -8,7 +8,9 @@ interface ContentProps {
indent?: boolean;
}
-const CollapseBox: FunctionComponent<ContentProps> = ({
+type Props = PropsWithChildren<ContentProps>;
+
+const CollapseBox: FunctionComponent<Props> = ({
on,
indent,
children,
diff --git a/frontend/src/pages/Settings/components/forms.test.tsx b/frontend/src/pages/Settings/components/forms.test.tsx
index 711c764a9..78ec5341e 100644
--- a/frontend/src/pages/Settings/components/forms.test.tsx
+++ b/frontend/src/pages/Settings/components/forms.test.tsx
@@ -1,11 +1,11 @@
import { rawRender, RenderOptions, screen } from "@/tests";
import { useForm } from "@mantine/form";
-import { FunctionComponent, ReactElement } from "react";
+import { FunctionComponent, PropsWithChildren, ReactElement } from "react";
import { describe, it } from "vitest";
import { FormContext, FormValues } from "../utilities/FormValues";
import { Number, Text } from "./forms";
-const FormSupport: FunctionComponent = ({ children }) => {
+const FormSupport: FunctionComponent<PropsWithChildren> = ({ children }) => {
const form = useForm<FormValues>({
initialValues: {
settings: {},
diff --git a/frontend/src/pages/Settings/components/forms.tsx b/frontend/src/pages/Settings/components/forms.tsx
index 03d2cb614..9457abd41 100644
--- a/frontend/src/pages/Settings/components/forms.tsx
+++ b/frontend/src/pages/Settings/components/forms.tsx
@@ -1,7 +1,7 @@
import {
- Action as GlobalAction,
FileBrowser,
FileBrowserProps,
+ Action as GlobalAction,
MultiSelector as GlobalMultiSelector,
MultiSelectorProps as GlobalMultiSelectorProps,
Selector as GlobalSelector,
@@ -12,17 +12,17 @@ import ChipInput, { ChipInputProps } from "@/components/inputs/ChipInput";
import { useSliderMarks } from "@/utilities";
import {
Input,
+ Slider as MantineSlider,
+ SliderProps as MantineSliderProps,
NumberInput,
NumberInputProps,
PasswordInput,
PasswordInputProps,
- Slider as MantineSlider,
- SliderProps as MantineSliderProps,
Switch,
TextInput,
TextInputProps,
} from "@mantine/core";
-import { FunctionComponent, ReactText } from "react";
+import { FunctionComponent, ReactNode, ReactText } from "react";
import { BaseInput, useBaseInput } from "../utilities/hooks";
export type NumberProps = BaseInput<number> & NumberInputProps;
@@ -34,7 +34,10 @@ export const Number: FunctionComponent<NumberProps> = (props) => {
<NumberInput
{...rest}
value={value ?? 0}
- onChange={(val = 0) => {
+ onChange={(val) => {
+ if (val === "") {
+ val = 0;
+ }
update(val);
}}
></NumberInput>
@@ -126,7 +129,9 @@ export function MultiSelector<T extends string | number>(
}
type SliderProps = BaseInput<number> &
- Omit<MantineSliderProps, "onChange" | "onChangeEnd" | "marks">;
+ Omit<MantineSliderProps, "onChange" | "onChangeEnd" | "marks" | "label"> & {
+ label?: ReactNode;
+ };
export const Slider: FunctionComponent<SliderProps> = (props) => {
const { value, update, rest } = useBaseInput(props);
diff --git a/frontend/src/pages/Settings/components/index.tsx b/frontend/src/pages/Settings/components/index.tsx
index 80c77f584..15b60db29 100644
--- a/frontend/src/pages/Settings/components/index.tsx
+++ b/frontend/src/pages/Settings/components/index.tsx
@@ -63,11 +63,11 @@ export const URLTestButton: FunctionComponent<{
};
export * from "./Card";
-export * from "./collapse";
-export { default as CollapseBox } from "./collapse";
-export * from "./forms";
export * from "./Layout";
export { default as Layout } from "./Layout";
export * from "./Message";
-export * from "./pathMapper";
export * from "./Section";
+export * from "./collapse";
+export { default as CollapseBox } from "./collapse";
+export * from "./forms";
+export * from "./pathMapper";
diff --git a/frontend/src/pages/Settings/utilities/SettingsProvider.tsx b/frontend/src/pages/Settings/utilities/SettingsProvider.tsx
index 16bd86131..a15878c4a 100644
--- a/frontend/src/pages/Settings/utilities/SettingsProvider.tsx
+++ b/frontend/src/pages/Settings/utilities/SettingsProvider.tsx
@@ -1,4 +1,9 @@
-import { createContext, FunctionComponent, useContext } from "react";
+import {
+ createContext,
+ FunctionComponent,
+ PropsWithChildren,
+ useContext,
+} from "react";
const SettingsContext = createContext<Settings | null>(null);
@@ -12,7 +17,9 @@ type SettingsProviderProps = {
value: Settings | null;
};
-export const SettingsProvider: FunctionComponent<SettingsProviderProps> = ({
+type Props = PropsWithChildren<SettingsProviderProps>;
+
+export const SettingsProvider: FunctionComponent<Props> = ({
value,
children,
}) => {
diff --git a/frontend/src/pages/System/Status/index.tsx b/frontend/src/pages/System/Status/index.tsx
index d6843c0dc..2fca8d26d 100644
--- a/frontend/src/pages/System/Status/index.tsx
+++ b/frontend/src/pages/System/Status/index.tsx
@@ -13,7 +13,13 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Anchor, Container, Divider, Grid, Stack, Text } from "@mantine/core";
import { useDocumentTitle } from "@mantine/hooks";
import moment from "moment";
-import { FunctionComponent, ReactNode, useCallback, useState } from "react";
+import {
+ FunctionComponent,
+ PropsWithChildren,
+ ReactNode,
+ useCallback,
+ useState,
+} from "react";
import Table from "./table";
interface InfoProps {
@@ -53,10 +59,13 @@ function Label(props: IconProps): JSX.Element {
);
}
-const InfoContainer: FunctionComponent<{ title: string }> = ({
- title,
- children,
-}) => {
+interface InfoContainerProps {
+ title: string;
+}
+
+const InfoContainer: FunctionComponent<
+ PropsWithChildren<InfoContainerProps>
+> = ({ title, children }) => {
return (
<Stack>
<h4>{title}</h4>
diff --git a/frontend/src/pages/Wanted/Movies/index.tsx b/frontend/src/pages/Wanted/Movies/index.tsx
index d4334c9cd..102a41139 100644
--- a/frontend/src/pages/Wanted/Movies/index.tsx
+++ b/frontend/src/pages/Wanted/Movies/index.tsx
@@ -4,7 +4,7 @@ import {
useMovieWantedPagination,
} from "@/apis/hooks";
import Language from "@/components/bazarr/Language";
-import { task, TaskGroup } from "@/modules/task";
+import { TaskGroup, task } from "@/modules/task";
import WantedView from "@/pages/views/WantedView";
import { BuildKey } from "@/utilities";
import { faSearch } from "@fortawesome/free-solid-svg-icons";
diff --git a/frontend/src/pages/Wanted/Series/index.tsx b/frontend/src/pages/Wanted/Series/index.tsx
index e04f91dca..5496a8530 100644
--- a/frontend/src/pages/Wanted/Series/index.tsx
+++ b/frontend/src/pages/Wanted/Series/index.tsx
@@ -4,7 +4,7 @@ import {
useSeriesAction,
} from "@/apis/hooks";
import Language from "@/components/bazarr/Language";
-import { task, TaskGroup } from "@/modules/task";
+import { TaskGroup, task } from "@/modules/task";
import WantedView from "@/pages/views/WantedView";
import { useTableStyles } from "@/styles";
import { BuildKey } from "@/utilities";
diff --git a/frontend/src/pages/views/ItemOverview.tsx b/frontend/src/pages/views/ItemOverview.tsx
index 02a847878..8b537f475 100644
--- a/frontend/src/pages/views/ItemOverview.tsx
+++ b/frontend/src/pages/views/ItemOverview.tsx
@@ -5,17 +5,17 @@ import {
useProfileItemsToLanguages,
} from "@/utilities/languages";
import {
- faBookmark as farBookmark,
faFolder,
+ faBookmark as farBookmark,
} from "@fortawesome/free-regular-svg-icons";
import {
+ IconDefinition,
faBookmark,
faClone,
faLanguage,
faMusic,
faStream,
faTags,
- IconDefinition,
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
@@ -23,7 +23,6 @@ import {
Badge,
BadgeProps,
Box,
- createStyles,
Grid,
Group,
HoverCard,
@@ -33,6 +32,7 @@ import {
Stack,
Text,
Title,
+ createStyles,
} from "@mantine/core";
import { FunctionComponent, useMemo } from "react";
diff --git a/frontend/src/providers.tsx b/frontend/src/providers.tsx
index 0d9350295..97189a23e 100644
--- a/frontend/src/providers.tsx
+++ b/frontend/src/providers.tsx
@@ -1,28 +1,24 @@
-import queryClient from "@/apis/queries";
import ThemeProvider from "@/App/theme";
+import queryClient from "@/apis/queries";
import { ModalsProvider } from "@/modules/modals";
import "@fontsource/roboto/300.css";
-import { NotificationsProvider } from "@mantine/notifications";
-import { FunctionComponent } from "react";
+import { Notifications } from "@mantine/notifications";
+import { FunctionComponent, PropsWithChildren } from "react";
import { QueryClientProvider } from "react-query";
import { ReactQueryDevtools } from "react-query/devtools";
-import { Router } from "./Router";
import { Environment } from "./utilities";
-export const AllProviders: FunctionComponent = ({ children }) => {
+export const AllProviders: FunctionComponent<PropsWithChildren> = ({
+ children,
+}) => {
return (
<QueryClientProvider client={queryClient}>
<ThemeProvider>
<ModalsProvider>
- <NotificationsProvider limit={5}>
- <Router>
- {/* c8 ignore next 3 */}
- {Environment.queryDev && (
- <ReactQueryDevtools initialIsOpen={false} />
- )}
- {children}
- </Router>
- </NotificationsProvider>
+ <Notifications limit={5} />
+ {/* c8 ignore next 3 */}
+ {Environment.queryDev && <ReactQueryDevtools initialIsOpen={false} />}
+ {children}
</ModalsProvider>
</ThemeProvider>
</QueryClientProvider>
diff --git a/frontend/src/tests/index.tsx b/frontend/src/tests/index.tsx
index 9053be909..b627626fd 100644
--- a/frontend/src/tests/index.tsx
+++ b/frontend/src/tests/index.tsx
@@ -1,11 +1,33 @@
import { AllProviders } from "@/providers";
import { render, RenderOptions } from "@testing-library/react";
-import { FunctionComponent, ReactElement, StrictMode } from "react";
+import {
+ FunctionComponent,
+ PropsWithChildren,
+ ReactElement,
+ StrictMode,
+} from "react";
+import {
+ createBrowserRouter,
+ RouteObject,
+ RouterProvider,
+} from "react-router-dom";
+
+const AllProvidersWithStrictMode: FunctionComponent<PropsWithChildren> = ({
+ children,
+}) => {
+ const route: RouteObject = {
+ path: "/",
+ element: children,
+ };
+
+ // TODO: Update router system
+ const router = createBrowserRouter([route]);
-const AllProvidersWithStrictMode: FunctionComponent = ({ children }) => {
return (
<StrictMode>
- <AllProviders>{children}</AllProviders>
+ <AllProviders>
+ <RouterProvider router={router} />
+ </AllProviders>
</StrictMode>
);
};
diff --git a/frontend/src/utilities/routers.ts b/frontend/src/utilities/routers.ts
index 6dd988be7..f3f82c8cd 100644
--- a/frontend/src/utilities/routers.ts
+++ b/frontend/src/utilities/routers.ts
@@ -1,41 +1,9 @@
// A workaround of built-in hooks in React-Router v6
// https://gist.github.com/rmorse/426ffcc579922a82749934826fa9f743
-import type { Blocker, History, Transition } from "history";
-import { useContext, useEffect } from "react";
-// eslint-disable-next-line camelcase
-import { UNSAFE_NavigationContext } from "react-router-dom";
-
-export function useBlocker(blocker: Blocker, when = true) {
- const navigator = useContext(UNSAFE_NavigationContext).navigator as History;
-
- useEffect(() => {
- if (!when) return;
-
- const unblock = navigator.block((tx: Transition) => {
- const autoUnblockingTx = {
- ...tx,
- retry() {
- // Automatically unblock the transition so it can play all the way
- // through before retrying it. TODO: Figure out how to re-enable
- // this block if the transition is cancelled for some reason.
- unblock();
- tx.retry();
- },
- };
-
- blocker(autoUnblockingTx);
- });
-
- return unblock;
- }, [navigator, blocker, when]);
-}
+import { unstable_usePrompt as useUnstablePrompt } from "react-router-dom";
// TODO: Replace with Mantine's confirmation modal
export function usePrompt(when: boolean, message: string) {
- useBlocker((tx) => {
- if (window.confirm(message)) {
- tx.retry();
- }
- }, when);
+ useUnstablePrompt({ when, message });
}