diff --git a/packages/client/next.config.js b/packages/client/next.config.js index 7d04e048..6264311d 100644 --- a/packages/client/next.config.js +++ b/packages/client/next.config.js @@ -19,6 +19,10 @@ const nextConfig = semi({ eslint: { ignoreDuringBuilds: true, }, + // FIXME: douyinfe 的第三方包存在 ts 类型错误! + typescript: { + ignoreBuildErrors: true, + }, }); module.exports = nextConfig; diff --git a/packages/client/package.json b/packages/client/package.json index 4d445f72..1a0511e8 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -78,7 +78,6 @@ "react": "17.0.2", "react-dom": "17.0.2", "react-helmet": "^6.1.0", - "react-select": "^5.2.2", "react-split-pane": "^0.1.92", "scroll-into-view-if-needed": "^2.2.29", "swr": "^1.2.0", diff --git a/packages/client/src/components/tiptap/components/attachment/index.tsx b/packages/client/src/components/tiptap/components/attachment/index.tsx index 8d202604..093e61fb 100644 --- a/packages/client/src/components/tiptap/components/attachment/index.tsx +++ b/packages/client/src/components/tiptap/components/attachment/index.tsx @@ -1,16 +1,51 @@ import { useEffect, useRef } from 'react'; import { NodeViewWrapper, NodeViewContent } from '@tiptap/react'; -import { Button, Typography, Spin, Collapsible } from '@douyinfe/semi-ui'; -import { IconDownload, IconPlayCircle } from '@douyinfe/semi-icons'; +import { Button, Typography, Spin, Collapsible, Space } from '@douyinfe/semi-ui'; +import { + IconDownload, + IconPlayCircle, + IconFile, + IconSong, + IconVideo, + IconImage, + IconClose, +} from '@douyinfe/semi-icons'; import { Tooltip } from 'components/tooltip'; import { useToggle } from 'hooks/useToggle'; import { download } from '../../services/download'; import { uploadFile } from 'services/file'; -import { normalizeFileSize, extractFileExtension, extractFilename, normalizeFileType } from '../../services/file'; +import { + normalizeFileSize, + extractFileExtension, + extractFilename, + normalizeFileType, + FileType, +} from '../../services/file'; import styles from './index.module.scss'; const { Text } = Typography; +const getFileTypeIcon = (type: FileType) => { + switch (type) { + case 'audio': + return ; + + case 'video': + return ; + + case 'file': + return ; + + case 'image': + return ; + + default: { + const value: never = type; + throw new Error(value); + } + } +}; + export const AttachmentWrapper = ({ editor, node, updateAttributes }) => { const $upload = useRef(); const isEditable = editor.isEditable; @@ -19,6 +54,7 @@ export const AttachmentWrapper = ({ editor, node, updateAttributes }) => { const [visible, toggleVisible] = useToggle(false); const selectFile = () => { + if (!isEditable || error || url) return; // @ts-ignore isEditable && $upload.current.click(); }; @@ -37,7 +73,7 @@ export const AttachmentWrapper = ({ editor, node, updateAttributes }) => { updateAttributes({ ...fileInfo, url }); toggleLoading(false); } catch (error) { - updateAttributes({ error: '上传失败:' + (error && error.message) || '未知错误' }); + updateAttributes({ error: '文件上传失败:' + (error && error.message) || '未知错误' }); toggleLoading(false); } }; @@ -51,30 +87,33 @@ export const AttachmentWrapper = ({ editor, node, updateAttributes }) => { } }, [url, autoTrigger]); - return ( - -
- {!url ? ( - error ? ( - {error} - ) : ( - - - {loading ? '正在上传中' : '请选择文件'} - - - - ) - ) : ( - <> - + const content = (() => { + if (error) { + return ( +
+ {error} +
+ ); + } + + if (url) { + return ( + <> +
+ + {getFileTypeIcon(type)} {fileName}.{fileExt} ({normalizeFileSize(fileSize)}) - + {type === 'video' || type === 'audio' ? ( - -
+
- {url ? ( - - {type === 'video' && } - {type === 'audio' && } - - ) : null} - -
- ); + {url ? ( + + {type === 'video' && } + {type === 'audio' && } + + ) : null} + + ); + } + + if (isEditable && !url) { + return ( +
+ + {loading ? '正在上传中' : '请选择文件'} + + +
+ ); + } + })(); + + return {content}; }; diff --git a/packages/client/src/components/tiptap/components/documentReference/index.tsx b/packages/client/src/components/tiptap/components/documentReference/index.tsx index b4684865..434633f2 100644 --- a/packages/client/src/components/tiptap/components/documentReference/index.tsx +++ b/packages/client/src/components/tiptap/components/documentReference/index.tsx @@ -2,7 +2,7 @@ import { NodeViewWrapper, NodeViewContent } from '@tiptap/react'; import { useRouter } from 'next/router'; import Link from 'next/link'; import cls from 'classnames'; -import Select from 'react-select'; +import { Select } from '@douyinfe/semi-ui'; import { useWikiTocs } from 'data/wiki'; import { DataRender } from 'components/data-render'; import { IconDocument } from 'components/icons'; @@ -16,8 +16,8 @@ export const DocumentReferenceWrapper = ({ editor, node, updateAttributes }) => const { wikiId, documentId, title } = node.attrs; const { data: tocs, loading, error } = useWikiTocs(isShare ? null : wikiIdFromUrl); - const selectDoc = (toc) => { - const { wikiId, documentId, title } = toc.value; + const selectDoc = (str) => { + const [wikiId, title, documentId] = str.split('/'); updateAttributes({ wikiId, documentId, title }); }; @@ -30,15 +30,20 @@ export const DocumentReferenceWrapper = ({ editor, node, updateAttributes }) => error={error} normalContent={() => ( )} /> )} diff --git a/packages/client/src/components/tiptap/components/image/index.tsx b/packages/client/src/components/tiptap/components/image/index.tsx index 4b52bfa2..14388389 100644 --- a/packages/client/src/components/tiptap/components/image/index.tsx +++ b/packages/client/src/components/tiptap/components/image/index.tsx @@ -20,6 +20,7 @@ export const ImageWrapper = ({ editor, node, updateAttributes }) => { }; const selectFile = () => { + if (!isEditable || error || src) return; // @ts-ignore isEditable && $upload.current.click(); }; @@ -38,7 +39,7 @@ export const ImageWrapper = ({ editor, node, updateAttributes }) => { updateAttributes({ ...fileInfo, src }); toggleLoading(false); } catch (error) { - updateAttributes({ error: '上传失败:' + (error && error.message) || '未知错误' }); + updateAttributes({ error: '图片上传失败:' + (error && error.message) || '未知错误' }); toggleLoading(false); } }; @@ -52,16 +53,18 @@ export const ImageWrapper = ({ editor, node, updateAttributes }) => { const content = (() => { if (error) { - return {error}; + return ( +
+ {error} +
+ ); } if (!src) { return ( -
+
- - {loading ? '正在上传中' : '请选择图片'} - + {loading ? '正在上传中' : '请选择图片'}
diff --git a/packages/client/src/components/tiptap/services/file.ts b/packages/client/src/components/tiptap/services/file.ts index 09edef96..19f2334a 100644 --- a/packages/client/src/components/tiptap/services/file.ts +++ b/packages/client/src/components/tiptap/services/file.ts @@ -39,7 +39,15 @@ export const normalizeFileSize = (size) => { return (size / 1024 / 1024).toFixed(2) + ' MB'; }; -export const normalizeFileType = (fileType): 'audio' | 'video' | 'file' => { +export type FileType = 'image' | 'audio' | 'video' | 'file'; + +export const normalizeFileType = (fileType): FileType => { + if (!fileType) return 'file'; + + if (fileType.startsWith('image')) { + return 'image'; + } + if (fileType.startsWith('audio')) { return 'audio'; } diff --git a/packages/client/src/styles/globals.scss b/packages/client/src/styles/globals.scss index 6fce9ed4..c64ce30e 100644 --- a/packages/client/src/styles/globals.scss +++ b/packages/client/src/styles/globals.scss @@ -204,12 +204,3 @@ a { flex-direction: column; align-items: center; } - -.react-select { - width: 180px; - font-size: 0.8em; - - > div { - border: 1px solid var(--semi-color-border); - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9406f9ae..9380683e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,7 +114,6 @@ importers: react: 17.0.2 react-dom: 17.0.2 react-helmet: ^6.1.0 - react-select: ^5.2.2 react-split-pane: ^0.1.92 scroll-into-view-if-needed: ^2.2.29 swr: ^1.2.0 @@ -191,7 +190,6 @@ importers: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-helmet: 6.1.0_react@17.0.2 - react-select: 5.2.2_b3482aaf5744fc7c2aeb7941b0e0a78f react-split-pane: 0.1.92_react-dom@17.0.2+react@17.0.2 scroll-into-view-if-needed: 2.2.29 swr: 1.2.0_react@17.0.2 @@ -518,6 +516,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.16.8 + dev: true /@babel/helper-module-transforms/7.16.7: resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==} @@ -538,6 +537,7 @@ packages: /@babel/helper-plugin-utils/7.16.7: resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-simple-access/7.16.7: resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} @@ -630,15 +630,6 @@ packages: '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-jsx/7.16.7: - resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.16.7 - dev: false - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.12: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -906,92 +897,6 @@ packages: - supports-color dev: false - /@emotion/babel-plugin/11.7.2: - resolution: {integrity: sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/helper-module-imports': 7.16.7 - '@babel/plugin-syntax-jsx': 7.16.7 - '@babel/runtime': 7.16.7 - '@emotion/hash': 0.8.0 - '@emotion/memoize': 0.7.5 - '@emotion/serialize': 1.0.2 - babel-plugin-macros: 2.8.0 - convert-source-map: 1.8.0 - escape-string-regexp: 4.0.0 - find-root: 1.1.0 - source-map: 0.5.7 - stylis: 4.0.13 - dev: false - - /@emotion/cache/11.7.1: - resolution: {integrity: sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==} - dependencies: - '@emotion/memoize': 0.7.5 - '@emotion/sheet': 1.1.0 - '@emotion/utils': 1.1.0 - '@emotion/weak-memoize': 0.2.5 - stylis: 4.0.13 - dev: false - - /@emotion/hash/0.8.0: - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} - dev: false - - /@emotion/memoize/0.7.5: - resolution: {integrity: sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==} - dev: false - - /@emotion/react/11.8.2_b08e3c15324cbe90a6ff8fcd416c932c: - resolution: {integrity: sha512-+1bcHBaNJv5nkIIgnGKVsie3otS0wF9f1T1hteF3WeVvMNQEtfZ4YyFpnphGoot3ilU/wWMgP2SgIDuHLE/wAA==} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@babel/core': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.16.7 - '@emotion/babel-plugin': 11.7.2 - '@emotion/cache': 11.7.1 - '@emotion/serialize': 1.0.2 - '@emotion/utils': 1.1.0 - '@emotion/weak-memoize': 0.2.5 - '@types/react': 17.0.38 - hoist-non-react-statics: 3.3.2 - react: 17.0.2 - dev: false - - /@emotion/serialize/1.0.2: - resolution: {integrity: sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==} - dependencies: - '@emotion/hash': 0.8.0 - '@emotion/memoize': 0.7.5 - '@emotion/unitless': 0.7.5 - '@emotion/utils': 1.1.0 - csstype: 3.0.10 - dev: false - - /@emotion/sheet/1.1.0: - resolution: {integrity: sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==} - dev: false - - /@emotion/unitless/0.7.5: - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} - dev: false - - /@emotion/utils/1.1.0: - resolution: {integrity: sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==} - dev: false - - /@emotion/weak-memoize/0.2.5: - resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} - dev: false - /@eslint/eslintrc/1.2.1: resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2211,6 +2116,7 @@ packages: /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: true /@types/prettier/2.4.3: resolution: {integrity: sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==} @@ -2293,12 +2199,6 @@ packages: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true - /@types/react-transition-group/4.4.4: - resolution: {integrity: sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==} - dependencies: - '@types/react': 17.0.38 - dev: false - /@types/react-window/1.8.5: resolution: {integrity: sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==} dependencies: @@ -2976,14 +2876,6 @@ packages: '@types/babel__traverse': 7.14.2 dev: true - /babel-plugin-macros/2.8.0: - resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} - dependencies: - '@babel/runtime': 7.16.7 - cosmiconfig: 6.0.0 - resolve: 1.22.0 - dev: false - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.16.12: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -3153,6 +3045,7 @@ packages: /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true /camelcase/5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} @@ -3413,6 +3306,7 @@ packages: resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} dependencies: safe-buffer: 5.1.2 + dev: true /cookie-signature/1.0.6: resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} @@ -3467,6 +3361,7 @@ packages: parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.2 + dev: true /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -3731,13 +3626,6 @@ packages: esutils: 2.0.3 dev: true - /dom-helpers/5.2.1: - resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dependencies: - '@babel/runtime': 7.16.7 - csstype: 3.0.10 - dev: false - /domexception/2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} @@ -3824,6 +3712,7 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 + dev: true /es-abstract/1.19.1: resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} @@ -3895,6 +3784,7 @@ packages: /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + dev: true /escodegen/1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} @@ -4428,10 +4318,6 @@ packages: unpipe: 1.0.0 dev: false - /find-root/1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - dev: false - /find-up/2.1.0: resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} engines: {node: '>=4'} @@ -4784,12 +4670,6 @@ packages: engines: {node: '>=12.0.0'} dev: false - /hoist-non-react-statics/3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - dependencies: - react-is: 16.13.1 - dev: false - /html-encoding-sniffer/2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -4881,6 +4761,7 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true /import-local/3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} @@ -4988,6 +4869,7 @@ packages: /is-arrayish/0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + dev: true /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -5019,6 +4901,7 @@ packages: resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} dependencies: has: 1.0.3 + dev: true /is-date-object/1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -5770,6 +5653,7 @@ packages: /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -5928,6 +5812,7 @@ packages: /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true /linkify-it/3.0.3: resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} @@ -6644,6 +6529,7 @@ packages: engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} @@ -6653,6 +6539,7 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + dev: true /parse5-htmlparser2-tree-adapter/6.0.1: resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} @@ -6712,6 +6599,7 @@ packages: /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true /path-to-regexp/0.1.7: resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} @@ -6724,6 +6612,7 @@ packages: /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + dev: true /pause-stream/0.0.11: resolution: {integrity: sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=} @@ -7120,26 +7009,6 @@ packages: react-draggable: 4.4.4_react-dom@17.0.2+react@17.0.2 dev: false - /react-select/5.2.2_b3482aaf5744fc7c2aeb7941b0e0a78f: - resolution: {integrity: sha512-miGS2rT1XbFNjduMZT+V73xbJEeMzVkJOz727F6MeAr2hKE0uUSA8Ff7vD44H32x2PD3SRB6OXTY/L+fTV3z9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - dependencies: - '@babel/runtime': 7.16.7 - '@emotion/cache': 11.7.1 - '@emotion/react': 11.8.2_b08e3c15324cbe90a6ff8fcd416c932c - '@types/react-transition-group': 4.4.4 - memoize-one: 5.2.1 - prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - react-transition-group: 4.4.2_react-dom@17.0.2+react@17.0.2 - transitivePeerDependencies: - - '@babel/core' - - '@types/react' - dev: false - /react-side-effect/2.1.1_react@17.0.2: resolution: {integrity: sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==} peerDependencies: @@ -7180,20 +7049,6 @@ packages: prop-types: 15.8.1 dev: false - /react-transition-group/4.4.2_react-dom@17.0.2+react@17.0.2: - resolution: {integrity: sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==} - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - dependencies: - '@babel/runtime': 7.16.7 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - dev: false - /react-window/1.8.6_react-dom@17.0.2+react@17.0.2: resolution: {integrity: sha512-8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg==} engines: {node: '>8.0.0'} @@ -7300,6 +7155,7 @@ packages: /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + dev: true /resolve-from/5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} @@ -7318,6 +7174,7 @@ packages: is-core-module: 2.8.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true /resolve/2.0.0-next.3: resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} @@ -7791,10 +7648,6 @@ packages: react: 17.0.2 dev: false - /stylis/4.0.13: - resolution: {integrity: sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==} - dev: false - /superagent/7.1.1: resolution: {integrity: sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -7853,6 +7706,7 @@ packages: /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + dev: true /swr/1.2.0_react@17.0.2: resolution: {integrity: sha512-C3IXeKOREn0jQ1ewXRENE7ED7jjGbFTakwB64eLACkCqkF/A0N2ckvpCTftcaSYi5yV36PzoehgVCOVRmtECcA==} @@ -8729,6 +8583,7 @@ packages: /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + dev: true /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}