From e310471f6573b0159b64d4c3c1c0943936951b8a Mon Sep 17 00:00:00 2001 From: Ricco Xie Date: Wed, 20 Sep 2023 23:17:02 +0800 Subject: [PATCH] chore: release new features. chore: upgrade deps. perf: add dash responsive width. feat: gh-62 larger pop-up task detail window. docs: gh-61 add docs instructions for cors. --- README.md | 27 +- package.json | 71 +- pnpm-lock.yaml | 1478 +++++++++-------- src/components/Document/list.tsx | 179 ++ .../Document/multi-search/queries.tsx | 26 + src/components/Document/search.tsx | 145 ++ src/components/Document/searchBar.tsx | 35 + src/components/Document/searchForm.tsx | 113 ++ src/components/Header/index.tsx | 2 + src/components/Settings/baseInfo.tsx | 2 +- src/components/Settings/dangerZone.tsx | 10 +- src/pages/dashboard.tsx | 6 +- src/pages/index/documents.tsx | 345 +--- src/pages/index/layout.tsx | 31 +- src/pages/index/multi-search.tsx | 105 ++ src/pages/key/index.tsx | 9 +- src/pages/task/index.tsx | 5 +- src/providers/Mantine.tsx | 19 +- src/routes/index.tsx | 4 +- src/style/theme.json | 20 +- src/utils/text.ts | 3 + tsconfig.json | 15 +- 22 files changed, 1482 insertions(+), 1168 deletions(-) create mode 100644 src/components/Document/list.tsx create mode 100644 src/components/Document/multi-search/queries.tsx create mode 100644 src/components/Document/search.tsx create mode 100644 src/components/Document/searchBar.tsx create mode 100644 src/components/Document/searchForm.tsx create mode 100644 src/pages/index/multi-search.tsx diff --git a/README.md b/README.md index 91411d1..a672c00 100644 --- a/README.md +++ b/README.md @@ -32,14 +32,29 @@ 🔒 Data is stored inside your browser -## Get start +## Quick start -> [IMPORTANT] Remember enable CORS in your instance server for this ui domain before using. -> -> This version have not achieved responsive design, so mind that only use this app on desktop to gain better experience. -### Online use +> ⚠️ This app have not achieved responsive design, so mind that only use this app on desktop to gain better experience. + +### CORS settings + +✅ Remember update CORS settings in your instance server for this ui domain before using. + +Because this app use meilisearch official JS client to call your meilisearch instance, you need to manually configure CORS settings in your web server to make sure ui panel can access your instance server with api calls. +Add your ui panel deployment domain to your instance server cors list. + +ex: +```conf +# ... other configurations + add_header Access-Control-Allow-Origin "your.meilisearch-ui.domain.com"; +# ... other configurations +``` + +[Learn how to configure CORS settings in your web server](https://enable-cors.org/) + +### Online use There is a live demo 👉 [meilisearch-ui](https://meilisearch-ui.riccox.com), deploy on Vercel. @@ -74,7 +89,7 @@ pnpm run dev ## Built with ♥ -- [Sira-UI](https://sira-design.party) +- [Sira Design](https://sira-design.party) - React v18 - TypeScript - Vite diff --git a/package.json b/package.json index da4b6bd..2cf9195 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "scripts": { "dev": "vite", "start": "vite", - "build": "tsc && vite build", + "build": "vite build", + "build:safe": "tsc && vite build", "preview": "vite preview" }, "repository": "https://github.com/riccox/meilisearch-ui", @@ -17,52 +18,52 @@ }, "dependencies": { "@emotion/react": "^11.11.1", - "@hookform/resolvers": "^3.1.1", - "@mantine/core": "^6.0.14", - "@mantine/form": "^6.0.14", - "@mantine/hooks": "^6.0.14", - "@mantine/modals": "^6.0.14", - "@monaco-editor/react": "^4.5.1", - "@sira-ui/tailwind": "^0.10.1", - "@tabler/icons-react": "^2.22.0", - "@tanstack/react-query": "^4.29.15", - "@tanstack/react-query-devtools": "^4.29.15", - "ahooks": "^3.7.7", - "clsx": "^1.2.1", - "dayjs": "^1.11.8", - "echarts": "^5.4.2", + "@hookform/resolvers": "^3.3.1", + "@mantine/core": "^7.0.0", + "@mantine/form": "^7.0.0", + "@mantine/hooks": "^7.0.0", + "@mantine/modals": "^7.0.0", + "@monaco-editor/react": "^4.5.2", + "@sira-ui/tailwind": "^0.11.6", + "@tabler/icons-react": "^2.34.0", + "@tanstack/react-query": "^4.35.3", + "@tanstack/react-query-devtools": "^4.35.3", + "ahooks": "^3.7.8", + "clsx": "^2.0.0", + "dayjs": "^1.11.10", + "echarts": "^5.4.3", "echarts-for-react": "^3.0.2", "fuse.js": "^6.6.2", "immer": "^10.0.2", "lodash": "^4.17.21", - "meilisearch": "^0.33.0", + "meilisearch": "^0.34.2", "qs": "^6.11.2", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-error-boundary": "^4.0.10", - "react-hook-form": "^7.45.0", + "react-error-boundary": "^4.0.11", + "react-hook-form": "^7.46.1", "react-json-view": "^1.21.3", - "react-router-dom": "^6.13.0", - "sonner": "^0.5.0", - "zod": "^3.21.4", - "zustand": "^4.3.8" + "react-router-dom": "^6.16.0", + "sonner": "^0.7.4", + "zod": "^3.22.2", + "zustand": "^4.4.1" }, "devDependencies": { - "@types/lodash": "^4.14.195", - "@types/node": "^20.3.1", - "@types/qs": "^6.9.7", - "@types/react": "^18.2.13", - "@types/react-dom": "^18.2.6", - "@vitejs/plugin-react": "^4.0.1", - "autoprefixer": "^10.4.14", - "eslint": "8.43.0", + "@types/lodash": "^4.14.198", + "@types/node": "^20.6.3", + "@types/qs": "^6.9.8", + "@types/react": "^18.2.22", + "@types/react-dom": "^18.2.7", + "@vitejs/plugin-react": "^4.0.4", + "autoprefixer": "^10.4.15", + "eslint": "8.47.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-react-hooks": "^4.6.0", - "postcss": "^8.4.24", - "prettier": "^2.8.8", - "tailwindcss": "^3.3.2", - "typescript": "5.0.4", - "vite": "^4.3.9" + "postcss": "^8.4.30", + "prettier": "^3.0.3", + "tailwindcss": "^3.3.3", + "typescript": "5.1.6", + "vite": "^4.4.9" }, "version": "0.4.1" } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f851003..760e042 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,54 +1,58 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + dependencies: '@emotion/react': specifier: ^11.11.1 - version: 11.11.1(@types/react@18.2.13)(react@18.2.0) + version: 11.11.1(@types/react@18.2.22)(react@18.2.0) '@hookform/resolvers': - specifier: ^3.1.1 - version: 3.1.1(react-hook-form@7.45.0) + specifier: ^3.3.1 + version: 3.3.1(react-hook-form@7.46.1) '@mantine/core': - specifier: ^6.0.14 - version: 6.0.14(@emotion/react@11.11.1)(@mantine/hooks@6.0.14)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.0.0 + version: 7.0.0(@mantine/hooks@7.0.0)(@types/react@18.2.22)(react-dom@18.2.0)(react@18.2.0) '@mantine/form': - specifier: ^6.0.14 - version: 6.0.14(react@18.2.0) + specifier: ^7.0.0 + version: 7.0.0(react@18.2.0) '@mantine/hooks': - specifier: ^6.0.14 - version: 6.0.14(react@18.2.0) + specifier: ^7.0.0 + version: 7.0.0(react@18.2.0) '@mantine/modals': - specifier: ^6.0.14 - version: 6.0.14(@mantine/core@6.0.14)(@mantine/hooks@6.0.14)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.0.0 + version: 7.0.0(@mantine/core@7.0.0)(@mantine/hooks@7.0.0)(react-dom@18.2.0)(react@18.2.0) '@monaco-editor/react': - specifier: ^4.5.1 - version: 4.5.1(monaco-editor@0.39.0)(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.5.2 + version: 4.5.2(monaco-editor@0.43.0)(react-dom@18.2.0)(react@18.2.0) '@sira-ui/tailwind': - specifier: ^0.10.1 - version: 0.10.1(tailwindcss@3.3.2) + specifier: ^0.11.6 + version: 0.11.6(lodash@4.17.21)(tailwindcss@3.3.3) '@tabler/icons-react': - specifier: ^2.22.0 - version: 2.22.0(react@18.2.0) + specifier: ^2.34.0 + version: 2.34.0(react@18.2.0) '@tanstack/react-query': - specifier: ^4.29.15 - version: 4.29.15(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.35.3 + version: 4.35.3(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query-devtools': - specifier: ^4.29.15 - version: 4.29.15(@tanstack/react-query@4.29.15)(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.35.3 + version: 4.35.3(@tanstack/react-query@4.35.3)(react-dom@18.2.0)(react@18.2.0) ahooks: - specifier: ^3.7.7 - version: 3.7.7(react@18.2.0) + specifier: ^3.7.8 + version: 3.7.8(react@18.2.0) clsx: - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^2.0.0 + version: 2.0.0 dayjs: - specifier: ^1.11.8 - version: 1.11.8 + specifier: ^1.11.10 + version: 1.11.10 echarts: - specifier: ^5.4.2 - version: 5.4.2 + specifier: ^5.4.3 + version: 5.4.3 echarts-for-react: specifier: ^3.0.2 - version: registry.npmmirror.com/echarts-for-react@3.0.2(echarts@5.4.2)(react@18.2.0) + version: registry.npmmirror.com/echarts-for-react@3.0.2(echarts@5.4.3)(react@18.2.0) fuse.js: specifier: ^6.6.2 version: registry.npmmirror.com/fuse.js@6.6.2 @@ -59,8 +63,8 @@ dependencies: specifier: ^4.17.21 version: registry.npmmirror.com/lodash@4.17.21 meilisearch: - specifier: ^0.33.0 - version: 0.33.0 + specifier: ^0.34.2 + version: 0.34.2 qs: specifier: ^6.11.2 version: 6.11.2 @@ -71,76 +75,81 @@ dependencies: specifier: ^18.2.0 version: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) react-error-boundary: - specifier: ^4.0.10 - version: 4.0.10(react@18.2.0) + specifier: ^4.0.11 + version: 4.0.11(react@18.2.0) react-hook-form: - specifier: ^7.45.0 - version: 7.45.0(react@18.2.0) + specifier: ^7.46.1 + version: 7.46.1(react@18.2.0) react-json-view: specifier: ^1.21.3 - version: registry.npmmirror.com/react-json-view@1.21.3(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0) + version: registry.npmmirror.com/react-json-view@1.21.3(@types/react@18.2.22)(react-dom@18.2.0)(react@18.2.0) react-router-dom: - specifier: ^6.13.0 - version: 6.13.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.16.0 + version: 6.16.0(react-dom@18.2.0)(react@18.2.0) sonner: - specifier: ^0.5.0 - version: 0.5.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.7.4 + version: 0.7.4(react-dom@18.2.0)(react@18.2.0) zod: - specifier: ^3.21.4 - version: 3.21.4 + specifier: ^3.22.2 + version: 3.22.2 zustand: - specifier: ^4.3.8 - version: 4.3.8(immer@10.0.2)(react@18.2.0) + specifier: ^4.4.1 + version: 4.4.1(@types/react@18.2.22)(immer@10.0.2)(react@18.2.0) devDependencies: '@types/lodash': - specifier: ^4.14.195 - version: 4.14.195 + specifier: ^4.14.198 + version: 4.14.198 '@types/node': - specifier: ^20.3.1 - version: 20.3.1 + specifier: ^20.6.3 + version: 20.6.3 '@types/qs': - specifier: ^6.9.7 - version: registry.npmmirror.com/@types/qs@6.9.7 + specifier: ^6.9.8 + version: 6.9.8 '@types/react': - specifier: ^18.2.13 - version: 18.2.13 + specifier: ^18.2.22 + version: 18.2.22 '@types/react-dom': - specifier: ^18.2.6 - version: 18.2.6 + specifier: ^18.2.7 + version: 18.2.7 '@vitejs/plugin-react': - specifier: ^4.0.1 - version: 4.0.1(vite@4.3.9) + specifier: ^4.0.4 + version: 4.0.4(vite@4.4.9) autoprefixer: - specifier: ^10.4.14 - version: 10.4.14(postcss@8.4.24) + specifier: ^10.4.15 + version: 10.4.15(postcss@8.4.30) eslint: - specifier: 8.43.0 - version: 8.43.0 + specifier: 8.47.0 + version: 8.47.0 eslint-config-react-app: specifier: ^7.0.1 - version: registry.npmmirror.com/eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.5)(eslint@8.43.0)(typescript@5.0.4) + version: registry.npmmirror.com/eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.47.0)(typescript@5.1.6) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: registry.npmmirror.com/eslint-plugin-react-hooks@4.6.0(eslint@8.43.0) + version: registry.npmmirror.com/eslint-plugin-react-hooks@4.6.0(eslint@8.47.0) postcss: - specifier: ^8.4.24 - version: 8.4.24 + specifier: ^8.4.30 + version: 8.4.30 prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.3 + version: 3.0.3 tailwindcss: - specifier: ^3.3.2 - version: 3.3.2 + specifier: ^3.3.3 + version: 3.3.3 typescript: - specifier: 5.0.4 - version: 5.0.4 + specifier: 5.1.6 + version: 5.1.6 vite: - specifier: ^4.3.9 - version: 4.3.9(@types/node@20.3.1) + specifier: ^4.4.9 + version: 4.4.9(@types/node@20.6.3) packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -164,6 +173,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/compat-data@7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.19.3: resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} engines: {node: '>=6.9.0'} @@ -187,25 +201,25 @@ packages: - supports-color dev: true - /@babel/core@7.22.5: - resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-module-transforms': 7.22.5 - '@babel/helpers': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helpers': 7.22.6 + '@babel/parser': 7.22.7 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 + '@babel/traverse': 7.22.8 '@babel/types': 7.22.5 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -220,6 +234,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.22.9: + resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} @@ -231,7 +255,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.19 dev: true /@babel/helper-compilation-targets@7.22.5(@babel/core@7.19.3): @@ -248,18 +272,18 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==} + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.9 + browserslist: 4.21.10 lru-cache: 5.1.1 - semver: 6.3.0 + semver: 6.3.1 dev: true /@babel/helper-environment-visitor@7.22.5: @@ -282,6 +306,13 @@ packages: '@babel/types': 7.22.5 dev: true + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} @@ -304,6 +335,20 @@ packages: - supports-color dev: true + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 + dev: true + /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} @@ -323,10 +368,22 @@ packages: '@babel/types': 7.22.5 dev: true + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + dev: true + /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} @@ -347,6 +404,17 @@ packages: - supports-color dev: true + /@babel/helpers@7.22.6: + resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/highlight@7.22.5: resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} engines: {node: '>=6.9.0'} @@ -363,13 +431,21 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.5): + /@babel/parser@7.22.7: + resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.19.3): resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': registry.npmmirror.com/@babel/core@7.19.3 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -383,13 +459,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.19.3): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': registry.npmmirror.com/@babel/core@7.19.3 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -403,23 +479,23 @@ packages: '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.19.3) dev: true - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -437,25 +513,25 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.19.3): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': registry.npmmirror.com/@babel/core@7.19.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.19.3) + '@babel/types': 7.22.19 dev: true - /@babel/runtime@7.21.5: - resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} + /@babel/runtime@7.22.15: + resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.0 dev: false /@babel/runtime@7.22.5: @@ -464,6 +540,13 @@ packages: dependencies: regenerator-runtime: 0.13.11 + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: false + /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} @@ -491,6 +574,33 @@ packages: - supports-color dev: true + /@babel/traverse@7.22.8: + resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.22.19: + resolution: {integrity: sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + /@babel/types@7.22.5: resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} engines: {node: '>=6.9.0'} @@ -533,7 +643,7 @@ packages: resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: false - /@emotion/react@11.11.1(@types/react@18.2.13)(react@18.2.0): + /@emotion/react@11.11.1(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} peerDependencies: '@types/react': '*' @@ -549,7 +659,7 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.13 + '@types/react': 18.2.22 hoist-non-react-statics: 3.3.2 react: registry.npmmirror.com/react@18.2.0 dev: false @@ -588,8 +698,8 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -597,8 +707,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -606,8 +716,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -615,8 +725,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -624,8 +734,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -633,8 +743,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -642,8 +752,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -651,8 +761,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -660,8 +770,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -669,8 +779,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -678,8 +788,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -687,8 +797,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -696,8 +806,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -705,8 +815,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -714,8 +824,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -723,8 +833,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -732,8 +842,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -741,8 +851,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -750,8 +860,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -759,8 +869,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -768,8 +878,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -777,8 +887,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -786,29 +896,29 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.43.0 - eslint-visitor-keys: 3.4.1 + eslint: 8.47.0 + eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + /@eslint-community/regexpp@4.8.1: + resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.3: - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.2 - globals: 13.20.0 + espree: 9.6.1 + globals: 13.21.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -818,55 +928,62 @@ packages: - supports-color dev: true - /@eslint/js@8.43.0: - resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==} + /@eslint/js@8.49.0: + resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@floating-ui/core@1.3.1: - resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==} + /@floating-ui/core@1.5.0: + resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==} + dependencies: + '@floating-ui/utils': 0.1.4 dev: false - /@floating-ui/dom@1.4.1: - resolution: {integrity: sha512-loCXUOLzIC3jp50RFOKXZ/kQjjz26ryr/23M+FWG9jrmAv8lRf3DUfC2AiVZ3+K316GOhB08CR+Povwz8e9mDw==} + /@floating-ui/dom@1.5.3: + resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} dependencies: - '@floating-ui/core': 1.3.1 + '@floating-ui/core': 1.5.0 + '@floating-ui/utils': 0.1.4 dev: false - /@floating-ui/react-dom@1.3.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==} + /@floating-ui/react-dom@2.0.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.4.1 + '@floating-ui/dom': 1.5.3 react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) dev: false - /@floating-ui/react@0.19.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==} + /@floating-ui/react@0.24.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-AuYeDoaR8jtUlUXtZ1IJ/6jtBkGnSpJXbGNzokBL87VDJ8opMq1Bgrc0szhK482ReQY6KZsMoZCVSb4xwalkBA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/react-dom': 1.3.0(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.0.2(react-dom@18.2.0)(react@18.2.0) aria-hidden: 1.2.3 react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - tabbable: 6.1.2 + tabbable: 6.2.0 dev: false - /@hookform/resolvers@3.1.1(react-hook-form@7.45.0): - resolution: {integrity: sha512-tS16bAUkqjITNSvbJuO1x7MXbn7Oe8ZziDTJdA9mMvsoYthnOOiznOTGBYwbdlYBgU+tgpI/BtTU3paRbCuSlg==} + /@floating-ui/utils@0.1.4: + resolution: {integrity: sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==} + dev: false + + /@hookform/resolvers@3.3.1(react-hook-form@7.46.1): + resolution: {integrity: sha512-K7KCKRKjymxIB90nHDQ7b9nli474ru99ZbqxiqDAWYsYhOsU3/4qLxW91y+1n04ic13ajjZ66L3aXbNef8PELQ==} peerDependencies: react-hook-form: ^7.0.0 dependencies: - react-hook-form: 7.45.0(react@18.2.0) + react-hook-form: 7.46.1(react@18.2.0) dev: false - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -913,100 +1030,76 @@ packages: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - /@mantine/core@6.0.14(@emotion/react@11.11.1)(@mantine/hooks@6.0.14)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-O916itwsB5XtEStVZRqp3SlB4aLM0sSgOFYYCVnLJ3E9O9E8h1xhaNEml1FJbMtrlNaXYUd6sy/OSRqNl9DyKA==} + /@mantine/core@7.0.0(@mantine/hooks@7.0.0)(@types/react@18.2.22)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0F+AdATM6uzZyKD3YNR95EY4taYVpdnKIaEmjSNRqYnfHCK/4TcbG+srDDBXrXclyJpGg9I1TF1D5M1ePoBoNA==} peerDependencies: - '@mantine/hooks': 6.0.14 - react: '>=16.8.0' - react-dom: '>=16.8.0' + '@mantine/hooks': 7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 dependencies: - '@floating-ui/react': 0.19.2(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 6.0.14(react@18.2.0) - '@mantine/styles': 6.0.14(@emotion/react@11.11.1)(react-dom@18.2.0)(react@18.2.0) - '@mantine/utils': 6.0.14(react@18.2.0) - '@radix-ui/react-scroll-area': 1.0.2(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react': 0.24.8(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 7.0.0(react@18.2.0) + clsx: 2.0.0 react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - react-remove-scroll: 2.5.6(@types/react@18.2.13)(react@18.2.0) - react-textarea-autosize: 8.3.4(@types/react@18.2.13)(react@18.2.0) + react-number-format: 5.3.1(react-dom@18.2.0)(react@18.2.0) + react-remove-scroll: 2.5.6(@types/react@18.2.22)(react@18.2.0) + react-textarea-autosize: 8.5.2(@types/react@18.2.22)(react@18.2.0) + type-fest: 3.13.1 transitivePeerDependencies: - - '@emotion/react' - '@types/react' dev: false - /@mantine/form@6.0.14(react@18.2.0): - resolution: {integrity: sha512-2QlDN3PBMxHUxtoBy0ycc3InpATGje5sJXmw/Co9qiVtKUHe5pxcVl341CnA+MCI91uC2Ycucf20n/8GTLezrw==} + /@mantine/form@7.0.0(react@18.2.0): + resolution: {integrity: sha512-gFyk622WztFQM8Nh3t/gIjpdokd3hjxxFSgFxQb08Xa7y+1MbQ/D6QVuuGt0S9eCxUokTfBCdoyPtNRyHb3O9A==} peerDependencies: - react: '>=16.8.0' + react: ^18.2.0 dependencies: fast-deep-equal: 3.1.3 klona: 2.0.6 react: registry.npmmirror.com/react@18.2.0 dev: false - /@mantine/hooks@6.0.14(react@18.2.0): - resolution: {integrity: sha512-cBGdTSdBDLcPScoeI12DCWFVzmT4tX+DmI9s+MOBm4IdhF4ogkLbbRgKosFbaBWNKx9WzYAUiQR/tUI5dTkJPQ==} + /@mantine/hooks@7.0.0(react@18.2.0): + resolution: {integrity: sha512-HdZ6qE15OKNA3esbO72+mRqztMcdGphL/wl/ks8N7iAlSUu7sFtgZN+IU6MfJxGc/MEN3x5dEceWG6FgwOmHOw==} peerDependencies: - react: '>=16.8.0' - dependencies: - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@mantine/modals@6.0.14(@mantine/core@6.0.14)(@mantine/hooks@6.0.14)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-54kOKLfbsp3ox51DYTgMJgBQ3QQ6qaTPZBdABaBPNJcJ1mwIFUQ457+evegwf2r4sKqaT2edTMmumFoa0YXyVg==} - peerDependencies: - '@mantine/core': 6.0.14 - '@mantine/hooks': 6.0.14 - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: ^18.2.0 dependencies: - '@mantine/core': 6.0.14(@emotion/react@11.11.1)(@mantine/hooks@6.0.14)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 6.0.14(react@18.2.0) - '@mantine/utils': 6.0.14(react@18.2.0) react: registry.npmmirror.com/react@18.2.0 - react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) dev: false - /@mantine/styles@6.0.14(@emotion/react@11.11.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-qkqUodvVPzthmVzWQHYe/yWrc8UZcz8A5KfegK2Ps67bZzfoZs/NBVcEx6REq8HTsISjYw3jJyMRxAE3G7Ms4Q==} + /@mantine/modals@7.0.0(@mantine/core@7.0.0)(@mantine/hooks@7.0.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+H4YhXSDCVCYYzh8CYeDgaa8sBF0n4CcYtpkw8sW0JGN4hSF8YPhWiWfTabE5i3+oC7tacVVyOVqJNMBZ0vqfg==} peerDependencies: - '@emotion/react': '>=11.9.0' - react: '>=16.8.0' - react-dom: '>=16.8.0' + '@mantine/core': 7.0.0 + '@mantine/hooks': 7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 dependencies: - '@emotion/react': 11.11.1(@types/react@18.2.13)(react@18.2.0) - clsx: 1.1.1 - csstype: 3.0.9 + '@mantine/core': 7.0.0(@mantine/hooks@7.0.0)(@types/react@18.2.22)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 7.0.0(react@18.2.0) react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) dev: false - /@mantine/utils@6.0.14(react@18.2.0): - resolution: {integrity: sha512-se+3IXJsNj4wnLMlqc7LiBe74m+JLQJ5o3wEcDtFzaJEtEt1rtw/1q3xKuROkH3xEiauhxQgzsc4gj/AslHy2A==} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@monaco-editor/loader@1.3.3(monaco-editor@0.39.0): + /@monaco-editor/loader@1.3.3(monaco-editor@0.43.0): resolution: {integrity: sha512-6KKF4CTzcJiS8BJwtxtfyYt9shBiEv32ateQ9T4UVogwn4HM/uPo9iJd2Dmbkpz8CM6Y0PDUpjnZzCwC+eYo2Q==} peerDependencies: monaco-editor: '>= 0.21.0 < 1' dependencies: - monaco-editor: 0.39.0 + monaco-editor: 0.43.0 state-local: 1.0.7 dev: false - /@monaco-editor/react@4.5.1(monaco-editor@0.39.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-NNDFdP+2HojtNhCkRfE6/D6ro6pBNihaOzMbGK84lNWzRu+CfBjwzGt4jmnqimLuqp5yE5viHS2vi+QOAnD5FQ==} + /@monaco-editor/react@4.5.2(monaco-editor@0.43.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-emcWu6vg1OpXPiYll4aPOaXe8bwYB4UaaNTwtArFLgMoNGBzRZb2Xn0Bra2HMIFM7QLgs7fCGunHO5LkfT2LBA==} peerDependencies: monaco-editor: '>= 0.25.0 < 1' react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@monaco-editor/loader': 1.3.3(monaco-editor@0.39.0) - monaco-editor: 0.39.0 + '@monaco-editor/loader': 1.3.3(monaco-editor@0.43.0) + monaco-editor: 0.43.0 react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) dev: false @@ -1029,121 +1122,9 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@radix-ui/number@1.0.0: - resolution: {integrity: sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==} - dependencies: - '@babel/runtime': 7.22.5 - dev: false - - /@radix-ui/primitive@1.0.0: - resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} - dependencies: - '@babel/runtime': 7.22.5 - dev: false - - /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): - resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@radix-ui/react-context@1.0.0(react@18.2.0): - resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@radix-ui/react-direction@1.0.0(react@18.2.0): - resolution: {integrity: sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) - react: registry.npmmirror.com/react@18.2.0 - react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-primitive@1.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - '@radix-ui/react-slot': 1.0.1(react@18.2.0) - react: registry.npmmirror.com/react@18.2.0 - react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-scroll-area@1.0.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - '@radix-ui/number': 1.0.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-direction': 1.0.0(react@18.2.0) - '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) - react: registry.npmmirror.com/react@18.2.0 - react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-slot@1.0.1(react@18.2.0): - resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0): - resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0): - resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.22.5 - react: registry.npmmirror.com/react@18.2.0 - dev: false - - /@remix-run/router@1.6.3: - resolution: {integrity: sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==} - engines: {node: '>=14'} + /@remix-run/router@1.9.0: + resolution: {integrity: sha512-bV63itrKBC0zdT27qYm6SDZHlkXwFL1xMBuhkn+X7l0+IIhNaH5wuuvZKp6eKhCD4KFhujhfhCT1YxXW6esUIA==} + engines: {node: '>=14.0.0'} dev: false /@riccox/colorify@0.2.2: @@ -1153,30 +1134,32 @@ packages: chroma-js: 2.4.2 dev: false - /@sira-ui/tailwind@0.10.1(tailwindcss@3.3.2): - resolution: {integrity: sha512-g9YiPeeJA9fyG2bKrwBMXGtbwPVOYfLGHM/w+bZAdI3VgKUacIMrXSoojT0s5T1U+8skLzsFUfKnIBHn+i19Qw==} + /@sira-ui/tailwind@0.11.6(lodash@4.17.21)(tailwindcss@3.3.3): + resolution: {integrity: sha512-AvJIc2WwPPGkVTNXXNKDLBYwtdH92j2KdPCNlAUliE28GHCyOU5s089jXPUa5624ISrok929PU5qv/wjagsksw==} peerDependencies: + lodash: ^4.17.21 tailwindcss: ^3 dependencies: '@riccox/colorify': 0.2.2 - postcss: 8.4.19 - postcss-js: 4.0.0(postcss@8.4.19) + lodash: registry.npmmirror.com/lodash@4.17.21 + postcss: 8.4.27 + postcss-js: 4.0.1(postcss@8.4.27) postcss-selector-parser: 6.0.13 - tailwindcss: 3.3.2 + tailwindcss: 3.3.3 dev: false - /@tabler/icons-react@2.22.0(react@18.2.0): - resolution: {integrity: sha512-9udRxrbsbWzUETur4jmbZQIZkH7jVA2GU7YnKYS7ZCUjdOHZZEhmsfJ/Gdbzz0gSRC3mU7SDMsKejun/IBjvpQ==} + /@tabler/icons-react@2.34.0(react@18.2.0): + resolution: {integrity: sha512-HNNTdwwAW8IwUxLPY2HWFw+d7nPVByieamIx90qM1+Rq8UfvLjwsBFNcUKaJcfRFIAa80o4g6ZGy/NMD/Zw73A==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 dependencies: - '@tabler/icons': 2.22.0 + '@tabler/icons': 2.34.0 prop-types: 15.8.1 react: registry.npmmirror.com/react@18.2.0 dev: false - /@tabler/icons@2.22.0: - resolution: {integrity: sha512-lOsGHqRPIKNARMWHHFkUUJH78C8ptQmUcDnumFBUI4YLRKFouKa7uAZL3ZfuH0HjDpOhsnWqUYZ7FhMCLcGpAQ==} + /@tabler/icons@2.34.0: + resolution: {integrity: sha512-65GsJsT4ZBETWcdrNxbsjsbRoZvbVk3CcU2SafaElrzP1wpOeuAn9aELVEbxhdyZyP9dg2SCfgH6iAArJgp7lw==} dev: false /@tanstack/match-sorter-utils@8.8.4: @@ -1186,27 +1169,27 @@ packages: remove-accents: 0.4.2 dev: false - /@tanstack/query-core@4.29.15: - resolution: {integrity: sha512-Recc1d5rjHesKhzlH3Aw66v+vQxtB9OHEXP/vxgEcEJ0DwEpfe3EQ4id20vuBJHY2XRjfgWGmUs6ZgK6PSsTXA==} + /@tanstack/query-core@4.35.3: + resolution: {integrity: sha512-PS+WEjd9wzKTyNjjQymvcOe1yg8f3wYc6mD+vb6CKyZAKvu4sIJwryfqfBULITKCla7P9C4l5e9RXePHvZOZeQ==} dev: false - /@tanstack/react-query-devtools@4.29.15(@tanstack/react-query@4.29.15)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Mtt0c4xNVuo8T6K5+wQZ8hgL8wme99M/+XPwgLDS34PjmTPJs7kWyUuweNyWQZZZsUpAts69k4Dssh+nB5rwsg==} + /@tanstack/react-query-devtools@4.35.3(@tanstack/react-query@4.35.3)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-UvLT7qPzCuCZ3NfjwsOqDUVN84JvSOuW6ukrjZmSqgjPqVxD6ra/HUp1CEOatQY2TRvKCp8y1lTVu+trXM30fg==} peerDependencies: - '@tanstack/react-query': 4.29.15 + '@tanstack/react-query': ^4.35.3 react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@tanstack/match-sorter-utils': 8.8.4 - '@tanstack/react-query': 4.29.15(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query': 4.35.3(react-dom@18.2.0)(react@18.2.0) react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - superjson: 1.12.3 + superjson: 1.13.1 use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /@tanstack/react-query@4.29.15(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1zDkv95ljuJ623hhbYU8YIprPW2x6774kh3IQNEuZav62+S+Zr26uUOrE2zGRp9I1uO5Liw/0uYB3dWXQP5+3Q==} + /@tanstack/react-query@4.35.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-UgTPioip/rGG3EQilXfA2j4BJkhEQsR+KAbF+KIuvQ7j4MkgnTCJF01SfRpIRNtQTlEfz/+IL7+jP8WA8bFbsw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -1217,7 +1200,7 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 4.29.15 + '@tanstack/query-core': 4.35.3 react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) @@ -1227,61 +1210,65 @@ packages: resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} dev: false - /@types/lodash@4.14.195: - resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} + /@types/lodash@4.14.198: + resolution: {integrity: sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==} dev: true - /@types/node@20.3.1: - resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==} + /@types/node@20.6.3: + resolution: {integrity: sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==} dev: true /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.6: + resolution: {integrity: sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==} + + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} + dev: true - /@types/react-dom@18.2.6: - resolution: {integrity: sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==} + /@types/react-dom@18.2.7: + resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 dev: true - /@types/react@18.2.13: - resolution: {integrity: sha512-vJ+zElvi/Zn9cVXB5slX2xL8PZodPCwPRDpittQdw43JR2AJ5k3vKdgJJyneV/cYgIbLQUwXa9JVDvUZXGba+Q==} + /@types/react@18.2.22: + resolution: {integrity: sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA==} dependencies: - '@types/prop-types': 15.7.5 + '@types/prop-types': 15.7.6 '@types/scheduler': 0.16.3 csstype: 3.1.2 /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - /@vitejs/plugin-react@4.0.1(vite@4.3.9): - resolution: {integrity: sha512-g25lL98essfeSj43HJ0o4DMp0325XK0ITkxpgChzJU/CyemgyChtlxfnRbjfwxDGCTRxTiXtQAsdebQXKMRSOA==} + /@vitejs/plugin-react@4.0.4(vite@4.4.9): + resolution: {integrity: sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.22.9 + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.9) react-refresh: 0.14.0 - vite: 4.3.9(@types/node@20.3.1) + vite: 4.4.9(@types/node@20.6.3) transitivePeerDependencies: - supports-color dev: true - /acorn-jsx@5.3.2(acorn@8.9.0): + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.9.0 + acorn: 8.10.0 dev: true - /acorn@8.9.0: - resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -1290,23 +1277,23 @@ packages: resolution: {integrity: sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ==} dev: false - /ahooks@3.7.7(react@18.2.0): - resolution: {integrity: sha512-5e5WlPq81Y84UnTLOKIQeq2cJw4aa7yj8fR2Nb/oMmXPrWMjIMCbPS1o+fpxSfCaNA3AzOnnMc8AehWRZltkJQ==} + /ahooks@3.7.8(react@18.2.0): + resolution: {integrity: sha512-e/NMlQWoCjaUtncNFIZk3FG1ImSkV/JhScQSkTqnftakRwdfZWSw6zzoWSG9OMYqPNs2MguDYBUFFC6THelWXA==} engines: {node: '>=8.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.5 + '@babel/runtime': 7.22.6 '@types/js-cookie': 2.2.7 ahooks-v3-count: 1.0.0 - dayjs: 1.11.8 + dayjs: 1.11.10 intersection-observer: 0.12.2 js-cookie: 2.2.1 lodash: 4.17.21 react: registry.npmmirror.com/react@18.2.0 resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 - tslib: 2.5.0 + tslib: 2.6.1 dev: false /ajv@6.12.6: @@ -1357,22 +1344,22 @@ packages: resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} engines: {node: '>=10'} dependencies: - tslib: 2.5.3 + tslib: 2.6.2 dev: false - /autoprefixer@10.4.14(postcss@8.4.24): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + /autoprefixer@10.4.15(postcss@8.4.30): + resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001464 - fraction.js: 4.2.0 + browserslist: 4.21.10 + caniuse-lite: 1.0.30001538 + fraction.js: 4.3.6 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.24 + postcss: 8.4.30 postcss-value-parser: 4.2.0 dev: true @@ -1403,15 +1390,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.21.10: + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001464 - electron-to-chromium: 1.4.435 - node-releases: 2.0.12 - update-browserslist-db: 1.0.11(browserslist@4.21.5) + caniuse-lite: 1.0.30001519 + electron-to-chromium: 1.4.485 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: true /browserslist@4.21.9: @@ -1439,14 +1426,18 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /caniuse-lite@1.0.30001464: - resolution: {integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==} - dev: true - /caniuse-lite@1.0.30001505: resolution: {integrity: sha512-jaAOR5zVtxHfL0NjZyflVTtXm3D3J9P15zSJ7HmQF8dSKGA6tqzQq+0ZI3xkjyQj46I4/M0K2GbMpcAFOcbr3A==} dev: true + /caniuse-lite@1.0.30001519: + resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + dev: true + + /caniuse-lite@1.0.30001538: + resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} + dev: true + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1475,19 +1466,14 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 /chroma-js@2.4.2: resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==} dev: false - /clsx@1.1.1: - resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} - engines: {node: '>=6'} - dev: false - - /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + /clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} engines: {node: '>=6'} dev: false @@ -1545,6 +1531,14 @@ packages: - encoding dev: false + /cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: false + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1559,15 +1553,11 @@ packages: engines: {node: '>=4'} hasBin: true - /csstype@3.0.9: - resolution: {integrity: sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==} - dev: false - /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /dayjs@1.11.8: - resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==} + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: false /debug@2.6.9: @@ -1632,50 +1622,54 @@ packages: esutils: 2.0.3 dev: true - /echarts@5.4.2: - resolution: {integrity: sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==} + /echarts@5.4.3: + resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} dependencies: tslib: 2.3.0 - zrender: 5.4.3 + zrender: 5.4.4 dev: false /electron-to-chromium@1.4.435: resolution: {integrity: sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==} dev: true + /electron-to-chromium@1.4.485: + resolution: {integrity: sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==} + dev: true + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 dev: true /escalade@3.1.1: @@ -1699,21 +1693,21 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.43.0): + /eslint-utils@3.0.0(eslint@8.47.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.43.0 + eslint: 8.47.0 eslint-visitor-keys: 2.1.0 dev: true @@ -1727,16 +1721,21 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.43.0: - resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.47.0: + resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.43.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@eslint-community/regexpp': 4.8.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.49.0 + '@humanwhocodes/config-array': 0.11.11 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -1745,19 +1744,18 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.21.0 graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -1767,21 +1765,20 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 + optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) - eslint-visitor-keys: 3.4.1 + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 dev: true /esquery@1.5.0: @@ -1825,6 +1822,17 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -1843,7 +1851,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.0 dev: true /fill-range@7.0.1: @@ -1864,27 +1872,28 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.3 rimraf: 3.0.2 dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.6: + resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -1949,8 +1958,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.21.0: + resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -2043,6 +2052,11 @@ packages: dependencies: has: 1.0.3 + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2071,8 +2085,8 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /jiti@1.18.2: - resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + /jiti@1.19.1: + resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} hasBin: true /js-cookie@2.2.1: @@ -2100,6 +2114,10 @@ packages: hasBin: true dev: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -2124,6 +2142,12 @@ packages: hasBin: true dev: true + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + dependencies: + json-buffer: 3.0.1 + dev: true + /klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -2177,10 +2201,10 @@ packages: yallist: 4.0.0 dev: true - /meilisearch@0.33.0: - resolution: {integrity: sha512-bYPb9WyITnJfzf92e7QFK8Rc50DmshFWxypXCs3ILlpNh8pT15A7KSu9Xgnnk/K3G/4vb3wkxxtFS4sxNkWB8w==} + /meilisearch@0.34.2: + resolution: {integrity: sha512-bbiq8pr+3yyOLU+9qdnNX7CEUQCFNs13Vgrne1iNXVnnRxj9aPRpWP8Kh8o0mdQ2tVKJKGZ7MN5rCGm6qvu52A==} dependencies: - cross-fetch: 3.1.6 + cross-fetch: 3.1.8 transitivePeerDependencies: - encoding dev: false @@ -2205,8 +2229,8 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /monaco-editor@0.39.0: - resolution: {integrity: sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q==} + /monaco-editor@0.43.0: + resolution: {integrity: sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==} dev: false /ms@2.0.0: @@ -2249,10 +2273,26 @@ packages: whatwg-url: 5.0.0 dev: false + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + /node-releases@2.0.12: resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} dev: true + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -2278,16 +2318,16 @@ packages: dependencies: wrappy: 1.0.2 - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true /p-limit@3.1.0: @@ -2351,41 +2391,41 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - /pirates@4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - /postcss-import@15.1.0(postcss@8.4.24): + /postcss-import@15.1.0(postcss@8.4.30): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.30 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.2 + resolve: 1.22.4 - /postcss-js@4.0.0(postcss@8.4.19): - resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + /postcss-js@4.0.1(postcss@8.4.27): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: - postcss: ^8.3.3 + postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.19 + postcss: 8.4.27 dev: false - /postcss-js@4.0.1(postcss@8.4.24): + /postcss-js@4.0.1(postcss@8.4.30): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.24 + postcss: 8.4.30 - /postcss-load-config@4.0.1(postcss@8.4.24): + /postcss-load-config@4.0.1(postcss@8.4.30): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -2398,24 +2438,17 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.24 + postcss: 8.4.30 yaml: 2.3.1 - /postcss-nested@6.0.1(postcss@8.4.24): + /postcss-nested@6.0.1(postcss@8.4.30): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.24 - postcss-selector-parser: 6.0.12 - - /postcss-selector-parser@6.0.12: - resolution: {integrity: sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} @@ -2423,13 +2456,12 @@ packages: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.19: - resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + /postcss@8.4.27: + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -2437,8 +2469,8 @@ packages: source-map-js: 1.0.2 dev: false - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + /postcss@8.4.30: + resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -2450,9 +2482,9 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + engines: {node: '>=14'} hasBin: true dev: true @@ -2478,17 +2510,17 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /react-error-boundary@4.0.10(react@18.2.0): - resolution: {integrity: sha512-pvVKdi77j2OoPHo+p3rorgE43OjDWiqFkaqkJz8sJKK6uf/u8xtzuaVfj5qJ2JnDLIgF1De3zY5AJDijp+LVPA==} + /react-error-boundary@4.0.11(react@18.2.0): + resolution: {integrity: sha512-U13ul67aP5DOSPNSCWQ/eO0AQEYzEFkVljULQIjMV0KlffTAhxuDoBKdO0pb/JZ8mDhMKFZ9NZi0BmLGUiNphw==} peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.15 react: registry.npmmirror.com/react@18.2.0 dev: false - /react-hook-form@7.45.0(react@18.2.0): - resolution: {integrity: sha512-AbHeZ4ad+0dEIknSW9dBgIwcvRDfZ1O97sgj75WaMdOX0eg8TBiUf9wxzVkIjZbk76BBIE9lmFOzyD4PN80ZQg==} + /react-hook-form@7.46.1(react@18.2.0): + resolution: {integrity: sha512-0GfI31LRTBd5tqbXMGXT1Rdsv3rnvy0FjEk8Gn9/4tp6+s77T7DPZuGEpBRXOauL+NhyGT5iaXzdIM2R6F/E+w==} engines: {node: '>=12.22.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 @@ -2499,12 +2531,23 @@ packages: /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + /react-number-format@5.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qpYcQLauIeEhCZUZY9jXZnnroOtdy3jYaS1zQ3M1Sr6r/KMOBEIGNIb7eKT19g2N1wbYgFgvDzs19hw5TrB8XQ==} + peerDependencies: + react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + prop-types: 15.8.1 + react: registry.npmmirror.com/react@18.2.0 + react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) + dev: false + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.4(@types/react@18.2.13)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -2514,13 +2557,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 react: registry.npmmirror.com/react@18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.13)(react@18.2.0) - tslib: 2.5.3 + react-style-singleton: 2.2.1(@types/react@18.2.22)(react@18.2.0) + tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.6(@types/react@18.2.13)(react@18.2.0): + /react-remove-scroll@2.5.6(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==} engines: {node: '>=10'} peerDependencies: @@ -2530,39 +2573,39 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 react: registry.npmmirror.com/react@18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.13)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.13)(react@18.2.0) - tslib: 2.5.3 - use-callback-ref: 1.3.0(@types/react@18.2.13)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.13)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.22)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.22)(react@18.2.0) + tslib: 2.6.2 + use-callback-ref: 1.3.0(@types/react@18.2.22)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.22)(react@18.2.0) dev: false - /react-router-dom@6.13.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-6Nqoqd7fgwxxVGdbiMHTpDHCYPq62d7Wk1Of7B82vH7ZPwwsRaIa22zRZKPPg413R5REVNiyuQPKDG1bubcOFA==} - engines: {node: '>=14'} + /react-router-dom@6.16.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aTfBLv3mk/gaKLxgRDUPbPw+s4Y/O+ma3rEN1u8EgEpLpPe6gNjIsWt9rxushMHHMb7mSwxRGdGlGdvmFsyPIg==} + engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.6.3 + '@remix-run/router': 1.9.0 react: registry.npmmirror.com/react@18.2.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) - react-router: 6.13.0(react@18.2.0) + react-router: 6.16.0(react@18.2.0) dev: false - /react-router@6.13.0(react@18.2.0): - resolution: {integrity: sha512-Si6KnfEnJw7gUQkNa70dlpI1bul46FuSxX5t5WwlUBxE25DAz2BjVkwaK8Y2s242bQrZPXCpmwLPtIO5pv4tXg==} - engines: {node: '>=14'} + /react-router@6.16.0(react@18.2.0): + resolution: {integrity: sha512-VT4Mmc4jj5YyjpOi5jOf0I+TYzGpvzERy4ckNSvSh2RArv8LLoCxlsZ2D+tc7zgjxcY34oTz2hZaeX5RVprKqA==} + engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.6.3 + '@remix-run/router': 1.9.0 react: registry.npmmirror.com/react@18.2.0 dev: false - /react-style-singleton@2.2.1(@types/react@18.2.13)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -2572,23 +2615,23 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 get-nonce: 1.0.1 invariant: 2.2.4 react: registry.npmmirror.com/react@18.2.0 - tslib: 2.5.3 + tslib: 2.6.2 dev: false - /react-textarea-autosize@8.3.4(@types/react@18.2.13)(react@18.2.0): - resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} + /react-textarea-autosize@8.5.2(@types/react@18.2.22)(react@18.2.0): + resolution: {integrity: sha512-uOkyjkEl0ByEK21eCJMHDGBAAd/BoFQBawYK5XItjAmCTeSbjxghd8qnt7nzsLYzidjnoObu6M26xts0YGKsGg==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.15 react: registry.npmmirror.com/react@18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.13)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.22)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -2607,6 +2650,10 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: false + /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -2632,6 +2679,14 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true @@ -2652,12 +2707,12 @@ packages: glob: 7.2.3 dev: true - /rollup@3.25.1: - resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==} + /rollup@3.29.2: + resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /run-parallel@1.2.0: @@ -2675,6 +2730,11 @@ packages: hasBin: true dev: true + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + /semver@7.5.2: resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==} engines: {node: '>=10'} @@ -2702,8 +2762,8 @@ packages: get-intrinsic: 1.2.1 object-inspect: 1.12.3 - /sonner@0.5.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-V5L4918wScYxpe3x1H92MV0vSkUqRREu8dwFf7dDTQmRMQ58r1vzSKCsULZ5HCTqxNkfCdhQXHf7rRMaj/MukQ==} + /sonner@0.7.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-xRVYOCTAxJge7hRGSwu7q+gIS9B2csuOZw8yNEaXe/qlncft5a7UmkttGNb4LOGu79rAB/GJ6JQbUMpJNf51Nw==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -2741,8 +2801,8 @@ packages: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} dev: false - /sucrase@3.32.0: - resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} engines: {node: '>=8'} hasBin: true dependencies: @@ -2751,11 +2811,11 @@ packages: glob: 7.1.6 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.5 + pirates: 4.0.6 ts-interface-checker: 0.1.13 - /superjson@1.12.3: - resolution: {integrity: sha512-0j+U70KUtP8+roVPbwfqkyQI7lBt7ETnuA7KXbTDX3mCKiD/4fXs2ldKSMdt0MCfpTwiMxo20yFU3vu6ewETpQ==} + /superjson@1.13.1: + resolution: {integrity: sha512-AVH2eknm9DEd3qvxM4Sq+LTCkSXE2ssfh1t11MHMXyYXFQyQ1HLgVvV+guLTsaQnJU3gnaVo34TohHPulY/wLg==} engines: {node: '>=10'} dependencies: copy-anything: 3.0.5 @@ -2778,12 +2838,12 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /tabbable@6.1.2: - resolution: {integrity: sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==} + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: false - /tailwindcss@3.3.2: - resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} + /tailwindcss@3.3.3: + resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -2792,24 +2852,23 @@ packages: chokidar: 3.5.3 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.12 + fast-glob: 3.3.1 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.18.2 + jiti: 1.19.1 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.24 - postcss-import: 15.1.0(postcss@8.4.24) - postcss-js: 4.0.1(postcss@8.4.24) - postcss-load-config: 4.0.1(postcss@8.4.24) - postcss-nested: 6.0.1(postcss@8.4.24) - postcss-selector-parser: 6.0.12 - postcss-value-parser: 4.2.0 - resolve: 1.22.2 - sucrase: 3.32.0 + postcss: 8.4.30 + postcss-import: 15.1.0(postcss@8.4.30) + postcss-js: 4.0.1(postcss@8.4.30) + postcss-load-config: 4.0.1(postcss@8.4.30) + postcss-nested: 6.0.1(postcss@8.4.30) + postcss-selector-parser: 6.0.13 + resolve: 1.22.4 + sucrase: 3.34.0 transitivePeerDependencies: - ts-node @@ -2853,12 +2912,12 @@ packages: resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} dev: false - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} dev: false - /tslib@2.5.3: - resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false /type-check@0.4.0: @@ -2873,19 +2932,24 @@ packages: engines: {node: '>=10'} dev: true - /typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: false + + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} hasBin: true dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.5): + /update-browserslist-db@1.0.11(browserslist@4.21.10): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -2907,7 +2971,7 @@ packages: punycode: 2.3.0 dev: true - /use-callback-ref@1.3.0(@types/react@18.2.13)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -2917,9 +2981,9 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 react: registry.npmmirror.com/react@18.2.0 - tslib: 2.5.3 + tslib: 2.6.2 dev: false /use-composed-ref@1.3.0(react@18.2.0): @@ -2930,7 +2994,7 @@ packages: react: registry.npmmirror.com/react@18.2.0 dev: false - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.13)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -2939,11 +3003,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 react: registry.npmmirror.com/react@18.2.0 dev: false - /use-latest@1.2.1(@types/react@18.2.13)(react@18.2.0): + /use-latest@1.2.1(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -2952,12 +3016,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 react: registry.npmmirror.com/react@18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.13)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.22)(react@18.2.0) dev: false - /use-sidecar@1.1.2(@types/react@18.2.13)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -2967,10 +3031,10 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.13 + '@types/react': 18.2.22 detect-node-es: 1.1.0 react: registry.npmmirror.com/react@18.2.0 - tslib: 2.5.3 + tslib: 2.6.2 dev: false /use-sync-external-store@1.2.0(react@18.2.0): @@ -2984,13 +3048,14 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /vite@4.3.9(@types/node@20.3.1): - resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + /vite@4.4.9(@types/node@20.6.3): + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -3000,6 +3065,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -3009,12 +3076,12 @@ packages: terser: optional: true dependencies: - '@types/node': 20.3.1 - esbuild: 0.17.19 - postcss: 8.4.24 - rollup: 3.25.1 + '@types/node': 20.6.3 + esbuild: 0.18.20 + postcss: 8.4.30 + rollup: 3.29.2 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /webidl-conversions@3.0.1: @@ -3036,11 +3103,6 @@ packages: isexe: 2.0.0 dev: true - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -3065,28 +3127,32 @@ packages: engines: {node: '>=10'} dev: true - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + /zod@3.22.2: + resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} dev: false - /zrender@5.4.3: - resolution: {integrity: sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==} + /zrender@5.4.4: + resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} dependencies: tslib: 2.3.0 dev: false - /zustand@4.3.8(immer@10.0.2)(react@18.2.0): - resolution: {integrity: sha512-4h28KCkHg5ii/wcFFJ5Fp+k1J3gJoasaIbppdgZFO4BPJnsNxL0mQXBSFgOgAdCdBj35aDTPvdAJReTMntFPGg==} + /zustand@4.4.1(@types/react@18.2.22)(immer@10.0.2)(react@18.2.0): + resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} peerDependencies: + '@types/react': '>=16.8' immer: '>=9.0' react: '>=16.8' peerDependenciesMeta: + '@types/react': + optional: true immer: optional: true react: optional: true dependencies: + '@types/react': 18.2.22 immer: 10.0.2 react: registry.npmmirror.com/react@18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) @@ -3117,7 +3183,7 @@ packages: - supports-color dev: true - registry.npmmirror.com/@babel/eslint-parser@7.19.1(@babel/core@7.19.3)(eslint@8.43.0): + registry.npmmirror.com/@babel/eslint-parser@7.19.1(@babel/core@7.19.3)(eslint@8.47.0): resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz} id: registry.npmmirror.com/@babel/eslint-parser/7.19.1 name: '@babel/eslint-parser' @@ -3129,7 +3195,7 @@ packages: dependencies: '@babel/core': registry.npmmirror.com/@babel/core@7.19.3 '@nicolo-ribaudo/eslint-scope-5-internals': registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1 - eslint: 8.43.0 + eslint: 8.47.0 eslint-visitor-keys: 2.1.0 semver: 6.3.0 dev: true @@ -4493,13 +4559,7 @@ packages: version: 0.0.29 dev: true - registry.npmmirror.com/@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz} - name: '@types/qs' - version: 6.9.7 - dev: true - - registry.npmmirror.com/@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz} id: registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.38.1 name: '@typescript-eslint/eslint-plugin' @@ -4513,22 +4573,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.47.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager@5.38.1 - '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils@5.38.1(eslint@8.43.0)(typescript@5.0.4) - '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils@5.38.1(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.47.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 + eslint: 8.47.0 ignore: 5.2.4 regexpp: 3.2.0 semver: 7.5.2 - tsutils: registry.npmmirror.com/tsutils@3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: registry.npmmirror.com/tsutils@3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - registry.npmmirror.com/@typescript-eslint/experimental-utils@5.38.1(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/@typescript-eslint/experimental-utils@5.38.1(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-Zv0EcU0iu64DiVG3pRZU0QYCgANO//U1fS3oEs3eqHD1eIVVcQsFd/T01ckaNbL2H2aCqRojY2xZuMAPcOArEA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.38.1.tgz} id: registry.npmmirror.com/@typescript-eslint/experimental-utils/5.38.1 name: '@typescript-eslint/experimental-utils' @@ -4537,14 +4597,14 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.43.0)(typescript@5.0.4) - eslint: 8.43.0 + '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.47.0)(typescript@5.1.6) + eslint: 8.47.0 transitivePeerDependencies: - supports-color - typescript dev: true - registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.38.1.tgz} id: registry.npmmirror.com/@typescript-eslint/parser/5.38.1 name: '@typescript-eslint/parser' @@ -4559,10 +4619,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager@5.38.1 '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types@5.38.1 - '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.0.4) + '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 - typescript: 5.0.4 + eslint: 8.47.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -4577,7 +4637,7 @@ packages: '@typescript-eslint/visitor-keys': registry.npmmirror.com/@typescript-eslint/visitor-keys@5.38.1 dev: true - registry.npmmirror.com/@typescript-eslint/type-utils@5.38.1(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/@typescript-eslint/type-utils@5.38.1(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz} id: registry.npmmirror.com/@typescript-eslint/type-utils/5.38.1 name: '@typescript-eslint/type-utils' @@ -4590,12 +4650,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.0.4) - '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.1.6) + '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.47.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 - tsutils: registry.npmmirror.com/tsutils@3.21.0(typescript@5.0.4) - typescript: 5.0.4 + eslint: 8.47.0 + tsutils: registry.npmmirror.com/tsutils@3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -4607,7 +4667,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.0.4): + registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.1.6): resolution: {integrity: sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz} id: registry.npmmirror.com/@typescript-eslint/typescript-estree/5.38.1 name: '@typescript-eslint/typescript-estree' @@ -4625,13 +4685,13 @@ packages: globby: registry.npmmirror.com/globby@11.1.0 is-glob: 4.0.3 semver: 7.5.2 - tsutils: registry.npmmirror.com/tsutils@3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: registry.npmmirror.com/tsutils@3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.38.1.tgz} id: registry.npmmirror.com/@typescript-eslint/utils/5.38.1 name: '@typescript-eslint/utils' @@ -4643,10 +4703,10 @@ packages: '@types/json-schema': registry.npmmirror.com/@types/json-schema@7.0.11 '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager@5.38.1 '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types@5.38.1 - '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.0.4) - eslint: 8.43.0 + '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree@5.38.1(typescript@5.1.6) + eslint: 8.47.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.43.0) + eslint-utils: 3.0.0(eslint@8.47.0) transitivePeerDependencies: - supports-color - typescript @@ -4843,7 +4903,7 @@ packages: name: core-js-compat version: 3.25.3 dependencies: - browserslist: 4.21.9 + browserslist: 4.21.10 dev: true registry.npmmirror.com/core-js-pure@3.25.3: @@ -4878,7 +4938,7 @@ packages: path-type: 4.0.0 dev: true - registry.npmmirror.com/echarts-for-react@3.0.2(echarts@5.4.2)(react@18.2.0): + registry.npmmirror.com/echarts-for-react@3.0.2(echarts@5.4.3)(react@18.2.0): resolution: {integrity: sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz} id: registry.npmmirror.com/echarts-for-react/3.0.2 name: echarts-for-react @@ -4887,7 +4947,7 @@ packages: echarts: ^3.0.0 || ^4.0.0 || ^5.0.0 react: ^15.0.0 || >=16.0.0 dependencies: - echarts: 5.4.2 + echarts: 5.4.3 fast-deep-equal: registry.npmmirror.com/fast-deep-equal@3.1.3 react: registry.npmmirror.com/react@18.2.0 size-sensor: registry.npmmirror.com/size-sensor@1.0.1 @@ -4950,7 +5010,7 @@ packages: is-symbol: registry.npmmirror.com/is-symbol@1.0.4 dev: true - registry.npmmirror.com/eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.5)(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz} id: registry.npmmirror.com/eslint-config-react-app/7.0.1 name: eslint-config-react-app @@ -4964,21 +5024,21 @@ packages: optional: true dependencies: '@babel/core': registry.npmmirror.com/@babel/core@7.19.3 - '@babel/eslint-parser': registry.npmmirror.com/@babel/eslint-parser@7.19.1(@babel/core@7.19.3)(eslint@8.43.0) + '@babel/eslint-parser': registry.npmmirror.com/@babel/eslint-parser@7.19.1(@babel/core@7.19.3)(eslint@8.47.0) '@rushstack/eslint-patch': registry.npmmirror.com/@rushstack/eslint-patch@1.2.0 - '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.43.0)(typescript@5.0.4) - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.47.0)(typescript@5.1.6) babel-preset-react-app: registry.npmmirror.com/babel-preset-react-app@10.0.1 confusing-browser-globals: registry.npmmirror.com/confusing-browser-globals@1.0.11 - eslint: 8.43.0 - eslint-plugin-flowtype: registry.npmmirror.com/eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.5)(eslint@8.43.0) - eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.38.1)(eslint@8.43.0) - eslint-plugin-jest: registry.npmmirror.com/eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.38.1)(eslint@8.43.0)(typescript@5.0.4) - eslint-plugin-jsx-a11y: registry.npmmirror.com/eslint-plugin-jsx-a11y@6.6.1(eslint@8.43.0) - eslint-plugin-react: registry.npmmirror.com/eslint-plugin-react@7.31.8(eslint@8.43.0) - eslint-plugin-react-hooks: registry.npmmirror.com/eslint-plugin-react-hooks@4.6.0(eslint@8.43.0) - eslint-plugin-testing-library: registry.npmmirror.com/eslint-plugin-testing-library@5.7.0(eslint@8.43.0)(typescript@5.0.4) - typescript: 5.0.4 + eslint: 8.47.0 + eslint-plugin-flowtype: registry.npmmirror.com/eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.47.0) + eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.38.1)(eslint@8.47.0) + eslint-plugin-jest: registry.npmmirror.com/eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.38.1)(eslint@8.47.0)(typescript@5.1.6) + eslint-plugin-jsx-a11y: registry.npmmirror.com/eslint-plugin-jsx-a11y@6.6.1(eslint@8.47.0) + eslint-plugin-react: registry.npmmirror.com/eslint-plugin-react@7.31.8(eslint@8.47.0) + eslint-plugin-react-hooks: registry.npmmirror.com/eslint-plugin-react-hooks@4.6.0(eslint@8.47.0) + eslint-plugin-testing-library: registry.npmmirror.com/eslint-plugin-testing-library@5.7.0(eslint@8.47.0)(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -4999,7 +5059,7 @@ packages: - supports-color dev: true - registry.npmmirror.com/eslint-module-utils@2.7.4(@typescript-eslint/parser@5.38.1)(eslint-import-resolver-node@0.3.6)(eslint@8.43.0): + registry.npmmirror.com/eslint-module-utils@2.7.4(@typescript-eslint/parser@5.38.1)(eslint-import-resolver-node@0.3.6)(eslint@8.47.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz} id: registry.npmmirror.com/eslint-module-utils/2.7.4 name: eslint-module-utils @@ -5023,15 +5083,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.47.0)(typescript@5.1.6) debug: 3.2.7 - eslint: 8.43.0 + eslint: 8.47.0 eslint-import-resolver-node: registry.npmmirror.com/eslint-import-resolver-node@0.3.6 transitivePeerDependencies: - supports-color dev: true - registry.npmmirror.com/eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.5)(eslint@8.43.0): + registry.npmmirror.com/eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.47.0): resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz} id: registry.npmmirror.com/eslint-plugin-flowtype/8.0.3 name: eslint-plugin-flowtype @@ -5042,14 +5102,14 @@ packages: '@babel/plugin-transform-react-jsx': ^7.14.9 eslint: ^8.1.0 dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) - eslint: 8.43.0 + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.19.3) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.19.3) + eslint: 8.47.0 lodash: 4.17.21 string-natural-compare: registry.npmmirror.com/string-natural-compare@3.0.1 dev: true - registry.npmmirror.com/eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.38.1)(eslint@8.43.0): + registry.npmmirror.com/eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.38.1)(eslint@8.47.0): resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz} id: registry.npmmirror.com/eslint-plugin-import/2.26.0 name: eslint-plugin-import @@ -5062,14 +5122,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser@5.38.1(eslint@8.47.0)(typescript@5.1.6) array-includes: registry.npmmirror.com/array-includes@3.1.5 array.prototype.flat: registry.npmmirror.com/array.prototype.flat@1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.43.0 + eslint: 8.47.0 eslint-import-resolver-node: registry.npmmirror.com/eslint-import-resolver-node@0.3.6 - eslint-module-utils: registry.npmmirror.com/eslint-module-utils@2.7.4(@typescript-eslint/parser@5.38.1)(eslint-import-resolver-node@0.3.6)(eslint@8.43.0) + eslint-module-utils: registry.npmmirror.com/eslint-module-utils@2.7.4(@typescript-eslint/parser@5.38.1)(eslint-import-resolver-node@0.3.6)(eslint@8.47.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -5083,7 +5143,7 @@ packages: - supports-color dev: true - registry.npmmirror.com/eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.38.1)(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.38.1)(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz} id: registry.npmmirror.com/eslint-plugin-jest/25.7.0 name: eslint-plugin-jest @@ -5099,15 +5159,15 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.43.0)(typescript@5.0.4) - '@typescript-eslint/experimental-utils': registry.npmmirror.com/@typescript-eslint/experimental-utils@5.38.1(eslint@8.43.0)(typescript@5.0.4) - eslint: 8.43.0 + '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin@5.38.1(@typescript-eslint/parser@5.38.1)(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/experimental-utils': registry.npmmirror.com/@typescript-eslint/experimental-utils@5.38.1(eslint@8.47.0)(typescript@5.1.6) + eslint: 8.47.0 transitivePeerDependencies: - supports-color - typescript dev: true - registry.npmmirror.com/eslint-plugin-jsx-a11y@6.6.1(eslint@8.43.0): + registry.npmmirror.com/eslint-plugin-jsx-a11y@6.6.1(eslint@8.47.0): resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz} id: registry.npmmirror.com/eslint-plugin-jsx-a11y/6.6.1 name: eslint-plugin-jsx-a11y @@ -5124,7 +5184,7 @@ packages: axobject-query: registry.npmmirror.com/axobject-query@2.2.0 damerau-levenshtein: registry.npmmirror.com/damerau-levenshtein@1.0.8 emoji-regex: registry.npmmirror.com/emoji-regex@9.2.2 - eslint: 8.43.0 + eslint: 8.47.0 has: 1.0.3 jsx-ast-utils: registry.npmmirror.com/jsx-ast-utils@3.3.3 language-tags: registry.npmmirror.com/language-tags@1.0.5 @@ -5132,7 +5192,7 @@ packages: semver: 6.3.0 dev: true - registry.npmmirror.com/eslint-plugin-react-hooks@4.6.0(eslint@8.43.0): + registry.npmmirror.com/eslint-plugin-react-hooks@4.6.0(eslint@8.47.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz} id: registry.npmmirror.com/eslint-plugin-react-hooks/4.6.0 name: eslint-plugin-react-hooks @@ -5141,10 +5201,10 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.43.0 + eslint: 8.47.0 dev: true - registry.npmmirror.com/eslint-plugin-react@7.31.8(eslint@8.43.0): + registry.npmmirror.com/eslint-plugin-react@7.31.8(eslint@8.47.0): resolution: {integrity: sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz} id: registry.npmmirror.com/eslint-plugin-react/7.31.8 name: eslint-plugin-react @@ -5156,7 +5216,7 @@ packages: array-includes: registry.npmmirror.com/array-includes@3.1.5 array.prototype.flatmap: registry.npmmirror.com/array.prototype.flatmap@1.3.0 doctrine: 2.1.0 - eslint: 8.43.0 + eslint: 8.47.0 estraverse: 5.3.0 jsx-ast-utils: registry.npmmirror.com/jsx-ast-utils@3.3.3 minimatch: 3.1.2 @@ -5170,7 +5230,7 @@ packages: string.prototype.matchall: registry.npmmirror.com/string.prototype.matchall@4.0.7 dev: true - registry.npmmirror.com/eslint-plugin-testing-library@5.7.0(eslint@8.43.0)(typescript@5.0.4): + registry.npmmirror.com/eslint-plugin-testing-library@5.7.0(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-pI8LKtFiAflBpN4h14vTtfhKqLwtIW40TNhWyw0ckqHm0W/J0VmYtThoxpTAdHrvEWnkALSG1Z8ABBkIncMIHA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.0.tgz} id: registry.npmmirror.com/eslint-plugin-testing-library/5.7.0 name: eslint-plugin-testing-library @@ -5179,8 +5239,8 @@ packages: peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.43.0)(typescript@5.0.4) - eslint: 8.43.0 + '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils@5.38.1(eslint@8.47.0)(typescript@5.1.6) + eslint: 8.47.0 transitivePeerDependencies: - supports-color - typescript @@ -5572,7 +5632,7 @@ packages: scheduler: registry.npmmirror.com/scheduler@0.23.0 dev: false - registry.npmmirror.com/react-json-view@1.21.3(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0): + registry.npmmirror.com/react-json-view@1.21.3(@types/react@18.2.22)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/react-json-view/-/react-json-view-1.21.3.tgz} id: registry.npmmirror.com/react-json-view/1.21.3 name: react-json-view @@ -5586,7 +5646,7 @@ packages: react-base16-styling: registry.npmmirror.com/react-base16-styling@0.6.0 react-dom: registry.npmmirror.com/react-dom@18.2.0(react@18.2.0) react-lifecycles-compat: registry.npmmirror.com/react-lifecycles-compat@3.0.4 - react-textarea-autosize: registry.npmmirror.com/react-textarea-autosize@8.3.4(@types/react@18.2.13)(react@18.2.0) + react-textarea-autosize: registry.npmmirror.com/react-textarea-autosize@8.3.4(@types/react@18.2.22)(react@18.2.0) transitivePeerDependencies: - '@types/react' - encoding @@ -5598,7 +5658,7 @@ packages: version: 3.0.4 dev: false - registry.npmmirror.com/react-textarea-autosize@8.3.4(@types/react@18.2.13)(react@18.2.0): + registry.npmmirror.com/react-textarea-autosize@8.3.4(@types/react@18.2.22)(react@18.2.0): resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz} id: registry.npmmirror.com/react-textarea-autosize/8.3.4 name: react-textarea-autosize @@ -5610,7 +5670,7 @@ packages: '@babel/runtime': 7.22.5 react: registry.npmmirror.com/react@18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.13)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.22)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -5783,7 +5843,7 @@ packages: strip-bom: registry.npmmirror.com/strip-bom@3.0.0 dev: true - registry.npmmirror.com/tsutils@3.21.0(typescript@5.0.4): + registry.npmmirror.com/tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, registry: https://registry.npmjs.org/, tarball: https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz} id: registry.npmmirror.com/tsutils/3.21.0 name: tsutils @@ -5793,7 +5853,7 @@ packages: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.0.4 + typescript: 5.1.6 dev: true registry.npmmirror.com/ua-parser-js@0.7.31: diff --git a/src/components/Document/list.tsx b/src/components/Document/list.tsx new file mode 100644 index 0000000..4697b86 --- /dev/null +++ b/src/components/Document/list.tsx @@ -0,0 +1,179 @@ +import { openConfirmModal } from '@mantine/modals'; +import { useMeiliClient } from '@/src/hooks/useMeiliClient'; +import { showTaskErrorNotification, showTaskSubmitNotification } from '@/src/utils/text'; +import { toast } from '@/src/utils/toast'; +import { useMutation } from '@tanstack/react-query'; +import { useCallback, useMemo, useState } from 'react'; +import ReactJson from 'react-json-view'; +import { Button, Modal } from '@mantine/core'; +import MonacoEditor from '@monaco-editor/react'; +import clsx from 'clsx'; + +type Doc = { indexId: string; content: object; primaryKey: string }; + +interface Props { + docs?: Doc[]; + showIndex?: boolean; + refetchDocs: () => void; +} + +export const DocumentList = ({ docs = [], showIndex = false, refetchDocs }: Props) => { + const client = useMeiliClient(); + const [isEditDocumentsModalOpen, setIsEditDocumentsModalOpen] = useState(false); + const [editingDocument, setEditingDocument] = useState(); + + const editDocumentMutation = useMutation( + ['editDocument'], + async ({ indexId, docs }: { indexId: string; docs: object[] }) => { + return await client.index(indexId).updateDocuments(docs); + }, + { + onSuccess: (t) => { + setIsEditDocumentsModalOpen(false); + showTaskSubmitNotification(t); + refetchDocs(); + }, + onError: (error) => { + console.error(error); + showTaskErrorNotification(error); + }, + } + ); + + const removeDocumentsMutation = useMutation( + ['removeDocuments'], + async ({ indexId, docId }: { indexId: string; docId: string[] | number[] }) => { + return await client.index(indexId).deleteDocuments(docId); + }, + { + onSuccess: (t) => { + showTaskSubmitNotification(t); + refetchDocs(); + }, + onError: (error: Error) => { + console.error(error); + showTaskErrorNotification(error); + }, + } + ); + + const onClickDocumentDel = useCallback( + (doc: Doc) => { + const pk = doc.primaryKey; + console.debug('onClickDocumentDel', 'pk', pk); + if (pk) { + openConfirmModal({ + title: 'Delete a document', + centered: true, + children: ( +

+ Are you sure you want to delete this{' '} + + {/* @ts-ignore */} + document ({pk}: {doc.content[pk]}) in index {doc.indexId} + + ? +

+ ), + labels: { confirm: 'Confirm', cancel: 'Cancel' }, + onConfirm: () => { + // @ts-ignore + removeDocumentsMutation.mutate({ indexId: doc.indexId, docId: [doc.content[pk]] }); + }, + }); + } else { + toast.error(`Document deletion require the valid primaryKey in index ${doc.indexId}`); + } + }, + [removeDocumentsMutation] + ); + + const onClickDocumentUpdate = useCallback((doc: Doc) => { + setIsEditDocumentsModalOpen(true); + setEditingDocument(doc); + }, []); + + const onEditDocumentJsonEditorUpdate = useCallback( + (value: string = '[]') => setEditingDocument((prev) => ({ ...prev!, content: JSON.parse(value) })), + [] + ); + + const list = useMemo(() => { + return docs.map((d, i) => { + return ( +
+
+ {d.indexId} +
+ +
+ + +
+
+ ); + }); + }, [docs, showIndex, onClickDocumentUpdate, onClickDocumentDel]); + + const onSubmitDocumentUpdate = useCallback(() => { + editingDocument && + editDocumentMutation.mutate({ indexId: editingDocument.indexId, docs: [editingDocument.content] }); + }, [editDocumentMutation, editingDocument]); + + return useMemo( + () => ( + <> + {list} + { + setIsEditDocumentsModalOpen(false); + setEditingDocument(undefined); + }} + centered + lockScroll + radius="lg" + shadow="xl" + padding="xl" + size="xl" + withCloseButton={true} + title={

Edit Document

} + > +
+
+ +
+ +
+
+ + ), + [editingDocument, isEditDocumentsModalOpen, list, onEditDocumentJsonEditorUpdate, onSubmitDocumentUpdate] + ); +}; diff --git a/src/components/Document/multi-search/queries.tsx b/src/components/Document/multi-search/queries.tsx new file mode 100644 index 0000000..b220d9b --- /dev/null +++ b/src/components/Document/multi-search/queries.tsx @@ -0,0 +1,26 @@ +import clsx from 'clsx'; +import { useMemo } from 'react'; + +interface Props { + show: boolean; + toggle: (show: boolean) => void; +} + +export const MultiSearchQueries = ({ show, toggle }: Props) => { + return useMemo( + () => ( +
+ +
+
+ +

Multi Search Queries

+
+
+
+ ), + [show, toggle] + ); +}; diff --git a/src/components/Document/search.tsx b/src/components/Document/search.tsx new file mode 100644 index 0000000..8e538de --- /dev/null +++ b/src/components/Document/search.tsx @@ -0,0 +1,145 @@ +import { useCallback, useMemo, useState } from 'react'; +import { DocumentList } from '@/src/components/Document/list'; +import { SearchBar } from '@/src/components/Document/searchBar'; +import { useForm } from '@mantine/form'; +import { useQuery } from '@tanstack/react-query'; +import { useMeiliClient } from '@/src/hooks/useMeiliClient'; +import { useCurrentInstance } from '@/src/hooks/useCurrentInstance'; + +const emptySearchResult = { + hits: [], + estimatedTotalHits: 0, + processingTimeMs: 0, +}; + +type Props = { + currentIndex: string; +}; + +export const SearchPage = ({ currentIndex }: Props) => { + const [searchFormError, setSearchFormError] = useState(null); + const currentInstance = useCurrentInstance(); + const host = currentInstance?.host; + const client = useMeiliClient(); + + const indexClient = useMemo(() => { + return currentIndex ? client.index(currentIndex) : undefined; + }, [client, currentIndex]); + + const searchForm = useForm({ + initialValues: { + q: '', + offset: 0, + limit: 20, + filter: '', + sort: '', + }, + validate: { + limit: (value: number) => + value < 500 ? null : 'limit search value allow (<500) in this ui console for performance', + }, + }); + + const indexPrimaryKeyQuery = useQuery( + ['indexPrimaryKey', host, indexClient?.uid], + async () => { + return (await indexClient?.getRawInfo())?.primaryKey; + }, + { + enabled: !!currentIndex, + keepPreviousData: true, + } + ); + + const searchDocumentsQuery = useQuery( + [ + 'searchDocuments', + host, + indexClient?.uid, + // dependencies for the search refresh + searchForm.values, + ], + async ({ queryKey }) => { + const { q, limit, offset, filter, sort } = { ...searchForm.values, ...(queryKey[3] as typeof searchForm.values) }; + // prevent app error from request param invalid + if (searchForm.validate().hasErrors) return emptySearchResult; + try { + const data = await indexClient!.search(q, { + limit, + offset, + filter, + sort: sort + .split(',') + .filter((v) => v.trim().length > 0) + .map((v) => v.trim()), + }); + // clear error message if results are running normally + setSearchFormError(null); + return data || emptySearchResult; + } catch (err) { + const msg = (err as Error).message; + setSearchFormError(null); + if (msg.match(/filter/i)) { + searchForm.setFieldError('filter', msg); + } else if (msg.match(/sort/i)) { + searchForm.setFieldError('sort', msg); + } else { + setSearchFormError(msg); + } + return emptySearchResult; + } + }, + { + enabled: !!currentIndex, + keepPreviousData: true, + } + ); + + const onSearchSubmit = useCallback(async () => { + await searchDocumentsQuery.refetch(); + }, [searchDocumentsQuery]); + + return useMemo( + () => ( +
+ {/* Search bar */} + +
+

Results

+
+

total {searchDocumentsQuery.data?.estimatedTotalHits} hits

+

in {searchDocumentsQuery.data?.processingTimeMs} ms

+
+
+ {/* Doc List */} +
+ ({ + indexId: currentIndex, + content: i, + primaryKey: indexPrimaryKeyQuery.data!, + }))} + refetchDocs={searchDocumentsQuery.refetch} + /> +
+
+ ), + [ + currentIndex, + indexPrimaryKeyQuery.data, + onSearchSubmit, + searchDocumentsQuery.data?.estimatedTotalHits, + searchDocumentsQuery.data?.hits, + searchDocumentsQuery.data?.processingTimeMs, + searchDocumentsQuery.isFetching, + searchDocumentsQuery.refetch, + searchForm, + searchFormError, + ] + ); +}; diff --git a/src/components/Document/searchBar.tsx b/src/components/Document/searchBar.tsx new file mode 100644 index 0000000..6564142 --- /dev/null +++ b/src/components/Document/searchBar.tsx @@ -0,0 +1,35 @@ +import { useMemo } from 'react'; +import { UseFormReturnType } from '@mantine/form'; +import { SearchForm } from './searchForm'; + +type Props = { + isFetching?: boolean; + searchForm: UseFormReturnType<{ + q: string; + offset: number; + limit: number; + filter: string; + sort: string; + }>; + searchFormError: string | null; + onFormSubmit: () => void; +}; + +export const SearchBar = ({ isFetching = false, searchForm, searchFormError, onFormSubmit }: Props) => { + return useMemo( + () => ( +
+
+ +
+
+ ), + [isFetching, onFormSubmit, searchForm, searchFormError] + ); +}; diff --git a/src/components/Document/searchForm.tsx b/src/components/Document/searchForm.tsx new file mode 100644 index 0000000..fdf1b10 --- /dev/null +++ b/src/components/Document/searchForm.tsx @@ -0,0 +1,113 @@ +import { useMemo } from 'react'; +import { Loader, NumberInput, TextInput, Tooltip } from '@mantine/core'; +import { IconAlignBoxLeftMiddle, IconArrowsSort, IconFilter, IconSearch } from '@tabler/icons-react'; +import clsx from 'clsx'; +import { UseFormReturnType } from '@mantine/form'; + +type Props = { + isFetching?: boolean; + searchForm: UseFormReturnType<{ + q: string; + offset: number; + limit: number; + filter: string; + sort: string; + indexId?: string; + }>; + searchFormError: string | null; + onFormSubmit: () => void; + submitBtnText: string; + indexIdEnable?: boolean; +}; + +export const SearchForm = ({ + isFetching = false, + searchForm, + searchFormError, + onFormSubmit, + submitBtnText, + indexIdEnable = false, +}: Props) => { + return useMemo( + () => ( +
+
+
+ + + + + + +
+
+

{searchFormError}

+
+
+ {indexIdEnable && ( + } + radius="md" + placeholder="input target index id" + required + {...searchForm.getInputProps('indexId')} + /> + )} + } + autoFocus + radius="md" + placeholder="type some search query..." + {...searchForm.getInputProps('q')} + /> +
+ } + radius="md" + {...searchForm.getInputProps('filter')} + /> + + } + radius="md" + {...searchForm.getInputProps('sort')} + /> + +
+
+ + + + {/* right btn group */} +
+ {isFetching && } + + {/* submit btn */} + +
+
+ + ), + [indexIdEnable, isFetching, onFormSubmit, searchForm, searchFormError, submitBtnText] + ); +}; diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx index b78584a..ba7ed92 100644 --- a/src/components/Header/index.tsx +++ b/src/components/Header/index.tsx @@ -1,5 +1,6 @@ import { ActionIcon, HoverCard } from '@mantine/core'; import { + IconAffiliate, IconArrowsLeftRight, IconBook2, IconBooks, @@ -145,6 +146,7 @@ export const Header: FC = ({ client, className }) => {

Index

+
{ navigate([`/ins/${currentInstance.id}/keys`], { currentInstance }); diff --git a/src/components/Settings/baseInfo.tsx b/src/components/Settings/baseInfo.tsx index b504bb2..41a6929 100644 --- a/src/components/Settings/baseInfo.tsx +++ b/src/components/Settings/baseInfo.tsx @@ -84,7 +84,7 @@ export const BaseInfo: FC = ({ host, client }) => {

Primary Key

{indexRawInfoDisplayData?.primaryKey || '-'} - +
diff --git a/src/components/Settings/dangerZone.tsx b/src/components/Settings/dangerZone.tsx index 7d549e7..d14a357 100644 --- a/src/components/Settings/dangerZone.tsx +++ b/src/components/Settings/dangerZone.tsx @@ -1,6 +1,6 @@ import { FC, useCallback, useMemo } from 'react'; import { useNavigate } from 'react-router-dom'; -import { Button, Text } from '@mantine/core'; +import { Text } from '@mantine/core'; import { useMutation } from '@tanstack/react-query'; import { hiddenRequestLoader, showRequestLoader } from '@/src/utils/loader'; import { showTaskSubmitNotification } from '@/src/utils/text'; @@ -95,12 +95,12 @@ export const DangerZone: FC<

Danger Zone

- - + +
diff --git a/src/pages/dashboard.tsx b/src/pages/dashboard.tsx index fb1a9a9..abc8d6d 100644 --- a/src/pages/dashboard.tsx +++ b/src/pages/dashboard.tsx @@ -186,7 +186,7 @@ function Dashboard() { onClickInstance(instance, `/ins/${instance.id}/keys`)} > @@ -200,7 +200,7 @@ function Dashboard() { return (
-
+

A Beautiful Meilisearch UI

@@ -246,7 +246,6 @@ function Dashboard() { { - const [searchFormError, setSearchFormError] = useState(null); - const currentInstance = useCurrentInstance(); - const host = currentInstance?.host; const { indexId } = useParams(); - const client = useMeiliClient(); const currentIndex = useMemo(() => indexId?.trim(), [indexId]); - const indexClient = useMemo(() => { - return currentIndex ? client.index(currentIndex) : undefined; - }, [client, currentIndex]); - - const searchForm = useForm({ - initialValues: { - q: '', - offset: 0, - limit: 20, - filter: '', - sort: '', - }, - validate: { - limit: (value: number) => - value < 500 ? null : 'limit search value allow (<500) in this ui console for performance', - }, - }); - - const indexPrimaryKeyQuery = useQuery( - ['indexPrimaryKey', host, indexClient?.uid], - async () => { - return (await indexClient?.getRawInfo())?.primaryKey; - }, - { - enabled: !!currentIndex, - keepPreviousData: true, - } - ); - - const searchDocumentsQuery = useQuery( - [ - 'searchDocuments', - host, - indexClient?.uid, - // dependencies for the search refresh - searchForm.values, - ], - async ({ queryKey }) => { - const { q, limit, offset, filter, sort } = { ...searchForm.values, ...(queryKey[3] as typeof searchForm.values) }; - // prevent app error from request param invalid - if (searchForm.validate().hasErrors) return emptySearchResult; - try { - const data = await indexClient!.search(q, { - limit, - offset, - filter, - sort: sort - .split(',') - .filter((v) => v.trim().length > 0) - .map((v) => v.trim()), - }); - // clear error message if results are running normally - setSearchFormError(null); - return data || emptySearchResult; - } catch (err) { - const msg = (err as Error).message; - setSearchFormError(null); - if (msg.match(/filter/i)) { - searchForm.setFieldError('filter', msg); - } else if (msg.match(/sort/i)) { - searchForm.setFieldError('sort', msg); - } else { - setSearchFormError(msg); - } - return emptySearchResult; - } - }, - { - enabled: !!currentIndex, - keepPreviousData: true, - } - ); - const [isEditDocumentsModalOpen, setIsEditDocumentsModalOpen] = useState(false); - const [editingDocument, setEditingDocument] = useState(); - - const onSearchSubmit = useCallback(async () => { - await searchDocumentsQuery.refetch(); - }, [searchDocumentsQuery]); - - const onEditDocumentJsonEditorUpdate = useCallback( - (value: string = '[]') => setEditingDocument(JSON.parse(value)), - [] - ); - - const removeDocumentsMutation = useMutation( - ['removeDocuments', host, indexClient?.uid], - async (docId: string[] | number[]) => { - return await indexClient!.deleteDocuments(docId); - }, - { - onSuccess: (t) => { - showTaskSubmitNotification(t); - searchDocumentsQuery.refetch().then(); - }, - onError: (error) => { - console.error(error); - showTaskErrorNotification(error); - }, - } - ); - - const editDocumentMutation = useMutation( - ['editDocument', host, indexClient?.uid], - async (docs: object[]) => { - return await indexClient!.updateDocuments(docs); - }, - { - onSuccess: (t) => { - setIsEditDocumentsModalOpen(false); - showTaskSubmitNotification(t); - searchDocumentsQuery.refetch().then(); - }, - onError: (error) => { - console.error(error); - showTaskErrorNotification(error); - }, - } - ); - - const onClickDocumentDel = useCallback( - (doc: Hit) => { - const pk = indexPrimaryKeyQuery.data; - console.debug('onClickDocumentDel', 'pk', pk); - if (pk) { - openConfirmModal({ - title: 'Delete a document', - centered: true, - children: ( -

- Are you sure you want to delete this{' '} - - document ({pk}: {doc[pk]}) in index {currentIndex} - - ? -

- ), - labels: { confirm: 'Confirm', cancel: 'Cancel' }, - onConfirm: () => { - removeDocumentsMutation.mutate([doc[pk]]); - }, - }); - } else { - toast.error(`Document deletion require the valid primaryKey in index ${indexClient?.uid}`); - } - }, - [currentIndex, indexClient?.uid, indexPrimaryKeyQuery.data, removeDocumentsMutation] - ); - - const onClickDocumentUpdate = useCallback((doc: Hit) => { - setIsEditDocumentsModalOpen(true); - setEditingDocument(doc); - }, []); - - const onSubmitDocumentUpdate = useCallback(() => { - editingDocument && editDocumentMutation.mutate([editingDocument]); - }, [editDocumentMutation, editingDocument]); - - const docList = useMemo(() => { - return searchDocumentsQuery.data?.hits.map((d, i) => { - return ( -
- -
- - -
-
- ); - }); - }, [onClickDocumentDel, onClickDocumentUpdate, searchDocumentsQuery.data?.hits]); return useMemo( () => ( <> {currentIndex ? ( -
- {/* Search bar */} -
-
-
-
-
- - - - - - -
-
-

{searchFormError}

-
-
- } - autoFocus - radius="md" - placeholder="type some search query..." - {...searchForm.getInputProps('q')} - /> -
- } - radius="md" - {...searchForm.getInputProps('filter')} - /> - - } - radius="md" - {...searchForm.getInputProps('sort')} - /> - -
-
- - - - {/* right btn group */} -
- {searchDocumentsQuery.isFetching && } - - {/* search btn */} - -
-
- -
-
-
-

Results

-
-

total {searchDocumentsQuery.data?.estimatedTotalHits} hits

-

in {searchDocumentsQuery.data?.processingTimeMs} ms

-
-
- {/* Doc List */} -
{docList}
-
+ ) : ( )} - { - setIsEditDocumentsModalOpen(false); - setEditingDocument(undefined); - }} - centered - lockScroll - radius="lg" - shadow="xl" - padding="xl" - size="xl" - withCloseButton={true} - title={

Edit Document

} - > -
-
- -
- -
-
), - [ - searchFormError, - currentIndex, - searchDocumentsQuery.isFetching, - searchDocumentsQuery.data?.estimatedTotalHits, - searchDocumentsQuery.data?.processingTimeMs, - searchForm, - onSearchSubmit, - docList, - isEditDocumentsModalOpen, - editingDocument, - onEditDocumentJsonEditorUpdate, - onSubmitDocumentUpdate, - ] + [currentIndex] ); }; diff --git a/src/pages/index/layout.tsx b/src/pages/index/layout.tsx index faad1d2..74e56d7 100644 --- a/src/pages/index/layout.tsx +++ b/src/pages/index/layout.tsx @@ -6,7 +6,13 @@ import { useInstanceStats } from '@/src/hooks/useInstanceStats'; import { Link, Outlet, useNavigate, useSearchParams } from 'react-router-dom'; import { Index } from 'meilisearch'; import { useMeiliClient } from '@/src/hooks/useMeiliClient'; -import { IconAbacus, IconAdjustments, IconAlertTriangle, IconFileImport, IconSquarePlus } from '@tabler/icons-react'; +import { + IconAbacus, + IconAdjustments, + IconAlertTriangle, + IconFileImport, + IconSquareRoundedPlusFilled, +} from '@tabler/icons-react'; import ReactECharts from 'echarts-for-react'; // Import the echarts core module, which provides the necessary interfaces for using echarts. import * as echarts from 'echarts/core'; // Import charts, all with Chart suffix @@ -148,7 +154,7 @@ function IndexesLayout() { navigate(`/ins/${currentInstance.id}/index/${index.uid}`); }} > -

{uid}

+

{uid}

Count: {indexStat?.numberOfDocuments ?? 0} @@ -234,23 +240,10 @@ function IndexesLayout() { flex flex-col items-stretch p-6 rounded-3xl gap-y-2 overflow-hidden`} >
-
🦄 Indexes
- {/* multi-search btn */} - - {/* TODO */} - - - - +
🦄 Indexes
+ + +
> & { primaryKey?: string })[]; + +type State = { + queries: MultiSearchQuery[]; + queriesEditorShow: boolean; +}; + +export const MultiIndexSearch = () => { + const currentInstance = useCurrentInstance(); + const host = currentInstance?.host; + const client = useMeiliClient(); + + const [state, updateState] = useReducer( + (prev: State, next: Partial) => { + return { ...prev, ...next }; + }, + { queries: [], queriesEditorShow: false } + ); + + const query = useQuery( + [ + 'multiSearchDocuments', + host, + // dependencies for the search refresh + state.queries, + ], + async () => { + try { + const data: DocList = (await client!.multiSearch({ queries: state.queries })).results; + + if (data.length > 0) { + for (let i in data) { + data[i] = { + ...data[i], + primaryKey: (await client.index(data[i].indexUid).getRawInfo())!.primaryKey, + }; + } + } + + return data || []; + } catch (err) { + return []; + } + }, + { + enabled: !!client, + keepPreviousData: true, + } + ); + + return useMemo( + () => ( +
+
+
+
+
🌿 Multi Search
+ +
+ updateState({ queriesEditorShow: show })} + /> +
+ {state.queries.length > 0 ? ( + { + return [ + ...prev, + ...curr.hits.map((i) => ({ + indexId: curr.indexUid, + content: i, + primaryKey: curr.primaryKey, + })), + ]; + }, [])} + refetchDocs={query.refetch} + /> + ) : ( + + )} +
+
+
+ ), + [client, query.data, query.refetch, state.queries.length, state.queriesEditorShow] + ); +}; diff --git a/src/pages/key/index.tsx b/src/pages/key/index.tsx index bcf065f..f93150a 100644 --- a/src/pages/key/index.tsx +++ b/src/pages/key/index.tsx @@ -38,6 +38,7 @@ function Keys() { ['keys', host], async ({ pageParam }) => { showRequestLoader(); + console.log(client.config); return await client.getKeys(pageParam); }, { @@ -123,7 +124,7 @@ function Keys() { {({ copied, copy }) => ( - + {copied ? : } @@ -327,10 +328,7 @@ function Keys() { size={'lg'} label={

Indexes

} placeholder="select permitted indexes" - creatable - clearable searchable - withinPortal data={indexes.map((i) => i.uid)} {...form.getInputProps('indexes')} /> @@ -341,10 +339,7 @@ function Keys() { size={'lg'} label={

Actions

} placeholder="select permitted actions" - creatable - clearable searchable - withinPortal data={[ { value: 'search', label: 'Search' }, { value: 'documents.add', label: 'Add/Update documents' }, diff --git a/src/pages/task/index.tsx b/src/pages/task/index.tsx index 9f61a36..8d7bcca 100644 --- a/src/pages/task/index.tsx +++ b/src/pages/task/index.tsx @@ -144,7 +144,6 @@ function Tasks() { setIsTaskDetailModalOpen(false)} title="Task Detail" + size={'xl'} >
- + {stringifyJsonPretty(taskDetailModalContent)}
diff --git a/src/providers/Mantine.tsx b/src/providers/Mantine.tsx index 3b4e46b..8380eb0 100644 --- a/src/providers/Mantine.tsx +++ b/src/providers/Mantine.tsx @@ -1,19 +1,9 @@ import type { FC, ReactNode } from 'react'; -import { createEmotionCache, DefaultMantineColor, MantineProvider, Tuple } from '@mantine/core'; +import { MantineProvider } from '@mantine/core'; import theme from '@/src/style/theme.json'; import _ from 'lodash'; import { ModalsProvider } from '@mantine/modals'; - -type CustomColors = 'brand'; -type ExtendedCustomColors = CustomColors | DefaultMantineColor; - -declare module '@mantine/core' { - export interface MantineThemeColorsOverride { - colors: Record>; - } -} - -const myCache = createEmotionCache({ key: 'mantine' }); +import '@mantine/core/styles.css'; type Props = { children: ReactNode; @@ -22,10 +12,9 @@ type Props = { export const MantineUIProvider: FC = ({ children }) => { return ( >, 'brand'), + // @ts-ignore + colors: _.pick(theme.colors, 'brand'), primaryColor: 'brand', }} > diff --git a/src/routes/index.tsx b/src/routes/index.tsx index f475f9c..882c075 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -12,6 +12,7 @@ import Settings from '@/src/pages/index/setting'; import Warning from '@/src/pages/warning'; import { EmptyArea } from '../components/EmptyArea'; import { UploadDoc } from '../pages/index/upload'; +import { MultiIndexSearch } from '../pages/index/multi-search'; export const AppRoutes = () => { return ( @@ -37,8 +38,7 @@ export const AppRoutes = () => { } /> } /> - {/* TODO replace page element */} - } /> + } /> } /> diff --git a/src/style/theme.json b/src/style/theme.json index 3912b9f..2d8e795 100644 --- a/src/style/theme.json +++ b/src/style/theme.json @@ -6,16 +6,16 @@ "light": "#fafafa" }, "brand": [ - "#ffe2f5", - "#ffb1d8", - "#ff7fbd", - "#ff4da2", - "#fe1e87", - "#e5076e", - "#b30055", - "#81003d", - "#4f0025", - "#1f000e" + "#ffe7f7", + "#ffcee7", + "#ff9bcb", + "#ff64ad", + "#fe3694", + "#fe1984", + "#ff027c", + "#e4006a", + "#cd005e", + "#b40051" ] } } \ No newline at end of file diff --git a/src/utils/text.ts b/src/utils/text.ts index be2cf5d..97083c8 100644 --- a/src/utils/text.ts +++ b/src/utils/text.ts @@ -11,6 +11,7 @@ const enum TaskStatus { TASK_PROCESSING = 'processing', TASK_FAILED = 'failed', TASK_ENQUEUED = 'enqueued', + TASK_CANCEL = 'canceled', } const TaskStatusToast: Record< @@ -21,12 +22,14 @@ const TaskStatusToast: Record< [TaskStatus.TASK_ENQUEUED]: toast.info, [TaskStatus.TASK_FAILED]: toast.error, [TaskStatus.TASK_PROCESSING]: toast.info, + [TaskStatus.TASK_CANCEL]: toast.info, }; export const TaskThemes: Record = { [TaskStatus.TASK_SUCCEEDED]: 'success', [TaskStatus.TASK_ENQUEUED]: 'warn', [TaskStatus.TASK_FAILED]: 'danger', [TaskStatus.TASK_PROCESSING]: 'secondary', + [TaskStatus.TASK_CANCEL]: 'info', }; export const showTaskSubmitNotification = (task: EnqueuedTask): void => { diff --git a/tsconfig.json b/tsconfig.json index 7896907..c011679 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,11 +2,7 @@ "compilerOptions": { "target": "ESNext", "useDefineForClassFields": true, - "lib": [ - "DOM", - "DOM.Iterable", - "ESNext" - ], + "lib": ["DOM", "DOM.Iterable", "ESNext"], "allowJs": false, "skipLibCheck": true, "esModuleInterop": false, @@ -21,14 +17,11 @@ "jsx": "react-jsx", "baseUrl": "./", "paths": { - "@/*": [ - "./*" - ] + "@/*": ["./*"] } }, - "include": [ - "src" - ], + "include": ["src"], + "exclude": ["node_modules"], "references": [ { "path": "./tsconfig.node.json"