Merge pull request #177 from fantasticit/fix/0822

This commit is contained in:
fantasticit 2022-08-23 11:11:55 +08:00 committed by GitHub
commit 0f87f999fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 364 additions and 148 deletions

View File

@ -13,6 +13,9 @@
"@douyinfe/semi-ui": "^2.3.1",
"@excalidraw/excalidraw": "^0.12.0",
"@hocuspocus/provider": "^1.0.0-alpha.29",
"@react-pdf-viewer/core": "3.7.0",
"@react-pdf-viewer/default-layout": "3.7.0",
"@react-pdf-viewer/locales": "^1.0.0",
"@think/config": "workspace:^1.0.0",
"@think/constants": "workspace:^1.0.0",
"@think/domains": "workspace:^1.0.0",
@ -69,6 +72,7 @@
"katex": "^0.15.2",
"kity": "^2.0.4",
"lib0": "^0.2.47",
"lodash.pick": "^4.4.0",
"lowlight": "^2.5.0",
"markdown-it": "^12.3.2",
"markdown-it-anchor": "^8.4.1",
@ -78,6 +82,7 @@
"markdown-it-sup": "^1.0.0",
"next": "12.1.0",
"next-pwa": "^5.5.2",
"pdfjs-dist": "2.15.349",
"prosemirror-codemark": "^0.3.6",
"prosemirror-commands": "^1.3.0",
"prosemirror-markdown": "^1.7.0",
@ -93,7 +98,6 @@
"react-full-screen": "^1.1.1",
"react-helmet": "^6.1.0",
"react-lazy-load-image-component": "^1.5.4",
"react-pdf": "^5.7.2",
"react-query": "^3.39.0",
"react-split-pane": "^0.1.92",
"react-visibility-sensor": "^5.1.1",

View File

@ -1,13 +1,11 @@
import { Avatar, Button, Form, Toast, Typography } from '@douyinfe/semi-ui';
import { Avatar, Button, Form, Toast } from '@douyinfe/semi-ui';
import { FormApi } from '@douyinfe/semi-ui/lib/es/form';
import { ORGANIZATION_LOGOS } from '@think/constants';
import { IOrganization } from '@think/domains';
import { DataRender } from 'components/data-render';
import { ImageUploader } from 'components/image-uploader';
import { useCreateOrganization, useOrganizationDetail } from 'data/organization';
import { useOrganizationDetail } from 'data/organization';
import { useToggle } from 'hooks/use-toggle';
import { SingleColumnLayout } from 'layouts/single-column';
import Router from 'next/router';
import { useCallback, useEffect, useRef, useState } from 'react';
import styles from './index.module.scss';

View File

@ -3,7 +3,8 @@ import { FormApi } from '@douyinfe/semi-ui/lib/es/form';
import { WIKI_AVATARS } from '@think/constants';
import type { IWiki } from '@think/domains';
import { ImageUploader } from 'components/image-uploader';
import { useEffect, useRef, useState } from 'react';
import { pick } from 'helpers/pick';
import { useCallback, useEffect, useRef, useState } from 'react';
import styles from './index.module.scss';
@ -22,32 +23,36 @@ interface IProps {
update: (arg: IUpdateWIKI) => Promise<void>;
}
const getFormValueFromWiki = (wiki) => {
return pick(wiki, ['name', 'description', 'avatar']);
};
export const Base: React.FC<IProps> = ({ wiki, update }) => {
const $form = useRef<FormApi>();
const [currentCover, setCurrentCover] = useState('');
const onSubmit = () => {
const onSubmit = useCallback(() => {
$form.current.validate().then((values) => {
update(values).then(() => {
Toast.success('操作成功');
});
});
};
}, [update]);
const setCover = (url) => {
const setCover = useCallback((url) => {
$form.current.setValue('avatar', url);
setCurrentCover(url);
};
}, []);
useEffect(() => {
if (!wiki) return;
$form.current.setValues(wiki);
$form.current.setValues(getFormValueFromWiki(wiki));
setCurrentCover(wiki.avatar);
}, [wiki]);
return (
<Form
initValues={wiki}
initValues={getFormValueFromWiki(wiki)}
style={{ width: '100%' }}
getFormApi={(formApi) => ($form.current = formApi)}
onSubmit={onSubmit}

View File

@ -0,0 +1,3 @@
import pick from 'lodash.pick';
export { pick };

View File

@ -2,7 +2,10 @@ import 'tiptap/fix-match-nodes';
import 'viewerjs/dist/viewer.css';
import 'styles/globals.scss';
import 'tiptap/core/styles/index.scss';
import '@react-pdf-viewer/core/lib/styles/index.css';
import '@react-pdf-viewer/default-layout/lib/styles/index.css';
import { Worker } from '@react-pdf-viewer/core';
import { isMobile } from 'helpers/env';
import { DocumentVersionControl } from 'hooks/use-document-version';
import { IsOnMobile } from 'hooks/use-on-mobile';
@ -84,17 +87,19 @@ class MyApp extends App<{ isMobile: boolean }> {
<link key={url} rel="dns-prefetch" href={url} />
))}
</Head>
<QueryClientProvider client={queryClient}>
<Hydrate state={pageProps.dehydratedState}>
<Theme.Provider>
<IsOnMobile.Provider initialState={isMobile}>
<DocumentVersionControl.Provider initialState={false}>
<Component {...pageProps} />
</DocumentVersionControl.Provider>
</IsOnMobile.Provider>
</Theme.Provider>
</Hydrate>
</QueryClientProvider>
<Worker workerUrl="https://unpkg.com/pdfjs-dist@2.15.349/build/pdf.worker.js">
<QueryClientProvider client={queryClient}>
<Hydrate state={pageProps.dehydratedState}>
<Theme.Provider>
<IsOnMobile.Provider initialState={isMobile}>
<DocumentVersionControl.Provider initialState={false}>
<Component {...pageProps} />
</DocumentVersionControl.Provider>
</IsOnMobile.Provider>
</Theme.Provider>
</Hydrate>
</QueryClientProvider>
</Worker>
</>
);
}

View File

@ -47,7 +47,7 @@ export const Status = Node.create({
parseHTML: getDatasetAttribute('borderColor'),
},
text: {
default: '请设置状态内容',
default: '',
parseHTML: getDatasetAttribute('text'),
},
};

View File

@ -52,7 +52,7 @@ export const ExcalidrawBubbleMenu = ({ editor }) => {
<BubbleMenu
className={'bubble-menu'}
editor={editor}
pluginKey="flow-bubble-menu"
pluginKey="excalidraw-bubble-menu"
shouldShow={shouldShow}
tippyOptions={{ maxWidth: 'calc(100vw - 100px)' }}
>

View File

@ -17,7 +17,10 @@ export const Insert: React.FC<{ editor: Editor }> = ({ editor }) => {
const [visible, toggleVisible] = useToggle(false);
const renderedCommands = useMemo(
() => (recentUsed.length ? [{ title: '最近使用' }, ...recentUsed, ...COMMANDS] : COMMANDS),
() =>
(recentUsed.length ? [{ title: '最近使用' }, ...recentUsed, ...COMMANDS] : COMMANDS).filter((command) => {
return command.label === '表格' || command.label === '布局' ? 'custom' in command : true;
}),
[recentUsed]
);

View File

@ -8,7 +8,7 @@ export const Redo: React.FC<{ editor: Editor }> = ({ editor }) => {
const redo = useCallback(() => editor.chain().focus().redo().run(), [editor]);
return (
<Tooltip content="撤销">
<Tooltip content="重做">
<Button onClick={redo} icon={<IconRedo />} type="tertiary" theme="borderless" />
</Tooltip>
);

View File

@ -14,6 +14,7 @@ import { Image } from 'tiptap/core/extensions/image';
import { Katex } from 'tiptap/core/extensions/katex';
import { Link } from 'tiptap/core/extensions/link';
import { Mind } from 'tiptap/core/extensions/mind';
import { Status } from 'tiptap/core/extensions/status';
import { Table } from 'tiptap/core/extensions/table';
import { TableOfContents } from 'tiptap/core/extensions/table-of-contents';
import { Title } from 'tiptap/core/extensions/title';
@ -45,19 +46,19 @@ const OTHER_BUBBLE_MENU_TYPES = [
DocumentChildren.name,
Katex.name,
HorizontalRule.name,
Status.name,
];
export const Text = ({ editor }) => {
const shouldShow = useCallback(
() => !editor.state.selection.empty && OTHER_BUBBLE_MENU_TYPES.every((type) => !editor.isActive(type)),
[editor]
);
const shouldShow = useCallback(() => {
return !editor.state.selection.empty && OTHER_BUBBLE_MENU_TYPES.every((type) => !editor.isActive(type));
}, [editor]);
return (
<BubbleMenu
className={'bubble-menu'}
editor={editor}
pluginKey="code-block-bubble-menu"
pluginKey="text-bubble-menu"
shouldShow={shouldShow}
tippyOptions={{ maxWidth: 'calc(100vw - 100px)' }}
>

View File

@ -4,17 +4,19 @@ import { Tooltip } from 'components/tooltip';
import React, { useCallback } from 'react';
import { Editor } from 'tiptap/core';
import { Title } from 'tiptap/core/extensions/title';
import { Underline as UnderlineExtension } from 'tiptap/core/extensions/underline';
import { useActive } from 'tiptap/core/hooks/use-active';
export const Underline: React.FC<{ editor: Editor }> = ({ editor }) => {
const isTitleActive = useActive(editor, Title.name);
const isUnderlineActive = useActive(editor, UnderlineExtension.name);
const toggleUnderline = useCallback(() => editor.chain().focus().toggleUnderline().run(), [editor]);
return (
<Tooltip content="下划线">
<Button
theme={editor.isActive('underline') ? 'light' : 'borderless'}
theme={isUnderlineActive ? 'light' : 'borderless'}
type="tertiary"
icon={<IconUnderline />}
onClick={toggleUnderline}

View File

@ -73,12 +73,10 @@
border: 1px solid rgb(232 235 237);
border-color: var(--semi-color-fill-2);
> * {
margin-bottom: 0;
}
> p {
margin-top: 0;
:not(a) {
&:first-of-type {
margin-top: 0;
}
}
}

View File

@ -1,37 +1,16 @@
.playerWrap {
width: 100%;
height: 65vh;
:global {
.react-pdf__Document {
display: flex;
flex-direction: column;
align-items: center;
border-radius: 8px;
.rpv-default-layout__sidebar-header {
&:nth-child(n + 2) {
display: none;
}
}
.react-pdf__Page {
display: flex;
justify-content: center;
width: 100%;
height: 420px;
overflow: auto;
.rpv-open__input-wrapper {
display: none;
}
.react-pdf__Page canvas {
height: auto !important;
max-width: 100%;
}
.react-pdf__message {
padding: 20px;
color: white;
}
}
.paginationWrap {
display: flex;
margin-top: 1em;
text-align: center;
justify-content: center;
}
}

View File

@ -1,31 +1,20 @@
import { Pagination } from '@douyinfe/semi-ui';
import React, { useState } from 'react';
import { Document, Page, pdfjs } from 'react-pdf';
import { Viewer } from '@react-pdf-viewer/core';
import { defaultLayoutPlugin } from '@react-pdf-viewer/default-layout';
import zhCN from '@react-pdf-viewer/locales/lib/zh_CN.json';
import React from 'react';
import styles from './index.module.scss';
pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/legacy/build/pdf.worker.min.js`;
interface IProps {
url: string;
}
export const PDFPlayer: React.FC<IProps> = ({ url }) => {
const [total, setTotal] = useState(1);
const [pageNumber, setPageNumber] = useState(1);
function onDocumentLoadSuccess({ numPages }) {
setTotal(numPages);
}
const defaultLayoutPluginInstance = defaultLayoutPlugin();
return (
<div className={styles.playerWrap}>
<Document file={url} onLoadSuccess={onDocumentLoadSuccess}>
<Page pageNumber={pageNumber} />
</Document>
<div className={styles.paginationWrap}>
<Pagination total={total} pageSize={1} onChange={(page) => setPageNumber(page)} size="small"></Pagination>
</div>
<Viewer fileUrl={url} localization={zhCN} plugins={[defaultLayoutPluginInstance]} />
</div>
);
};

View File

@ -58,13 +58,15 @@ export const StatusWrapper = ({ editor, node, updateAttributes }) => {
useEffect(() => {
if (defaultShowPicker && user && user.id === createUser) {
toggleVisible(true);
setTimeout(() => ref.current?.focus(), 100);
setTimeout(() => ref.current?.focus(), 200);
}
}, [defaultShowPicker, toggleVisible, createUser, user]);
useEffect(() => {
if (visible) {
ref.current?.focus();
setTimeout(() => {
ref.current?.focus();
}, 200);
} else {
updateAttributes({ text: currentText });
}

View File

@ -165,7 +165,11 @@ export const EditorInstance = forwardRef((props: IProps, ref) => {
{(!online || status === 'disconnected') && (
<Banner
type="warning"
description="我们已与您断开连接,您可以继续编辑文档。一旦重新连接,我们会自动重新提交数据。"
description={
editable
? '我们已与您断开连接,您可以继续编辑文档。一旦重新连接,我们会自动重新提交数据。'
: '我们已与您断开连接,您可以继续阅读文档。一旦重新连接,我们会自动重新刷新数据。'
}
/>
)}

View File

@ -38,6 +38,7 @@ import { Subscript } from 'tiptap/core/menus/subscript';
import { Superscript } from 'tiptap/core/menus/superscript';
import { Table } from 'tiptap/core/menus/table';
import { TaskList } from 'tiptap/core/menus/task-list';
import { Text } from 'tiptap/core/menus/text';
import { TextColor } from 'tiptap/core/menus/text-color';
import { Underline } from 'tiptap/core/menus/underline';
import { Undo } from 'tiptap/core/menus/undo';
@ -111,6 +112,8 @@ const _MenuBar: React.FC<{ editor: Editor }> = ({ editor }) => {
<Mind editor={editor} />
<Excalidraw editor={editor} />
<Columns editor={editor} />
<Text editor={editor} />
</Space>
</div>
);

View File

@ -46,6 +46,9 @@ importers:
'@douyinfe/semi-ui': ^2.3.1
'@excalidraw/excalidraw': ^0.12.0
'@hocuspocus/provider': ^1.0.0-alpha.29
'@react-pdf-viewer/core': 3.7.0
'@react-pdf-viewer/default-layout': 3.7.0
'@react-pdf-viewer/locales': ^1.0.0
'@think/config': workspace:^1.0.0
'@think/constants': workspace:^1.0.0
'@think/domains': workspace:^1.0.0
@ -115,6 +118,7 @@ importers:
katex: ^0.15.2
kity: ^2.0.4
lib0: ^0.2.47
lodash.pick: ^4.4.0
lowlight: ^2.5.0
markdown-it: ^12.3.2
markdown-it-anchor: ^8.4.1
@ -124,6 +128,7 @@ importers:
markdown-it-sup: ^1.0.0
next: 12.1.0
next-pwa: ^5.5.2
pdfjs-dist: 2.15.349
prosemirror-codemark: ^0.3.6
prosemirror-commands: ^1.3.0
prosemirror-markdown: ^1.7.0
@ -139,7 +144,6 @@ importers:
react-full-screen: ^1.1.1
react-helmet: ^6.1.0
react-lazy-load-image-component: ^1.5.4
react-pdf: ^5.7.2
react-query: ^3.39.0
react-split-pane: ^0.1.92
react-visibility-sensor: ^5.1.1
@ -160,6 +164,9 @@ importers:
'@douyinfe/semi-ui': 2.3.1_wnecvl2xit6hykxlpfa3byfhr4
'@excalidraw/excalidraw': 0.12.0_sfoxds7t5ydpegc3knd667wn6m
'@hocuspocus/provider': 1.0.0-alpha.29
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/default-layout': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/locales': 1.0.0
'@think/config': link:../config
'@think/constants': link:../constants
'@think/domains': link:../domains
@ -216,6 +223,7 @@ importers:
katex: 0.15.2
kity: 2.0.4
lib0: 0.2.47
lodash.pick: 4.4.0
lowlight: 2.5.0
markdown-it: 12.3.2
markdown-it-anchor: 8.4.1_markdown-it@12.3.2
@ -225,6 +233,7 @@ importers:
markdown-it-sup: 1.0.0
next: 12.1.0_sfoxds7t5ydpegc3knd667wn6m
next-pwa: 5.5.2_next@12.1.0
pdfjs-dist: 2.15.349
prosemirror-codemark: 0.3.6_jtznnwvb5x34yeznhz5xjpvpju
prosemirror-commands: 1.3.0
prosemirror-markdown: 1.7.0
@ -240,7 +249,6 @@ importers:
react-full-screen: 1.1.1_react@17.0.2
react-helmet: 6.1.0_react@17.0.2
react-lazy-load-image-component: 1.5.4_sfoxds7t5ydpegc3knd667wn6m
react-pdf: 5.7.2_sfoxds7t5ydpegc3knd667wn6m
react-query: 3.39.0_sfoxds7t5ydpegc3knd667wn6m
react-split-pane: 0.1.92_sfoxds7t5ydpegc3knd667wn6m
react-visibility-sensor: 5.1.1_sfoxds7t5ydpegc3knd667wn6m
@ -2691,6 +2699,259 @@ packages:
resolution: {integrity: sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==}
dev: false
/@react-pdf-viewer/attachment/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-qNzhOnyMfoRA+8uJOgxSVvix+yQKzDCEur7jLVQbqnvyu94k6hZI9h+JVC5TAb5SQ7q/AdVT7Upc6ZH9ayhUQQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/bookmark/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-pgFzlh8EzMICb7McIi0GiWwuXsc/ooSc4KTbb0NZaMHpT0LS36jYKgKBNIv9xgzhRu8Qbs0oJmN9LRbzzAoAJw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/core/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-mMuG+bBNG+XdhK5QfdiC7h0wkXlleKCkGUmz53QIw/56ppmwTTqvK5u5JeAo/Tr7vS7wHpAgp26qCxL6NUHa4Q==}
peerDependencies:
pdfjs-dist: ^2.6.347
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
pdfjs-dist: 2.15.349
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
dev: false
/@react-pdf-viewer/default-layout/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-JNXF5idSf5owcWgRXTLPBGHa1jHjUfDZjvUIK8HQACBWYVf8HqX1hoA8OwfcmSVdvyikfCohTg2nXwBVY7mDEw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/attachment': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/bookmark': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/thumbnail': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/toolbar': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/full-screen/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-hBtdAIAkm3I8rhjWAivWAonect1tIdiBOY4ufXaTXapnLiTR/0qh+e5xNF7d9/viLfMeTl8aEpLkzhU5B4GWrw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/get-file/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-mB94ryiiSud2moG0IFItzblgsB3H4VyfovHSVaqgSBabWjCsJSnk53Y81wuxtGY2goTfNcei93rso02ymj9R/w==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/locales/1.0.0:
resolution: {integrity: sha512-Q4ZGs4gQKFUk85hiDdPIEb4jHPTUdkPj9KZCZWpQZdKC37mkh/4EBZqMEUaYtm9lGuIEK3dE7oLAz/vxEMgvzg==}
dev: false
/@react-pdf-viewer/open/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-hB4Y85eWTAR6I3jjy1klC3u1kq95shzcMKt33N2R+yrzxpcp56GIJbavVY5C4hEFMwpmzKaUJ0CwV9nb75b1gw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/page-navigation/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-dtq6qCyfaCBXycBf+71PmK68OuFuTa4irbTiWD5+NY2LbWZW4+J5Talo+RuMr8fFPGPifi/Le0rdi7WPZLWNzA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/print/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-C+cKpjNtewahVLX/boIUsGD09/MZ27d6j66DRlef/C51zViFNwyxVaKfyspu79zZVWCeaShp5o4w/FCvb1rzvQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/properties/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-ZxvZ0DZy4mvxo36vDhNVBlQ1NaVuNXKNa1QsdwMg9kNXM1mKNmXlEzyQidx1R2CDex9N8nqLrNgHisXdtJySUA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/rotate/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-AMCy4hJLuHTbtEhgIJKpJn/qF8Nq+0xKPB0JpAQPNMzi3rG4GMBdPM8EtfyiyN/7K/cfw+WPVCiGKYSMKwWk0A==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/scroll-mode/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-GkOxElu9aN2o7XX9YhviFTGnhuHB391uqf4zYWT845Z4iBj+ZlchmorFMg1HKR0ym59kzKzkhj9T+R9BAGQT0A==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/search/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-5Sbeok3DL8BV8v/pl80kQQi6PqUJMobrAp6gcDKkJM1Y5HRH0B7/tzhY9ztAv4O+2RcqA4ODvKQZNeLnooxrYA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/selection-mode/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-lM8HjFHecU53yqVtFX7ZORYzoR9aGwxZj1lQDaX6CwpYlM4IdOg11nfkgg0Gxyw8mrF3uCko7USEfSy38IbBog==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/theme/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-/ftM+8PeD1yyT8IvPIZDjCqrpHwO1LS8OvQzRpHK2gTUFqPMFCfVwb6ukaav/aTMav/1Un5TVK/vp50RsAVgYA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/thumbnail/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-+NEoBRQI7h64Gm5vyRnJfYYCWqDaPcRd6ihQowauLjdJnbAWpKy1PYs/YGxzICCMo3p8qWIZJbyfS2XaA+q+SQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/toolbar/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-Gic7tSB68/ikTCKU2Rd7HuM65N6J9k708VGgQ1mj5dCpJvi+1fCTfuP7huF/T5cjfzkCTHCWDLCU5GkSKE2OSQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/full-screen': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/get-file': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/open': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/page-navigation': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/print': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/properties': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/rotate': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/scroll-mode': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/search': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/selection-mode': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/theme': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
'@react-pdf-viewer/zoom': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@react-pdf-viewer/zoom/3.7.0_2vj3zozgbzfehrv2inzxxqn2wq:
resolution: {integrity: sha512-EP95GvUDliJxvE5HcNMZAaqeTqs51SBl8ZDmyOEjkP3P67xMenKOEPXFyVhrqXnN0GMNv0TO2r8AVIOznwGgEQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@react-pdf-viewer/core': 3.7.0_2vj3zozgbzfehrv2inzxxqn2wq
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
transitivePeerDependencies:
- pdfjs-dist
dev: false
/@rollup/plugin-babel/5.3.1_aqce4bebl2i3kiqaqbpijfme2q:
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
@ -5418,6 +5679,10 @@ packages:
domelementtype: 1.3.1
dev: false
/dommatrix/1.0.3:
resolution: {integrity: sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==}
dev: false
/dompurify/2.3.5:
resolution: {integrity: sha512-kD+f8qEaa42+mjdOpKeztu9Mfx5bv9gVLO6K9jRx4uGvh6Wv06Srn4jr1wPNY2OOUGGSKHNFN+A8MA3v0E0QAQ==}
dev: false
@ -6185,16 +6450,6 @@ packages:
flat-cache: 3.0.4
dev: true
/file-loader/6.2.0:
resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
engines: {node: '>= 10.13.0'}
peerDependencies:
webpack: ^4.0.0 || ^5.0.0
dependencies:
loader-utils: 2.0.0
schema-utils: 3.1.1
dev: false
/file-uri-to-path/2.0.0:
resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==}
engines: {node: '>= 6'}
@ -8245,6 +8500,10 @@ packages:
resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=}
dev: false
/lodash.pick/4.4.0:
resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
dev: false
/lodash.sortby/4.7.0:
resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=}
dev: false
@ -8336,10 +8595,6 @@ packages:
dependencies:
sourcemap-codec: 1.4.8
/make-cancellable-promise/1.1.0:
resolution: {integrity: sha512-X5Opjm2xcZsOLuJ+Bnhb4t5yfu4ehlA3OKEYLtqUchgVzL/QaqW373ZUVxVHKwvJ38cmYuR4rAHD2yUvAIkTPA==}
dev: false
/make-dir/3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
@ -8350,10 +8605,6 @@ packages:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
dev: true
/make-event-props/1.3.0:
resolution: {integrity: sha512-oWiDZMcVB1/A487251hEWza1xzgCzl6MXxe9aF24l5Bt9N9UEbqTqKumEfuuLhmlhRZYnc+suVvW4vUs8bwO7Q==}
dev: false
/makeerror/1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
dependencies:
@ -8454,17 +8705,9 @@ packages:
yargs-parser: 20.2.9
dev: true
/merge-class-names/1.4.2:
resolution: {integrity: sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw==}
dev: false
/merge-descriptors/1.0.1:
resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=}
/merge-refs/1.0.0:
resolution: {integrity: sha512-WZ4S5wqD9FCR9hxkLgvcHJCBxzXzy3VVE6p8W2OzxRzB+hLRlcadGE2bW9xp2KSzk10rvp4y+pwwKO6JQVguMg==}
dev: false
/merge-stream/2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@ -9189,13 +9432,16 @@ packages:
resolution: {integrity: sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=}
dev: false
/pdfjs-dist/2.12.313:
resolution: {integrity: sha512-1x6iXO4Qnv6Eb+YFdN5JdUzt4pAkxSp3aLAYPX93eQCyg/m7QFzXVWJHJVtoW48CI8HCXju4dSkhQZwoheL5mA==}
/pdfjs-dist/2.15.349:
resolution: {integrity: sha512-EeCfqj6xi4/aegKNS7Bs+TCg3Y5gmKmG0s/5xXI0PqWW66x+Nm7iFXBpVcup7HnR8sNDm+5NESfFr8T6DeWp9Q==}
peerDependencies:
worker-loader: ^3.0.8
peerDependenciesMeta:
worker-loader:
optional: true
dependencies:
dommatrix: 1.0.3
web-streams-polyfill: 3.2.1
dev: false
/performance-now/2.1.0:
@ -9804,29 +10050,6 @@ packages:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
dev: false
/react-pdf/5.7.2_sfoxds7t5ydpegc3knd667wn6m:
resolution: {integrity: sha512-hdDwvf007V0i2rPCqQVS1fa70CXut17SN3laJYlRHzuqcu8sLLjEoeXihty6c0Ev5g1mw31b8OT8EwRw1s8C4g==}
peerDependencies:
react: ^16.3.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.3.0 || ^17.0.0 || ^18.0.0
dependencies:
'@babel/runtime': 7.16.7
file-loader: 6.2.0
make-cancellable-promise: 1.1.0
make-event-props: 1.3.0
merge-class-names: 1.4.2
merge-refs: 1.0.0
pdfjs-dist: 2.12.313
prop-types: 15.8.1
react: 17.0.2
react-dom: 17.0.2_react@17.0.2
tiny-invariant: 1.2.0
tiny-warning: 1.0.3
transitivePeerDependencies:
- webpack
- worker-loader
dev: false
/react-query/3.39.0_sfoxds7t5ydpegc3knd667wn6m:
resolution: {integrity: sha512-Od0IkSuS79WJOhzWBx/ys0x13+7wFqgnn64vBqqAAnZ9whocVhl/y1padD5uuZ6EIkXbFbInax0qvY7zGM0thA==}
peerDependencies:
@ -11227,14 +11450,6 @@ packages:
resolution: {integrity: sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==}
dev: false
/tiny-invariant/1.2.0:
resolution: {integrity: sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==}
dev: false
/tiny-warning/1.0.3:
resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
dev: false
/tippy.js/6.3.7:
resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
dependencies:
@ -11846,6 +12061,11 @@ packages:
defaults: 1.0.3
dev: true
/web-streams-polyfill/3.2.1:
resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
engines: {node: '>= 8'}
dev: false
/webidl-conversions/3.0.1:
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}