From 2dbdf3f3eef86a8a1e3916c8ed82e40dcd27b27b Mon Sep 17 00:00:00 2001 From: fantasticit Date: Sun, 27 Mar 2022 15:43:06 +0800 Subject: [PATCH] refactor: format the code --- .stylelintrc.js | 110 ++++ package.json | 11 +- .../client/src/components/banner/index.tsx | 4 +- .../src/components/data-render/index.tsx | 2 +- .../src/components/document-creator/index.tsx | 4 +- .../src/components/document/actions/index.tsx | 2 +- .../document/card/index.module.scss | 11 +- .../document/collaboration/index.tsx | 2 +- .../comments/comments/Item/index.module.scss | 13 +- .../document/comments/index.module.scss | 2 +- .../components/document/comments/index.tsx | 2 +- .../src/components/document/editor/editor.tsx | 2 +- .../document/editor/index.module.scss | 14 +- .../src/components/document/editor/index.tsx | 4 +- .../src/components/document/reader/editor.tsx | 25 +- .../document/reader/index.module.scss | 2 +- .../src/components/document/reader/index.tsx | 4 +- .../document/reader/public/content.tsx | 8 - .../document/reader/public/index.module.scss | 4 +- .../document/reader/public/index.tsx | 6 +- .../src/components/document/share/index.tsx | 2 +- .../src/components/document/star/index.tsx | 4 +- .../src/components/document/style/index.tsx | 2 +- .../components/grid-select/grid-select.tsx | 8 - .../src/components/icons/IconCodeBlock.tsx | 2 +- .../components/icons/IconHorizontalRule.tsx | 2 +- .../client/src/components/icons/IconList.tsx | 4 +- .../client/src/components/icons/IconMind.tsx | 2 +- .../src/components/icons/IconOrderedList.tsx | 2 +- .../client/src/components/icons/IconQuote.tsx | 6 +- .../components/icons/IconSearchReplace.tsx | 4 +- .../src/components/icons/IconStatus.tsx | 4 +- .../client/src/components/icons/IconSub.tsx | 2 +- .../client/src/components/icons/IconSup.tsx | 2 +- .../client/src/components/icons/IconTable.tsx | 2 +- .../client/src/components/icons/IconTask.tsx | 6 +- .../src/components/locale-time/index.tsx | 2 +- .../src/components/logo/index.module.scss | 2 +- .../src/components/message/index.module.scss | 11 +- .../client/src/components/message/index.tsx | 2 +- .../components/resizeable/style.module.scss | 12 +- .../src/components/search/index.module.scss | 13 +- .../client/src/components/search/index.tsx | 4 +- .../template/card/index.module.scss | 69 +- .../src/components/template/card/index.tsx | 2 +- .../src/components/template/editor/editor.tsx | 4 +- .../template/editor/index.module.scss | 29 +- .../src/components/template/reader/editor.tsx | 2 +- .../template/reader/index.module.scss | 1 - .../client/src/components/theme/index.tsx | 4 +- .../menus/colorPicker/style.module.scss | 10 +- .../tiptap/menus/emoji/index.module.scss | 14 +- .../tiptap/menus/search/index.module.scss | 0 .../tiptap/wrappers/attachment/index.tsx | 2 +- .../tiptap/wrappers/banner/index.module.scss | 6 +- .../wrappers/codeBlock/index.module.scss | 2 +- .../documentChildren/index.module.scss | 36 +- .../documentReference/index.module.scss | 44 +- .../wrappers/emojiList/index.module.scss | 32 +- .../tiptap/wrappers/iframe/index.module.scss | 20 +- .../tiptap/wrappers/image/index.module.scss | 6 +- .../tiptap/wrappers/image/index.tsx | 2 +- .../wrappers/menuList/index.module.scss | 32 +- .../tiptap/wrappers/mind/index.module.scss | 99 +-- .../tiptap/wrappers/status/index.module.scss | 2 +- .../wrappers/taskItem/index.module.scss | 2 +- .../client/src/components/tooltip/index.tsx | 4 +- .../client/src/components/upload/index.tsx | 2 +- packages/client/src/components/user/index.tsx | 2 +- .../src/components/wiki-creator/index.tsx | 2 +- .../wiki-or-document-creator/index.tsx | 4 +- .../components/wiki/card/index.module.scss | 11 +- .../wiki/pin-card/index.module.scss | 11 +- .../wiki/setting/base/index.module.scss | 6 +- .../wiki/setting/documents/index.module.scss | 45 +- .../components/wiki/setting/users/index.tsx | 2 +- .../components/wiki/tocs/index.module.scss | 132 ++-- .../client/src/components/wiki/tocs/index.tsx | 2 +- .../wiki/tocs/manager/index.module.scss | 2 +- .../client/src/components/wiki/tocs/tree.tsx | 2 +- packages/client/src/data/document.ts | 2 +- ...AsyncLoading.tsx => use-async-loading.tsx} | 0 ...DocumentStyle.ts => use-document-style.ts} | 0 ...DragableWidth.ts => use-dragable-width.ts} | 2 +- .../src/hooks/{useMount.tsx => use-mount.tsx} | 0 .../src/hooks/{useQuery.tsx => use-query.tsx} | 0 .../src/hooks/{useTheme.tsx => use-theme.tsx} | 0 .../hooks/{useToggle.tsx => use-toggle.tsx} | 0 ...{useWindowSize.tsx => use-window-size.tsx} | 0 .../src/hooks/useIsomorphicLayoutEffect.tsx | 5 - .../layouts/double-column/index.module.scss | 7 +- .../src/layouts/double-column/index.tsx | 2 +- .../public-double-column/index.module.scss | 4 +- .../layouts/public-double-column/index.tsx | 2 +- .../src/layouts/router-header/Recent.tsx | 2 +- .../client/src/layouts/router-header/Wiki.tsx | 2 +- .../layouts/router-header/index.module.scss | 6 +- .../src/layouts/router-header/index.tsx | 132 ++-- packages/client/src/pages/index.module.scss | 6 +- packages/client/src/pages/index.tsx | 2 +- .../client/src/pages/login/index.module.scss | 10 +- .../src/pages/register/index.module.scss | 10 +- packages/client/src/pages/register/index.tsx | 2 +- .../document/[documentId]/index.module.scss | 4 +- .../document/[documentId]/index.module.scss | 4 +- .../client/src/pages/star/index.module.scss | 6 +- .../src/pages/template/index.module.scss | 8 +- .../wiki/[wikiId]/documents/index.module.scss | 11 +- .../src/pages/wiki/[wikiId]/index.module.scss | 14 +- .../client/src/pages/wiki/index.module.scss | 6 +- packages/client/src/styles/editor/base.scss | 37 +- packages/client/src/styles/editor/code.scss | 52 +- .../src/styles/editor/collaboration.scss | 24 +- packages/client/src/styles/editor/color.scss | 14 +- .../client/src/styles/editor/heading.scss | 12 +- packages/client/src/styles/editor/katex.scss | 401 ++++++++--- packages/client/src/styles/editor/list.scss | 15 +- packages/client/src/styles/editor/menu.scss | 14 +- packages/client/src/styles/editor/mind.scss | 174 +++-- .../client/src/styles/editor/placeholder.scss | 4 +- packages/client/src/styles/editor/search.scss | 4 +- .../client/src/styles/editor/selection.scss | 48 +- packages/client/src/styles/editor/table.scss | 44 +- packages/client/src/styles/editor/title.scss | 6 +- packages/client/src/styles/globals.scss | 25 +- packages/client/src/styles/reset.scss | 68 +- packages/client/src/styles/var.scss | 11 +- pnpm-lock.yaml | 621 +++++++++++++++++- 128 files changed, 1878 insertions(+), 924 deletions(-) create mode 100644 .stylelintrc.js delete mode 100644 packages/client/src/components/tiptap/menus/search/index.module.scss rename packages/client/src/hooks/{useAsyncLoading.tsx => use-async-loading.tsx} (100%) rename packages/client/src/hooks/{useDocumentStyle.ts => use-document-style.ts} (100%) rename packages/client/src/hooks/{useDragableWidth.ts => use-dragable-width.ts} (95%) rename packages/client/src/hooks/{useMount.tsx => use-mount.tsx} (100%) rename packages/client/src/hooks/{useQuery.tsx => use-query.tsx} (100%) rename packages/client/src/hooks/{useTheme.tsx => use-theme.tsx} (100%) rename packages/client/src/hooks/{useToggle.tsx => use-toggle.tsx} (100%) rename packages/client/src/hooks/{useWindowSize.tsx => use-window-size.tsx} (100%) delete mode 100644 packages/client/src/hooks/useIsomorphicLayoutEffect.tsx diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 00000000..0749dcec --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,110 @@ +module.exports = { + processors: [], + plugins: ['stylelint-order'], + extends: ['stylelint-config-standard', 'stylelint-config-css-modules'], + rules: { + 'selector-class-pattern': [ + // 命名规范 - + '(.)+$', + { + message: 'Expected class selector to be kebab-case', + }, + ], + 'string-quotes': 'single', // 单引号 + 'at-rule-empty-line-before': null, + 'at-rule-no-unknown': null, + 'at-rule-name-case': 'lower', // 指定@规则名的大小写 + 'length-zero-no-unit': true, // 禁止零长度的单位(可自动修复) + 'shorthand-property-no-redundant-values': true, // 简写属性 + 'number-leading-zero': 'never', // 小数不带0 + 'declaration-block-no-duplicate-properties': true, // 禁止声明快重复属性 + 'no-descending-specificity': true, // 禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器。 + 'selector-max-id': 3, // 限制一个选择器中 ID 选择器的数量 + 'max-nesting-depth': 5, + 'indentation': [ + 2, + { + // 指定缩进 warning 提醒 + severity: 'warning', + }, + ], + 'order/properties-order': [ + // 规则顺序 + 'position', + 'top', + 'right', + 'bottom', + 'left', + 'z-index', + 'display', + 'float', + 'width', + 'height', + 'max-width', + 'max-height', + 'min-width', + 'min-height', + 'padding', + 'padding-top', + 'padding-right', + 'padding-bottom', + 'padding-left', + 'margin', + 'margin-top', + 'margin-right', + 'margin-bottom', + 'margin-left', + 'margin-collapse', + 'margin-top-collapse', + 'margin-right-collapse', + 'margin-bottom-collapse', + 'margin-left-collapse', + 'overflow', + 'overflow-x', + 'overflow-y', + 'clip', + 'clear', + 'font', + 'font-family', + 'font-size', + 'font-smoothing', + 'osx-font-smoothing', + 'font-style', + 'font-weight', + 'line-height', + 'letter-spacing', + 'word-spacing', + 'color', + 'text-align', + 'text-decoration', + 'text-indent', + 'text-overflow', + 'text-rendering', + 'text-size-adjust', + 'text-shadow', + 'text-transform', + 'word-break', + 'word-wrap', + 'white-space', + 'vertical-align', + 'list-style', + 'list-style-type', + 'list-style-position', + 'list-style-image', + 'pointer-events', + 'cursor', + 'background', + 'background-color', + 'border', + 'border-radius', + 'content', + 'outline', + 'outline-offset', + 'opacity', + 'filter', + 'visibility', + 'size', + 'transform', + ], + }, +}; diff --git a/package.json b/package.json index ff8c468c..1e91617a 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ "pm2": "pnpm run pm2:server && pnpm run pm2:client", "pm2:server": "pnpm run --dir packages/server pm2", "pm2:client": "pnpm run --dir packages/client pm2", - "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"" + "format": "concurrently \"pnpm:format:*\"", + "format:ts": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"", + "format:css": "stylelint --fix --formatter verbose --allow-empty-input \"packages/**/*.{css,scss,sass}\"" }, "dependencies": { "concurrently": "^7.0.0", @@ -44,6 +46,13 @@ "eslint-plugin-react": "^7.29.3", "eslint-plugin-react-hooks": "^4.3.0", "prettier": "^2.3.2", + "stylelint": "^14.6.1", + "stylelint-config-css-modules": "^4.1.0", + "stylelint-config-prettier": "^9.0.3", + "stylelint-config-standard": "^25.0.0", + "stylelint-config-standard-scss": "^3.0.0", + "stylelint-order": "^5.0.0", + "stylelint-prettier": "^2.0.0", "typescript": "^4.5.5" } } \ No newline at end of file diff --git a/packages/client/src/components/banner/index.tsx b/packages/client/src/components/banner/index.tsx index 88dc0637..bf06b947 100644 --- a/packages/client/src/components/banner/index.tsx +++ b/packages/client/src/components/banner/index.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useRef } from 'react'; import { Banner as SemiBanner } from '@douyinfe/semi-ui'; import { BannerProps } from '@douyinfe/semi-ui/banner'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; interface IProps extends BannerProps { duration?: number; @@ -26,5 +26,5 @@ export const Banner: React.FC = ({ type, description, duration }) => { if (!visible) return null; - return ; + return ; }; diff --git a/packages/client/src/components/data-render/index.tsx b/packages/client/src/components/data-render/index.tsx index 2b16c67a..375b0b9a 100644 --- a/packages/client/src/components/data-render/index.tsx +++ b/packages/client/src/components/data-render/index.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Empty, Spin, Typography } from '@douyinfe/semi-ui'; +import { Spin, Typography } from '@douyinfe/semi-ui'; type RenderProps = React.ReactNode | (() => React.ReactNode); diff --git a/packages/client/src/components/document-creator/index.tsx b/packages/client/src/components/document-creator/index.tsx index 918d57d9..7138487e 100644 --- a/packages/client/src/components/document-creator/index.tsx +++ b/packages/client/src/components/document-creator/index.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Button } from '@douyinfe/semi-ui'; -import { useToggle } from 'hooks/useToggle'; -import { useQuery } from 'hooks/useQuery'; +import { useToggle } from 'hooks/use-toggle'; +import { useQuery } from 'hooks/use-query'; import { DocumentCreator as DocumenCreatorForm } from 'components/document/create'; interface IProps { diff --git a/packages/client/src/components/document/actions/index.tsx b/packages/client/src/components/document/actions/index.tsx index c7ee1a8a..82a1443a 100644 --- a/packages/client/src/components/document/actions/index.tsx +++ b/packages/client/src/components/document/actions/index.tsx @@ -5,7 +5,7 @@ import { DocumentLinkCopyer } from 'components/document/link'; import { DocumentDeletor } from 'components/document/delete'; import { DocumentCreator } from 'components/document/create'; import { DocumentStar } from 'components/document/star'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; interface IProps { wikiId: string; diff --git a/packages/client/src/components/document/card/index.module.scss b/packages/client/src/components/document/card/index.module.scss index f3f24c08..69d25f4a 100644 --- a/packages/client/src/components/document/card/index.module.scss +++ b/packages/client/src/components/document/card/index.module.scss @@ -2,23 +2,22 @@ width: 100%; > a { - margin: 8px 0; display: flex; - flex-direction: column; width: 100%; max-height: 260px; padding: 12px 16px 16px; - border-radius: 5px; - border: 1px solid var(--semi-color-border); + margin: 8px 0; cursor: pointer; + border: 1px solid var(--semi-color-border); + border-radius: 5px; + flex-direction: column; > header { display: flex; justify-content: space-between; align-items: center; - - color: var(--semi-color-primary); margin-bottom: 12px; + color: var(--semi-color-primary); .rightWrap { opacity: 0; diff --git a/packages/client/src/components/document/collaboration/index.tsx b/packages/client/src/components/document/collaboration/index.tsx index 911a79a4..71d768b8 100644 --- a/packages/client/src/components/document/collaboration/index.tsx +++ b/packages/client/src/components/document/collaboration/index.tsx @@ -18,7 +18,7 @@ import { import { IconUserAdd, IconDelete } from '@douyinfe/semi-icons'; import { useUser } from 'data/user'; import { EventEmitter } from 'helpers/event-emitter'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { useCollaborationDocument } from 'data/document'; import { DataRender } from 'components/data-render'; import { DocumentLinkCopyer } from 'components/document/link'; diff --git a/packages/client/src/components/document/comments/comments/Item/index.module.scss b/packages/client/src/components/document/comments/comments/Item/index.module.scss index c59ce273..f424248f 100644 --- a/packages/client/src/components/document/comments/comments/Item/index.module.scss +++ b/packages/client/src/components/document/comments/comments/Item/index.module.scss @@ -1,6 +1,6 @@ .wrap { display: flex; - padding: 9px 0px 9px 0; + padding: 9px 0; + .wrap { margin-top: 16px; @@ -17,20 +17,9 @@ } > footer { - // height: 0; - // transition: all ease-in-out 0.3s; - span { cursor: pointer; } } } - - // &:hover { - // .rightWrap { - // > footer { - // height: 40px; - // } - // } - // } } diff --git a/packages/client/src/components/document/comments/index.module.scss b/packages/client/src/components/document/comments/index.module.scss index 104267fb..b01ca466 100644 --- a/packages/client/src/components/document/comments/index.module.scss +++ b/packages/client/src/components/document/comments/index.module.scss @@ -10,8 +10,8 @@ } .editorOuterWrap { - padding-top: 24px; display: flex; + padding-top: 24px; .rightWrap { flex: 1; diff --git a/packages/client/src/components/document/comments/index.tsx b/packages/client/src/components/document/comments/index.tsx index 8c5bb197..2514ac53 100644 --- a/packages/client/src/components/document/comments/index.tsx +++ b/packages/client/src/components/document/comments/index.tsx @@ -1,7 +1,7 @@ import React, { useRef, useState } from 'react'; import { useEditor, EditorContent } from '@tiptap/react'; import { Avatar, Button, Space, Typography, Banner, Pagination } from '@douyinfe/semi-ui'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { DEFAULT_EXTENSION, Document, History, CommentMenuBar } from 'components/tiptap'; import { DataRender } from 'components/data-render'; import { useUser } from 'data/user'; diff --git a/packages/client/src/components/document/editor/editor.tsx b/packages/client/src/components/document/editor/editor.tsx index 3afe8020..ce1dbbba 100644 --- a/packages/client/src/components/document/editor/editor.tsx +++ b/packages/client/src/components/document/editor/editor.tsx @@ -3,7 +3,7 @@ import cls from 'classnames'; import { useEditor, EditorContent } from '@tiptap/react'; import { BackTop } from '@douyinfe/semi-ui'; import { ILoginUser, IAuthority } from '@think/domains'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { MenuBar, DEFAULT_EXTENSION, diff --git a/packages/client/src/components/document/editor/index.module.scss b/packages/client/src/components/document/editor/index.module.scss index 0ba4953b..bd89c012 100644 --- a/packages/client/src/components/document/editor/index.module.scss +++ b/packages/client/src/components/document/editor/index.module.scss @@ -1,14 +1,14 @@ .wrap { - height: 100%; - overflow: hidden; display: flex; flex-direction: column; + height: 100%; + overflow: hidden; > header { position: relative; z-index: 110; - background-color: var(--semi-color-nav-bg); height: 60px; + background-color: var(--semi-color-nav-bg); user-select: none; > div { @@ -18,27 +18,27 @@ > main { height: calc(100% - 60px); - flex: 1; overflow: hidden; background-color: var(--semi-color-nav-bg); + flex: 1; } } .editorWrap { - height: 100%; display: flex; flex-direction: column; + height: 100%; overflow: hidden; > header { position: relative; z-index: 110; + display: flex; height: 50px; padding: 0 24px; - display: flex; - align-items: center; overflow: hidden; background-color: var(--semi-color-nav-bg); + align-items: center; border-bottom: 1px solid var(--semi-color-border); user-select: none; diff --git a/packages/client/src/components/document/editor/index.tsx b/packages/client/src/components/document/editor/index.tsx index dac5fa71..d824f95c 100644 --- a/packages/client/src/components/document/editor/index.tsx +++ b/packages/client/src/components/document/editor/index.tsx @@ -4,7 +4,7 @@ import { Nav, Skeleton, Typography, Space, Button, Tooltip, Spin, Popover } from import { IconChevronLeft, IconArticle } from '@douyinfe/semi-icons'; import { useUser } from 'data/user'; import { useDocumentDetail } from 'data/document'; -import { useWindowSize } from 'hooks/useWindowSize'; +import { useWindowSize } from 'hooks/use-window-size'; import { Seo } from 'components/seo'; import { Theme } from 'components/theme'; import { DataRender } from 'components/data-render'; @@ -12,7 +12,7 @@ import { DocumentShare } from 'components/document/share'; import { DocumentStar } from 'components/document/star'; import { DocumentCollaboration } from 'components/document/collaboration'; import { DocumentStyle } from 'components/document/style'; -import { useDocumentStyle } from 'hooks/useDocumentStyle'; +import { useDocumentStyle } from 'hooks/use-document-style'; import { EventEmitter } from 'helpers/event-emitter'; import { Editor } from './editor'; import styles from './index.module.scss'; diff --git a/packages/client/src/components/document/reader/editor.tsx b/packages/client/src/components/document/reader/editor.tsx index 35c25f82..6fd6b836 100644 --- a/packages/client/src/components/document/reader/editor.tsx +++ b/packages/client/src/components/document/reader/editor.tsx @@ -2,7 +2,7 @@ import React, { useMemo, useEffect, useRef } from 'react'; import { useEditor, EditorContent } from '@tiptap/react'; import { Layout } from '@douyinfe/semi-ui'; import { IDocument, ILoginUser } from '@think/domains'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { DEFAULT_EXTENSION, DocumentWithTitle, @@ -28,7 +28,6 @@ interface IProps { export const Editor: React.FC = ({ user, documentId, document }) => { if (!user) return null; - const $ref = useRef(); const provider = useMemo(() => { return getProvider({ targetId: documentId, @@ -70,18 +69,16 @@ export const Editor: React.FC = ({ user, documentId, document }) => { error={null} normalContent={() => { return ( - <> - -
- - -
- window.document.querySelector('#js-reader-container .ProseMirror .title')} - /> -
- + +
+ + +
+ window.document.querySelector('#js-reader-container .ProseMirror .title')} + /> +
); }} /> diff --git a/packages/client/src/components/document/reader/index.module.scss b/packages/client/src/components/document/reader/index.module.scss index 26cf71bb..eb24f305 100644 --- a/packages/client/src/components/document/reader/index.module.scss +++ b/packages/client/src/components/document/reader/index.module.scss @@ -1,6 +1,6 @@ .wrap { - margin-top: -16px; height: 100%; + margin-top: -16px; .headerWrap { position: sticky; diff --git a/packages/client/src/components/document/reader/index.tsx b/packages/client/src/components/document/reader/index.tsx index d97f58da..bb1df2a7 100644 --- a/packages/client/src/components/document/reader/index.tsx +++ b/packages/client/src/components/document/reader/index.tsx @@ -10,8 +10,8 @@ import { DocumentStar } from 'components/document/star'; import { DocumentCollaboration } from 'components/document/collaboration'; import { DocumentStyle } from 'components/document/style'; import { CommentEditor } from 'components/document/comments'; -import { useDocumentStyle } from 'hooks/useDocumentStyle'; -import { useWindowSize } from 'hooks/useWindowSize'; +import { useDocumentStyle } from 'hooks/use-document-style'; +import { useWindowSize } from 'hooks/use-window-size'; import { useUser } from 'data/user'; import { useDocumentDetail } from 'data/document'; import { DocumentSkeleton } from 'components/tiptap'; diff --git a/packages/client/src/components/document/reader/public/content.tsx b/packages/client/src/components/document/reader/public/content.tsx index 0c40d559..e2a69267 100644 --- a/packages/client/src/components/document/reader/public/content.tsx +++ b/packages/client/src/components/document/reader/public/content.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { useEditor, EditorContent } from '@tiptap/react'; -import { Layout } from '@douyinfe/semi-ui'; import { IDocument } from '@think/domains'; import { DEFAULT_EXTENSION, DocumentWithTitle } from 'components/tiptap'; import { safeJSONParse } from 'helpers/json'; @@ -15,13 +14,6 @@ export const DocumentContent: React.FC = ({ document, createUserContaine const c = safeJSONParse(document.content); let json = c.default || c; - // if (json && json.content) { - // json = { - // type: 'doc', - // content: json.content.slice(1), - // }; - // } - const editor = useEditor({ editable: false, extensions: [...DEFAULT_EXTENSION, DocumentWithTitle], diff --git a/packages/client/src/components/document/reader/public/index.module.scss b/packages/client/src/components/document/reader/public/index.module.scss index 2630719c..de6cec13 100644 --- a/packages/client/src/components/document/reader/public/index.module.scss +++ b/packages/client/src/components/document/reader/public/index.module.scss @@ -1,7 +1,7 @@ .wrap { - height: 100%; display: flex; flex-direction: column; + height: 100%; background-color: var(--semi-color-nav-bg); .headerWrap { @@ -9,8 +9,8 @@ } .contentWrap { - padding: 24px 24px 48px; flex: 1; + padding: 24px 24px 48px; overflow: auto; .editorWrap { diff --git a/packages/client/src/components/document/reader/public/index.tsx b/packages/client/src/components/document/reader/public/index.tsx index e1019aa1..a76a1214 100644 --- a/packages/client/src/components/document/reader/public/index.tsx +++ b/packages/client/src/components/document/reader/public/index.tsx @@ -9,15 +9,15 @@ import { DocumentStyle } from 'components/document/style'; import { User } from 'components/user'; import { Theme } from 'components/theme'; import { ImageViewer } from 'components/image-viewer'; -import { useDocumentStyle } from 'hooks/useDocumentStyle'; -import { useWindowSize } from 'hooks/useWindowSize'; +import { useDocumentStyle } from 'hooks/use-document-style'; +import { useWindowSize } from 'hooks/use-window-size'; import { usePublicDocument } from 'data/document'; import { DocumentSkeleton } from 'components/tiptap'; import { DocumentContent } from './content'; import styles from './index.module.scss'; const { Header, Content } = Layout; -const { Text, Title } = Typography; +const { Text } = Typography; interface IProps { documentId: string; diff --git a/packages/client/src/components/document/share/index.tsx b/packages/client/src/components/document/share/index.tsx index 0abbe9bf..6c6f6742 100644 --- a/packages/client/src/components/document/share/index.tsx +++ b/packages/client/src/components/document/share/index.tsx @@ -5,7 +5,7 @@ import { isPublicDocument } from '@think/domains'; import { getDocumentShareURL } from 'helpers/url'; import { ShareIllustration } from 'illustrations/share'; import { DataRender } from 'components/data-render'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { useDocumentDetail } from 'data/document'; interface IProps { diff --git a/packages/client/src/components/document/star/index.tsx b/packages/client/src/components/document/star/index.tsx index 5441823d..c2997684 100644 --- a/packages/client/src/components/document/star/index.tsx +++ b/packages/client/src/components/document/star/index.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Typography, Tooltip, Button } from '@douyinfe/semi-ui'; +import { Tooltip, Button } from '@douyinfe/semi-ui'; import { IconStar } from '@douyinfe/semi-icons'; import { useDocumentStar } from 'data/document'; @@ -8,8 +8,6 @@ interface IProps { render?: (arg: { star: boolean; text: string; toggleStar: () => Promise }) => React.ReactNode; } -const { Text } = Typography; - export const DocumentStar: React.FC = ({ documentId, render }) => { const { data, toggleStar } = useDocumentStar(documentId); const text = data ? '取消收藏' : '收藏文档'; diff --git a/packages/client/src/components/document/style/index.tsx b/packages/client/src/components/document/style/index.tsx index 232292d8..9cce083d 100644 --- a/packages/client/src/components/document/style/index.tsx +++ b/packages/client/src/components/document/style/index.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { RadioGroup, Radio, Typography, Slider } from '@douyinfe/semi-ui'; -import { useDocumentStyle } from 'hooks/useDocumentStyle'; +import { useDocumentStyle } from 'hooks/use-document-style'; import styles from './index.module.scss'; const { Text } = Typography; diff --git a/packages/client/src/components/grid-select/grid-select.tsx b/packages/client/src/components/grid-select/grid-select.tsx index 7964d819..c4d1eff0 100644 --- a/packages/client/src/components/grid-select/grid-select.tsx +++ b/packages/client/src/components/grid-select/grid-select.tsx @@ -52,13 +52,6 @@ export const GridSelect = ({ const onClick = useCallback( ({ x, y, isCellDisabled }) => { - // if (isCellDisabled) { - // return null; - // } - // if (activeCell.x === x && activeCell.y === y) { - // return null; - // } - // setActiveCell({ x, y }); onSelect({ rows: y + 1, cols: x + 1, @@ -67,7 +60,6 @@ export const GridSelect = ({ [onSelect] ); - // eslint-disable-next-line react-hooks/exhaustive-deps const onHover = useCallback( debounce(({ x, y, isCellDisabled }) => { if (isCellDisabled) { diff --git a/packages/client/src/components/icons/IconCodeBlock.tsx b/packages/client/src/components/icons/IconCodeBlock.tsx index 49c49ed7..4aa90dc6 100644 --- a/packages/client/src/components/icons/IconCodeBlock.tsx +++ b/packages/client/src/components/icons/IconCodeBlock.tsx @@ -6,7 +6,7 @@ export const IconCodeBlock: React.FC<{ style?: React.CSSProperties }> = ({ style style={style} svg={ - + = ({ style={style} svg={ - + diff --git a/packages/client/src/components/icons/IconList.tsx b/packages/client/src/components/icons/IconList.tsx index e71a8561..6eef532d 100644 --- a/packages/client/src/components/icons/IconList.tsx +++ b/packages/client/src/components/icons/IconList.tsx @@ -6,8 +6,8 @@ export const IconList: React.FC<{ style?: React.CSSProperties }> = ({ style = {} style={style} svg={ - - + + diff --git a/packages/client/src/components/icons/IconMind.tsx b/packages/client/src/components/icons/IconMind.tsx index c008ab02..dd894d1b 100644 --- a/packages/client/src/components/icons/IconMind.tsx +++ b/packages/client/src/components/icons/IconMind.tsx @@ -6,7 +6,7 @@ export const IconMind: React.FC<{ style?: React.CSSProperties }> = ({ style = {} style={style} svg={ - + diff --git a/packages/client/src/components/icons/IconOrderedList.tsx b/packages/client/src/components/icons/IconOrderedList.tsx index 3e376954..a8090ae9 100644 --- a/packages/client/src/components/icons/IconOrderedList.tsx +++ b/packages/client/src/components/icons/IconOrderedList.tsx @@ -6,7 +6,7 @@ export const IconOrderedList: React.FC<{ style?: React.CSSProperties }> = ({ sty style={style} svg={ - + diff --git a/packages/client/src/components/icons/IconQuote.tsx b/packages/client/src/components/icons/IconQuote.tsx index 353478d3..758dddb2 100644 --- a/packages/client/src/components/icons/IconQuote.tsx +++ b/packages/client/src/components/icons/IconQuote.tsx @@ -6,12 +6,12 @@ export const IconQuote: React.FC<{ style?: React.CSSProperties }> = ({ style = { style={style} svg={ - + @@ -19,7 +19,7 @@ export const IconQuote: React.FC<{ style?: React.CSSProperties }> = ({ style = { diff --git a/packages/client/src/components/icons/IconSearchReplace.tsx b/packages/client/src/components/icons/IconSearchReplace.tsx index 5be3fabd..4a73dc2f 100644 --- a/packages/client/src/components/icons/IconSearchReplace.tsx +++ b/packages/client/src/components/icons/IconSearchReplace.tsx @@ -6,8 +6,8 @@ export const IconSearchReplace: React.FC<{ style?: React.CSSProperties }> = ({ s style={style} svg={ - - + + diff --git a/packages/client/src/components/icons/IconStatus.tsx b/packages/client/src/components/icons/IconStatus.tsx index 473eb5e5..4b165b7f 100644 --- a/packages/client/src/components/icons/IconStatus.tsx +++ b/packages/client/src/components/icons/IconStatus.tsx @@ -6,10 +6,10 @@ export const IconStatus: React.FC<{ style?: React.CSSProperties }> = ({ style = style={style} svg={ - + diff --git a/packages/client/src/components/icons/IconSub.tsx b/packages/client/src/components/icons/IconSub.tsx index 6eb2a3ef..a20dacbb 100644 --- a/packages/client/src/components/icons/IconSub.tsx +++ b/packages/client/src/components/icons/IconSub.tsx @@ -6,7 +6,7 @@ export const IconSub: React.FC<{ style?: React.CSSProperties }> = ({ style = {} style={style} svg={ - + = ({ style = {} style={style} svg={ - + = ({ style = { style={style} svg={ - + = ({ style = {} style={style} svg={ - + diff --git a/packages/client/src/components/locale-time/index.tsx b/packages/client/src/components/locale-time/index.tsx index 41714490..18d872e2 100644 --- a/packages/client/src/components/locale-time/index.tsx +++ b/packages/client/src/components/locale-time/index.tsx @@ -35,7 +35,7 @@ const getTimeago = (date: number | string | Date) => { }; export const LocaleTime: React.FC = ({ date, timeago, format = 'yyyy-MM-dd HH:mm:ss' }) => { - const [_, setMinutesMounted] = useState(0); // eslint-disable-line no-unused-vars + const [, setMinutesMounted] = useState(0); const callback = useRef<() => void>(); useEffect(() => { diff --git a/packages/client/src/components/logo/index.module.scss b/packages/client/src/components/logo/index.module.scss index 9892f296..bdf85e40 100644 --- a/packages/client/src/components/logo/index.module.scss +++ b/packages/client/src/components/logo/index.module.scss @@ -9,9 +9,9 @@ } > span { + margin-left: 4px; font-size: 1.2rem; font-weight: 500; - margin-left: 4px; } } diff --git a/packages/client/src/components/message/index.module.scss b/packages/client/src/components/message/index.module.scss index a458e95e..34d9e962 100644 --- a/packages/client/src/components/message/index.module.scss +++ b/packages/client/src/components/message/index.module.scss @@ -11,25 +11,25 @@ border-radius: var(--semi-border-radius-small); &:hover { - background-color: var(--semi-color-fill-0); color: var(--semi-color-text-0); + background-color: var(--semi-color-fill-0); } .item { display: flex; - align-items: center; justify-content: space-between; + align-items: center; width: 100%; height: 32px; padding: 4px 16px; .leftWrap { display: flex; - align-items: center; - white-space: nowrap; overflow: hidden; - text-overflow: ellipsis; color: var(--semi-color-primary); + text-overflow: ellipsis; + white-space: nowrap; + align-items: center; > span { word-break: break-all; @@ -51,5 +51,4 @@ .paginationWrap { display: flex; justify-content: center; - // padding: 16px 0 0; } diff --git a/packages/client/src/components/message/index.tsx b/packages/client/src/components/message/index.tsx index 2c2a2e31..496c8629 100644 --- a/packages/client/src/components/message/index.tsx +++ b/packages/client/src/components/message/index.tsx @@ -6,7 +6,7 @@ import { useAllMessages, useReadMessages, useUnreadMessages } from 'data/message import { EmptyBoxIllustration } from 'illustrations/empty-box'; import { DataRender } from 'components/data-render'; import { Empty } from 'components/empty'; -import { Placeholder } from './Placeholder'; +import { Placeholder } from './placeholder'; import styles from './index.module.scss'; const { Text } = Typography; diff --git a/packages/client/src/components/resizeable/style.module.scss b/packages/client/src/components/resizeable/style.module.scss index 5a465a13..40f499b7 100644 --- a/packages/client/src/components/resizeable/style.module.scss +++ b/packages/client/src/components/resizeable/style.module.scss @@ -1,38 +1,38 @@ .resizable { - box-sizing: border-box; position: relative; display: inline-block; width: 100px; height: 100px; max-width: 100%; + box-sizing: border-box; .resizer { - box-sizing: border-box; position: absolute; z-index: 9999; width: 10px; height: 10px; - border-radius: 50%; background: white; border: 3px solid #4286f4; + border-radius: 50%; opacity: 0; + box-sizing: border-box; } .resizer.topLeft { - left: -5px; top: -5px; + left: -5px; cursor: nwse-resize; } .resizer.topRight { - right: -5px; top: -5px; + right: -5px; cursor: nesw-resize; } .resizer.bottomLeft { - left: -5px; bottom: -5px; + left: -5px; cursor: nesw-resize; } diff --git a/packages/client/src/components/search/index.module.scss b/packages/client/src/components/search/index.module.scss index dda14bc3..86e5fed8 100644 --- a/packages/client/src/components/search/index.module.scss +++ b/packages/client/src/components/search/index.module.scss @@ -1,29 +1,26 @@ -.itemsWrap { -} - .itemWrap { margin-top: 8px; border-radius: var(--semi-border-radius-small); &:hover { - background-color: var(--semi-color-fill-0); color: var(--semi-color-text-0); + background-color: var(--semi-color-fill-0); } .item { display: flex; - align-items: center; justify-content: space-between; + align-items: center; width: 100%; padding: 4px 8px; .leftWrap { display: flex; - align-items: center; - white-space: nowrap; overflow: hidden; - text-overflow: ellipsis; color: var(--semi-color-primary); + text-overflow: ellipsis; + white-space: nowrap; + align-items: center; > span { word-break: break-all; diff --git a/packages/client/src/components/search/index.tsx b/packages/client/src/components/search/index.tsx index e59b2a82..701e2e65 100644 --- a/packages/client/src/components/search/index.tsx +++ b/packages/client/src/components/search/index.tsx @@ -6,8 +6,8 @@ import { IconSearch as SemiIconSearch } from '@douyinfe/semi-icons'; import { IconSearch } from 'components/icons'; import { IDocument } from '@think/domains'; import { useRecentDocuments } from 'data/document'; -import { useToggle } from 'hooks/useToggle'; -import { useAsyncLoading } from 'hooks/useAsyncLoading'; +import { useToggle } from 'hooks/use-toggle'; +import { useAsyncLoading } from 'hooks/use-async-loading'; import { searchDocument } from 'services/document'; import { Empty } from 'components/empty'; import { DataRender } from 'components/data-render'; diff --git a/packages/client/src/components/template/card/index.module.scss b/packages/client/src/components/template/card/index.module.scss index e7a13f29..b7746337 100644 --- a/packages/client/src/components/template/card/index.module.scss +++ b/packages/client/src/components/template/card/index.module.scss @@ -1,67 +1,64 @@ .cardWrap { position: relative; - transform: translateZ(0); - margin: 8px 0; display: flex; - flex-direction: column; width: 100%; height: 161px; padding: 12px 16px 16px; - border-radius: var(--border-radius); - border: 1px solid var(--semi-color-border); - cursor: pointer; + margin: 8px 0; overflow: hidden; + cursor: pointer; + border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); + transform: translateZ(0); + flex-direction: column; header { display: flex; justify-content: space-between; align-items: center; - - color: var(--semi-color-primary); margin-bottom: 12px; + color: var(--semi-color-primary); .rightWrap { opacity: 0; } } + .actions { + position: absolute; + bottom: -1px; + left: 0; + z-index: 10; + display: flex; + width: 100%; + padding: 8px; + background-color: var(--semi-color-fill-2); + border-radius: 0 0 var(--border-radius) var(--border-radius); + opacity: 0; + justify-content: space-around; + transition: all ease-in-out .2s; + + button { + width: 40%; + } + } + &:hover { box-shadow: var(--semi-color-shadow); header .rightWrap { opacity: 1; } - } - footer { - margin-top: 12px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - - .actions { - position: absolute; - bottom: -1px; - left: 0; - z-index: 10; - transition: all ease-in-out 0.2s; - width: 100%; - display: flex; - justify-content: space-around; - padding: 8px; - border-radius: 0 0 var(--border-radius) var(--border-radius); - background-color: var(--semi-color-fill-2); - opacity: 0; - - button { - width: 40%; - } - } - - &:hover { .actions { opacity: 1; } } + + footer { + margin-top: 12px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } } diff --git a/packages/client/src/components/template/card/index.tsx b/packages/client/src/components/template/card/index.tsx index 98d59f0c..dfdd88f8 100644 --- a/packages/client/src/components/template/card/index.tsx +++ b/packages/client/src/components/template/card/index.tsx @@ -6,9 +6,9 @@ import { Button, Space, Typography, Tooltip, Avatar, Skeleton, Modal } from '@do import { IconEdit, IconUser, IconPlus } from '@douyinfe/semi-icons'; import { IconDocument } from 'components/icons/IconDocument'; import { TemplateReader } from 'components/template/reader'; +import { useToggle } from 'hooks/use-toggle'; import { useUser } from 'data/user'; import styles from './index.module.scss'; -import { useToggle } from 'hooks/useToggle'; const { Text } = Typography; diff --git a/packages/client/src/components/template/editor/editor.tsx b/packages/client/src/components/template/editor/editor.tsx index a12abb97..cf4b45a8 100644 --- a/packages/client/src/components/template/editor/editor.tsx +++ b/packages/client/src/components/template/editor/editor.tsx @@ -28,8 +28,8 @@ import { import { DataRender } from 'components/data-render'; import { User } from 'components/user'; import { DocumentStyle } from 'components/document/style'; -import { useDocumentStyle } from 'hooks/useDocumentStyle'; -import { useWindowSize } from 'hooks/useWindowSize'; +import { useDocumentStyle } from 'hooks/use-document-style'; +import { useWindowSize } from 'hooks/use-window-size'; import { safeJSONParse } from 'helpers/json'; import styles from './index.module.scss'; diff --git a/packages/client/src/components/template/editor/index.module.scss b/packages/client/src/components/template/editor/index.module.scss index 769bbe2d..dc41c83a 100644 --- a/packages/client/src/components/template/editor/index.module.scss +++ b/packages/client/src/components/template/editor/index.module.scss @@ -1,14 +1,14 @@ .wrap { - height: 100%; - overflow: hidden; display: flex; flex-direction: column; + height: 100%; + overflow: hidden; > header { position: relative; z-index: 110; - background-color: var(--semi-color-nav-bg); height: 60px; + background-color: var(--semi-color-nav-bg); user-select: none; > div { @@ -18,30 +18,37 @@ > main { height: calc(100% - 60px); - flex: 1; overflow: hidden; background-color: var(--semi-color-nav-bg); + flex: 1; } } .editorWrap { - height: 100%; display: flex; flex-direction: column; + height: 100%; overflow: hidden; > header { position: relative; z-index: 110; + display: flex; height: 50px; padding: 0 24px; - display: flex; - align-items: center; overflow: hidden; background-color: var(--semi-color-nav-bg); + align-items: center; border-bottom: 1px solid var(--semi-color-border); user-select: none; + > div { + display: inline-flex; + align-items: center; + height: 100%; + overflow: auto; + } + &.isStandardWidth { > div { margin: 0 auto; @@ -53,14 +60,6 @@ margin: 0; } } - - > div { - display: inline-flex; - align-items: center; - // width: 100%; - height: 100%; - overflow: auto; - } } > main { diff --git a/packages/client/src/components/template/reader/editor.tsx b/packages/client/src/components/template/reader/editor.tsx index f8e3fdec..4ba3d391 100644 --- a/packages/client/src/components/template/reader/editor.tsx +++ b/packages/client/src/components/template/reader/editor.tsx @@ -6,7 +6,7 @@ import { IUser, ITemplate } from '@think/domains'; import { DEFAULT_EXTENSION, DocumentWithTitle } from 'components/tiptap'; import { DataRender } from 'components/data-render'; import { ImageViewer } from 'components/image-viewer'; -import { useDocumentStyle } from 'hooks/useDocumentStyle'; +import { useDocumentStyle } from 'hooks/use-document-style'; import { safeJSONParse } from 'helpers/json'; import styles from './index.module.scss'; diff --git a/packages/client/src/components/template/reader/index.module.scss b/packages/client/src/components/template/reader/index.module.scss index 1117e301..5f90ebcf 100644 --- a/packages/client/src/components/template/reader/index.module.scss +++ b/packages/client/src/components/template/reader/index.module.scss @@ -1,7 +1,6 @@ .wrap { display: flex; flex-direction: column; - height: 100%; .contentWrap { diff --git a/packages/client/src/components/theme/index.tsx b/packages/client/src/components/theme/index.tsx index 395aeda0..fe453a0f 100644 --- a/packages/client/src/components/theme/index.tsx +++ b/packages/client/src/components/theme/index.tsx @@ -1,7 +1,7 @@ -import React, { useEffect, useState } from 'react'; +import React from 'react'; import { Button, Tooltip } from '@douyinfe/semi-ui'; import { IconSun, IconMoon } from '@douyinfe/semi-icons'; -import { useTheme } from 'hooks/useTheme'; +import { useTheme } from 'hooks/use-theme'; export const Theme = () => { const { theme, toggle } = useTheme(); diff --git a/packages/client/src/components/tiptap/menus/colorPicker/style.module.scss b/packages/client/src/components/tiptap/menus/colorPicker/style.module.scss index 33dd5719..de09762c 100644 --- a/packages/client/src/components/tiptap/menus/colorPicker/style.module.scss +++ b/packages/client/src/components/tiptap/menus/colorPicker/style.module.scss @@ -6,28 +6,28 @@ .colorItem { display: flex; - align-items: center; - justify-content: center; width: 32px; height: 32px; cursor: pointer; - border-radius: 4px; border: 1px solid transparent; + border-radius: 4px; + justify-content: center; + align-items: center; &:nth-of-type(n + 8) { margin-top: 4px; } &:hover { - border-color: rgb(193, 199, 208); + border-color: rgb(193 199 208); } > span { display: block; width: 28px; height: 28px; - border-radius: 2px; border: 1px solid var(--semi-color-border); + border-radius: 2px; } } } diff --git a/packages/client/src/components/tiptap/menus/emoji/index.module.scss b/packages/client/src/components/tiptap/menus/emoji/index.module.scss index 9addab66..3c2158fe 100644 --- a/packages/client/src/components/tiptap/menus/emoji/index.module.scss +++ b/packages/client/src/components/tiptap/menus/emoji/index.module.scss @@ -5,22 +5,20 @@ .listWrap { display: flex; - flex-wrap: wrap; - - list-style: none; - width: 320px; padding: 0; margin: 0; + list-style: none; + flex-wrap: wrap; > li { + display: flex; + justify-content: center; + align-items: center; width: 32px; height: 32px; - font-size: 24px; - display: flex; - align-items: center; - justify-content: center; padding: 4px; + font-size: 24px; cursor: pointer; } } diff --git a/packages/client/src/components/tiptap/menus/search/index.module.scss b/packages/client/src/components/tiptap/menus/search/index.module.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/client/src/components/tiptap/wrappers/attachment/index.tsx b/packages/client/src/components/tiptap/wrappers/attachment/index.tsx index d6c4dbe1..70e62121 100644 --- a/packages/client/src/components/tiptap/wrappers/attachment/index.tsx +++ b/packages/client/src/components/tiptap/wrappers/attachment/index.tsx @@ -12,7 +12,7 @@ import { IconClose, } from '@douyinfe/semi-icons'; import { Tooltip } from 'components/tooltip'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { download } from '../../services/download'; import { uploadFile } from 'services/file'; import { diff --git a/packages/client/src/components/tiptap/wrappers/banner/index.module.scss b/packages/client/src/components/tiptap/wrappers/banner/index.module.scss index cb67a8a3..b7a2ccff 100644 --- a/packages/client/src/components/tiptap/wrappers/banner/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/banner/index.module.scss @@ -1,10 +1,10 @@ .wrap { line-height: 0; - border-radius: var(--border-radius); border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); p { - margin-top: 0.25em; + margin-top: .25em; } p:first-child { @@ -12,8 +12,8 @@ } ul { - margin: 0; padding-left: 1em; + margin: 0; } .handlerWrap { diff --git a/packages/client/src/components/tiptap/wrappers/codeBlock/index.module.scss b/packages/client/src/components/tiptap/wrappers/codeBlock/index.module.scss index 00f9ee1d..4aff45d9 100644 --- a/packages/client/src/components/tiptap/wrappers/codeBlock/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/codeBlock/index.module.scss @@ -5,8 +5,8 @@ display: flex; justify-content: space-between; padding: 6px 8px; - background-color: var(--semi-color-fill-0); border-bottom: 1px solid var(--semi-color-border); + background-color: var(--semi-color-fill-0); .selectorWrap { margin-right: 8px; diff --git a/packages/client/src/components/tiptap/wrappers/documentChildren/index.module.scss b/packages/client/src/components/tiptap/wrappers/documentChildren/index.module.scss index b2ca9a63..e7fa78a0 100644 --- a/packages/client/src/components/tiptap/wrappers/documentChildren/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/documentChildren/index.module.scss @@ -1,38 +1,38 @@ .wrap { - margin-top: 0.75em; padding: 12px; + margin-top: .75em; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); - &.isEditable { - .itemWrap { - pointer-events: none; - - &:hover { - color: var(--semi-color-text-1); - border-color: var(--semi-color-border); - } - } - } - .itemWrap { display: flex; - align-items: center; - margin-top: 12px; padding: 6px; - text-decoration: none; + margin-top: 12px; color: var(--semi-color-text-1); - border-radius: var(--border-radius); - border: 1px solid var(--semi-color-border); + text-decoration: none; cursor: pointer; + border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); + align-items: center; &:hover { - color: var(--semi-color-link); border-color: var(--semi-color-link); + color: var(--semi-color-link); } span { margin-left: 8px; } } + + &.isEditable { + .itemWrap { + pointer-events: none; + + &:hover { + border-color: var(--semi-color-border); + color: var(--semi-color-text-1); + } + } + } } diff --git a/packages/client/src/components/tiptap/wrappers/documentReference/index.module.scss b/packages/client/src/components/tiptap/wrappers/documentReference/index.module.scss index 3c902e5a..cad78957 100644 --- a/packages/client/src/components/tiptap/wrappers/documentReference/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/documentReference/index.module.scss @@ -1,32 +1,19 @@ .wrap { - margin-top: 0.75em; + margin-top: .75em; border-radius: var(--border-radius); - &.isEditable { - padding: 12px; - - .itemWrap { - pointer-events: none; - margin-top: 12px; - } - - .empty { - margin-top: 12px; - } - } - .itemWrap { display: flex; - align-items: center; padding: 8px; + color: var(--semi-color-text-1); + text-decoration: none; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); - text-decoration: none; - color: var(--semi-color-text-1); + align-items: center; &:hover { - color: var(--semi-color-link); border-color: var(--semi-color-link); + color: var(--semi-color-link); } span { @@ -36,12 +23,25 @@ .empty { display: flex; - align-items: center; padding: 8px; + color: var(--semi-color-text-1); + text-decoration: none; + cursor: not-allowed; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); - text-decoration: none; - color: var(--semi-color-text-1); - cursor: not-allowed; + align-items: center; + } + + &.isEditable { + padding: 12px; + + .itemWrap { + margin-top: 12px; + pointer-events: none; + } + + .empty { + margin-top: 12px; + } } } diff --git a/packages/client/src/components/tiptap/wrappers/emojiList/index.module.scss b/packages/client/src/components/tiptap/wrappers/emojiList/index.module.scss index b37fdf21..806ea46a 100644 --- a/packages/client/src/components/tiptap/wrappers/emojiList/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/emojiList/index.module.scss @@ -1,38 +1,38 @@ .items { - border-radius: var(--border-radius); - background-color: var(--semi-color-bg-0); - box-shadow: rgb(9 30 66 / 31%) 0px 0px 1px, rgb(9 30 66 / 25%) 0px 4px 8px -2px; width: 200px; max-height: 380px; overflow-x: hidden; overflow-y: auto; + background-color: var(--semi-color-bg-0); + border-radius: var(--border-radius); + box-shadow: rgb(9 30 66 / 31%) 0 0 1px, rgb(9 30 66 / 25%) 0 4px 8px -2px; } .item { - align-items: center; - border-radius: 0px; - box-sizing: border-box; - cursor: pointer; display: flex; - flex: 0 0 auto; - background-color: rgb(255, 255, 255); - color: rgb(9, 30, 66); - fill: rgb(255, 255, 255); - text-decoration: none; - padding: 12px 12px 11px; width: 100%; + padding: 12px 12px 11px; + color: rgb(9 30 66); + text-decoration: none; + cursor: pointer; + background-color: rgb(255 255 255); border: 0; + border-radius: 0; outline: 0; + flex: 0 0 auto; + align-items: center; + box-sizing: border-box; + fill: rgb(255 255 255); &:hover { background-color: #f4f5f7; } &.is-selected { - background-color: rgb(222, 235, 255); - color: rgb(0, 82, 204); - fill: rgb(222, 235, 255); + color: rgb(0 82 204); text-decoration: none; + background-color: rgb(222 235 255); + fill: rgb(222 235 255); } img { diff --git a/packages/client/src/components/tiptap/wrappers/iframe/index.module.scss b/packages/client/src/components/tiptap/wrappers/iframe/index.module.scss index 96fa35cc..b7d2343b 100644 --- a/packages/client/src/components/tiptap/wrappers/iframe/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/iframe/index.module.scss @@ -1,15 +1,13 @@ .wrap { - max-width: 100%; - height: 100%; - line-height: 0; - border-radius: var(--border-radius); - border: 1px solid var(--semi-color-border); - background-color: var(--semi-color-fill-0); - overflow: visible; - display: flex; - flex-direction: column; + height: 100%; + max-width: 100%; overflow: hidden; + line-height: 0; + background-color: var(--semi-color-fill-0); + border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); + flex-direction: column; .handlerWrap { display: flex; @@ -17,11 +15,11 @@ } .innerWrap { - flex: 1; position: relative; width: 100%; - border-radius: var(--border-radius); overflow: hidden; + border-radius: var(--border-radius); + flex: 1; } :global { diff --git a/packages/client/src/components/tiptap/wrappers/image/index.module.scss b/packages/client/src/components/tiptap/wrappers/image/index.module.scss index 64f9665d..a58ec862 100644 --- a/packages/client/src/components/tiptap/wrappers/image/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/image/index.module.scss @@ -1,11 +1,11 @@ .wrap { display: flex; - justify-content: space-between; - align-items: center; padding: 8px 16px; + cursor: pointer; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); - cursor: pointer; + justify-content: space-between; + align-items: center; &:hover { border: 1px solid var(--semi-color-link); diff --git a/packages/client/src/components/tiptap/wrappers/image/index.tsx b/packages/client/src/components/tiptap/wrappers/image/index.tsx index 872d28b2..d1caca11 100644 --- a/packages/client/src/components/tiptap/wrappers/image/index.tsx +++ b/packages/client/src/components/tiptap/wrappers/image/index.tsx @@ -3,7 +3,7 @@ import { Resizeable } from 'components/resizeable'; import { useEffect, useRef } from 'react'; import cls from 'classnames'; import { Typography, Spin } from '@douyinfe/semi-ui'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { uploadFile } from 'services/file'; import { extractFileExtension, extractFilename } from '../../services/file'; import styles from './index.module.scss'; diff --git a/packages/client/src/components/tiptap/wrappers/menuList/index.module.scss b/packages/client/src/components/tiptap/wrappers/menuList/index.module.scss index b37fdf21..806ea46a 100644 --- a/packages/client/src/components/tiptap/wrappers/menuList/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/menuList/index.module.scss @@ -1,38 +1,38 @@ .items { - border-radius: var(--border-radius); - background-color: var(--semi-color-bg-0); - box-shadow: rgb(9 30 66 / 31%) 0px 0px 1px, rgb(9 30 66 / 25%) 0px 4px 8px -2px; width: 200px; max-height: 380px; overflow-x: hidden; overflow-y: auto; + background-color: var(--semi-color-bg-0); + border-radius: var(--border-radius); + box-shadow: rgb(9 30 66 / 31%) 0 0 1px, rgb(9 30 66 / 25%) 0 4px 8px -2px; } .item { - align-items: center; - border-radius: 0px; - box-sizing: border-box; - cursor: pointer; display: flex; - flex: 0 0 auto; - background-color: rgb(255, 255, 255); - color: rgb(9, 30, 66); - fill: rgb(255, 255, 255); - text-decoration: none; - padding: 12px 12px 11px; width: 100%; + padding: 12px 12px 11px; + color: rgb(9 30 66); + text-decoration: none; + cursor: pointer; + background-color: rgb(255 255 255); border: 0; + border-radius: 0; outline: 0; + flex: 0 0 auto; + align-items: center; + box-sizing: border-box; + fill: rgb(255 255 255); &:hover { background-color: #f4f5f7; } &.is-selected { - background-color: rgb(222, 235, 255); - color: rgb(0, 82, 204); - fill: rgb(222, 235, 255); + color: rgb(0 82 204); text-decoration: none; + background-color: rgb(222 235 255); + fill: rgb(222 235 255); } img { diff --git a/packages/client/src/components/tiptap/wrappers/mind/index.module.scss b/packages/client/src/components/tiptap/wrappers/mind/index.module.scss index d5d54015..acb15ca3 100644 --- a/packages/client/src/components/tiptap/wrappers/mind/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/mind/index.module.scss @@ -1,35 +1,75 @@ .wrap { position: relative; max-width: 100%; - line-height: 0; overflow: visible; + line-height: 0; outline: none; + :global { + /* stylelint-disable-next-line selector-type-no-unknown */ + jmnodes { + /* stylelint-disable-next-line selector-type-no-unknown */ + jmnode { + color: var(--semi-color-text-1); + background-color: var(--semi-color-fill-2); + outline: 2px solid transparent; + box-shadow: none; + + &:first-of-type { + color: #fff; + background-color: var(--semi-color-link); + } + + &.selected { + outline: 2px solid var(--semi-color-link); + } + + input { + width: 100px !important; + height: 100%; + background-color: #fff; + border: 0; + outline: none; + } + } + + /* stylelint-disable-next-line selector-type-no-unknown */ + jmexpander { + display: flex; + justify-content: center; + align-items: center; + width: 12px; + height: 12px; + border-color: var(--semi-color-border); + } + } + } + .jsmindWrap { position: absolute; + bottom: 0; left: 50%; - bottom: 0px; z-index: 200; max-width: 100%; - transform: translate(-50%, 0); - opacity: 0; padding-bottom: 10px; + opacity: 0; + transform: translate(-50%, 0); .jsmindInnerWrap { padding: 6px; + background-color: var(--semi-color-bg-2); + border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); box-shadow: var(--box-shadow); - border: 1px solid var(--semi-color-border); - background-color: var(--semi-color-bg-2); } } .renderWrap { position: relative; min-height: 50px; - border-radius: var(--border-radius); - border: 1px solid var(--semi-color-border); overflow: hidden; + border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); outline: none; > input { @@ -48,11 +88,11 @@ bottom: 20px; z-index: 1000; padding: 4px 8px; - border-radius: var(--border-radius); - box-shadow: var(--box-shadow); - border: 1px solid var(--semi-color-border); background-color: var(--semi-color-bg-2); + border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); opacity: 0; + box-shadow: var(--box-shadow); } } @@ -74,41 +114,4 @@ padding: 10px; border-top: 1px solid var(--semi-color-border); } - - :global { - jmnodes { - jmnode { - outline: 2px solid transparent; - color: var(--semi-color-text-1); - background-color: var(--semi-color-fill-2); - box-shadow: none; - - &:first-of-type { - color: #fff; - background-color: var(--semi-color-link); - } - - &.selected { - outline: 2px solid var(--semi-color-link); - } - - input { - width: 100px !important; - height: 100%; - border: 0; - outline: none; - background-color: #fff; - } - } - - jmexpander { - display: flex; - align-items: center; - justify-content: center; - width: 12px; - height: 12px; - border-color: var(--semi-color-border); - } - } - } } diff --git a/packages/client/src/components/tiptap/wrappers/status/index.module.scss b/packages/client/src/components/tiptap/wrappers/status/index.module.scss index 833ac536..9fdbfaeb 100644 --- a/packages/client/src/components/tiptap/wrappers/status/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/status/index.module.scss @@ -1,6 +1,6 @@ .wrap { display: inline-block; - vertical-align: middle; font-size: 0; + vertical-align: middle; cursor: pointer; } diff --git a/packages/client/src/components/tiptap/wrappers/taskItem/index.module.scss b/packages/client/src/components/tiptap/wrappers/taskItem/index.module.scss index a77831f1..f797c8d5 100644 --- a/packages/client/src/components/tiptap/wrappers/taskItem/index.module.scss +++ b/packages/client/src/components/tiptap/wrappers/taskItem/index.module.scss @@ -1,5 +1,5 @@ .wrap { - margin: 8px 0; display: inline-flex; justify-content: center; + margin: 8px 0; } diff --git a/packages/client/src/components/tooltip/index.tsx b/packages/client/src/components/tooltip/index.tsx index 2187df35..9bb19d63 100644 --- a/packages/client/src/components/tooltip/index.tsx +++ b/packages/client/src/components/tooltip/index.tsx @@ -1,9 +1,7 @@ import React from 'react'; import { Tooltip as SemiTooltip } from '@douyinfe/semi-ui'; import { Position } from '@douyinfe/semi-ui/tooltip'; -import { useToggle } from 'hooks/useToggle'; - -let id = 0; +import { useToggle } from 'hooks/use-toggle'; interface IProps { content: React.ReactNode; diff --git a/packages/client/src/components/upload/index.tsx b/packages/client/src/components/upload/index.tsx index ce07c194..4fbd23a0 100644 --- a/packages/client/src/components/upload/index.tsx +++ b/packages/client/src/components/upload/index.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Upload as SemiUpload, Button, Toast } from '@douyinfe/semi-ui'; import { IconUpload } from '@douyinfe/semi-icons'; -import { useAsyncLoading } from 'hooks/useAsyncLoading'; +import { useAsyncLoading } from 'hooks/use-async-loading'; import { uploadFile } from 'services/file'; interface IProps { diff --git a/packages/client/src/components/user/index.tsx b/packages/client/src/components/user/index.tsx index d5b5f7af..555d2143 100644 --- a/packages/client/src/components/user/index.tsx +++ b/packages/client/src/components/user/index.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { Dropdown, Typography, Avatar, Button } from '@douyinfe/semi-ui'; import { IconSpin } from '@douyinfe/semi-icons'; import { useUser } from 'data/user'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { UserSetting } from './setting'; const { Text } = Typography; diff --git a/packages/client/src/components/wiki-creator/index.tsx b/packages/client/src/components/wiki-creator/index.tsx index 9289b0d6..826a00a5 100644 --- a/packages/client/src/components/wiki-creator/index.tsx +++ b/packages/client/src/components/wiki-creator/index.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Button } from '@douyinfe/semi-ui'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { WikiCreator as WikiCreatorForm } from 'components/wiki/create'; export const WikiCreator: React.FC = ({ children }) => { diff --git a/packages/client/src/components/wiki-or-document-creator/index.tsx b/packages/client/src/components/wiki-or-document-creator/index.tsx index 76d29a22..69ba7b82 100644 --- a/packages/client/src/components/wiki-or-document-creator/index.tsx +++ b/packages/client/src/components/wiki-or-document-creator/index.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { Dropdown, Button } from '@douyinfe/semi-ui'; import { IconChevronDown } from '@douyinfe/semi-icons'; -import { useToggle } from 'hooks/useToggle'; -import { useQuery } from 'hooks/useQuery'; +import { useToggle } from 'hooks/use-toggle'; +import { useQuery } from 'hooks/use-query'; import { WikiCreator } from 'components/wiki/create'; import { DocumentCreator } from 'components/document/create'; diff --git a/packages/client/src/components/wiki/card/index.module.scss b/packages/client/src/components/wiki/card/index.module.scss index f3f24c08..69d25f4a 100644 --- a/packages/client/src/components/wiki/card/index.module.scss +++ b/packages/client/src/components/wiki/card/index.module.scss @@ -2,23 +2,22 @@ width: 100%; > a { - margin: 8px 0; display: flex; - flex-direction: column; width: 100%; max-height: 260px; padding: 12px 16px 16px; - border-radius: 5px; - border: 1px solid var(--semi-color-border); + margin: 8px 0; cursor: pointer; + border: 1px solid var(--semi-color-border); + border-radius: 5px; + flex-direction: column; > header { display: flex; justify-content: space-between; align-items: center; - - color: var(--semi-color-primary); margin-bottom: 12px; + color: var(--semi-color-primary); .rightWrap { opacity: 0; diff --git a/packages/client/src/components/wiki/pin-card/index.module.scss b/packages/client/src/components/wiki/pin-card/index.module.scss index f3f24c08..69d25f4a 100644 --- a/packages/client/src/components/wiki/pin-card/index.module.scss +++ b/packages/client/src/components/wiki/pin-card/index.module.scss @@ -2,23 +2,22 @@ width: 100%; > a { - margin: 8px 0; display: flex; - flex-direction: column; width: 100%; max-height: 260px; padding: 12px 16px 16px; - border-radius: 5px; - border: 1px solid var(--semi-color-border); + margin: 8px 0; cursor: pointer; + border: 1px solid var(--semi-color-border); + border-radius: 5px; + flex-direction: column; > header { display: flex; justify-content: space-between; align-items: center; - - color: var(--semi-color-primary); margin-bottom: 12px; + color: var(--semi-color-primary); .rightWrap { opacity: 0; diff --git a/packages/client/src/components/wiki/setting/base/index.module.scss b/packages/client/src/components/wiki/setting/base/index.module.scss index ce5c64cc..ed89d589 100644 --- a/packages/client/src/components/wiki/setting/base/index.module.scss +++ b/packages/client/src/components/wiki/setting/base/index.module.scss @@ -8,14 +8,14 @@ img { width: 104px; height: 96px; - border-radius: 4px; margin-bottom: 16px; + border-radius: 4px; } } .right { - flex: 1; display: flex; + flex: 1; flex-direction: column; justify-content: space-between; overflow: auto; @@ -59,8 +59,8 @@ .placeholderWrapper { width: 100%; - overflow: auto; margin: 16px 0; + overflow: auto; .coverPlaceholder { flex-shrink: 0; diff --git a/packages/client/src/components/wiki/setting/documents/index.module.scss b/packages/client/src/components/wiki/setting/documents/index.module.scss index 2c3c0c09..00438cd6 100644 --- a/packages/client/src/components/wiki/setting/documents/index.module.scss +++ b/packages/client/src/components/wiki/setting/documents/index.module.scss @@ -1,6 +1,7 @@ +/* stylelint-disable */ .statusWrap { - margin-top: 16px; padding: 10px 12px; + margin-top: 16px; border: 1px solid var(--semi-color-border); border-radius: 4px; @@ -9,30 +10,13 @@ } } -.selectedItem { - :global { - .semi-icon-close { - visibility: hidden; - color: var(--semi-color-tertiary); - } - } - - &:hover { - :global { - .semi-icon-close { - visibility: visible; - } - } - } -} - .selectedItem, .sourceItem { + display: flex; + justify-content: space-between; + align-items: center; box-sizing: border-box; height: 36px; - display: flex; - align-items: center; - justify-content: space-between; padding: 10px 12px; &:hover { @@ -40,8 +24,8 @@ } .info { - margin-left: 8px; flex-grow: 1; + margin-left: 8px; } .name { @@ -56,6 +40,23 @@ } } +.selectedItem { + :global { + .semi-icon-close { + color: var(--semi-color-tertiary); + visibility: hidden; + } + } + + &:hover { + :global { + .semi-icon-close { + visibility: visible; + } + } + } +} + .transferWrap { width: 100%; overflow: auto; diff --git a/packages/client/src/components/wiki/setting/users/index.tsx b/packages/client/src/components/wiki/setting/users/index.tsx index 64f94d42..35b90cff 100644 --- a/packages/client/src/components/wiki/setting/users/index.tsx +++ b/packages/client/src/components/wiki/setting/users/index.tsx @@ -5,7 +5,7 @@ import { useWikiUsers } from 'data/wiki'; import { DataRender } from 'components/data-render'; import { LocaleTime } from 'components/locale-time'; import { getWikiUserRoleText } from '@think/domains'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { Placeholder } from './placeholder'; import { AddUser } from './add'; import { EditUser } from './edit'; diff --git a/packages/client/src/components/wiki/tocs/index.module.scss b/packages/client/src/components/wiki/tocs/index.module.scss index 24c9b4d6..aa21ca02 100644 --- a/packages/client/src/components/wiki/tocs/index.module.scss +++ b/packages/client/src/components/wiki/tocs/index.module.scss @@ -10,76 +10,11 @@ } } -.navItemWrap { - display: flex; - align-items: center; - justify-content: space-between; - color: var(--semi-color-text-0); - - &.hoverable { - &:hover { - background-color: var(--semi-color-fill-0); - color: var(--semi-color-text-0); - } - } - - &.isActive { - background-color: var(--semi-color-primary-light-default); - color: var(--semi-color-primary); - } - - .navItem { - display: flex; - align-items: center; - width: 100%; - padding: 12px 16px; - font-size: 14px; - border-radius: var(--semi-border-radius-small); - cursor: pointer; - - > span { - display: flex; - align-items: center; - } - - .icon { - display: flex; - align-items: center; - justify-content: center; - min-width: 24px; - min-height: 24px; - margin: 0 6px 0 0; - - :global { - .semi-icon-default { - font-size: 24px; - } - } - } - - .title { - flex: 1; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - color: var(--semi-color-text-0); - } - } - - .rightWrap { - padding-right: 4px; - } -} - -.docListTitle { - margin: 12px 0.5rem; -} - .treeInnerWrap { :global { .semi-tree-option-list-block .semi-tree-option-selected { - background-color: var(--semi-color-primary-light-default); color: var(--semi-color-primary); + background-color: var(--semi-color-primary-light-default); } } @@ -103,3 +38,68 @@ } } } + +.navItemWrap { + display: flex; + justify-content: space-between; + align-items: center; + color: var(--semi-color-text-0); + + &.hoverable { + &:hover { + color: var(--semi-color-text-0); + background-color: var(--semi-color-fill-0); + } + } + + &.isActive { + color: var(--semi-color-primary); + background-color: var(--semi-color-primary-light-default); + } + + .navItem { + display: flex; + width: 100%; + padding: 12px 16px; + font-size: 14px; + cursor: pointer; + border-radius: var(--semi-border-radius-small); + align-items: center; + + > span { + display: flex; + align-items: center; + } + + .icon { + display: flex; + justify-content: center; + align-items: center; + min-width: 24px; + min-height: 24px; + margin: 0 6px 0 0; + + :global { + .semi-icon-default { + font-size: 24px; + } + } + } + + .title { + overflow: hidden; + color: var(--semi-color-text-0); + text-overflow: ellipsis; + white-space: nowrap; + flex: 1; + } + } + + .rightWrap { + padding-right: 4px; + } +} + +.docListTitle { + margin: 12px .5rem; +} diff --git a/packages/client/src/components/wiki/tocs/index.tsx b/packages/client/src/components/wiki/tocs/index.tsx index 7b3be027..cb3420c9 100644 --- a/packages/client/src/components/wiki/tocs/index.tsx +++ b/packages/client/src/components/wiki/tocs/index.tsx @@ -3,7 +3,7 @@ import { useEffect, useState } from 'react'; import { Avatar, Button, Typography, Skeleton } from '@douyinfe/semi-ui'; import { IconPlus } from '@douyinfe/semi-icons'; import { useWikiDetail, useWikiTocs } from 'data/wiki'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { Seo } from 'components/seo'; import { findParents } from 'components/wiki/tocs/utils'; import { IconDocument, IconSetting, IconOverview } from 'components/icons'; diff --git a/packages/client/src/components/wiki/tocs/manager/index.module.scss b/packages/client/src/components/wiki/tocs/manager/index.module.scss index 8134c806..1518caac 100644 --- a/packages/client/src/components/wiki/tocs/manager/index.module.scss +++ b/packages/client/src/components/wiki/tocs/manager/index.module.scss @@ -3,9 +3,9 @@ .tocsWrap { height: 420px; + overflow: auto; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); - overflow: auto; } .btnWrap { diff --git a/packages/client/src/components/wiki/tocs/tree.tsx b/packages/client/src/components/wiki/tocs/tree.tsx index 4dcdc7e2..8aef887d 100644 --- a/packages/client/src/components/wiki/tocs/tree.tsx +++ b/packages/client/src/components/wiki/tocs/tree.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState, useCallback } from 'react'; import Link from 'next/link'; import { Tree as SemiTree, Button, Typography } from '@douyinfe/semi-ui'; import { IconMore, IconPlus } from '@douyinfe/semi-icons'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { DocumentActions } from 'components/document/actions'; import { DocumentCreator as DocumenCreatorForm } from 'components/document/create'; import { EventEmitter } from 'helpers/event-emitter'; diff --git a/packages/client/src/data/document.ts b/packages/client/src/data/document.ts index f9ceb180..ce49e028 100644 --- a/packages/client/src/data/document.ts +++ b/packages/client/src/data/document.ts @@ -1,7 +1,7 @@ import type { IUser, IDocument } from '@think/domains'; import useSWR from 'swr'; import { useState, useCallback, useEffect } from 'react'; -import { useAsyncLoading } from 'hooks/useAsyncLoading'; +import { useAsyncLoading } from 'hooks/use-async-loading'; import { HttpClient } from 'services/HttpClient'; import { getPublicDocumentDetail } from 'services/document'; diff --git a/packages/client/src/hooks/useAsyncLoading.tsx b/packages/client/src/hooks/use-async-loading.tsx similarity index 100% rename from packages/client/src/hooks/useAsyncLoading.tsx rename to packages/client/src/hooks/use-async-loading.tsx diff --git a/packages/client/src/hooks/useDocumentStyle.ts b/packages/client/src/hooks/use-document-style.ts similarity index 100% rename from packages/client/src/hooks/useDocumentStyle.ts rename to packages/client/src/hooks/use-document-style.ts diff --git a/packages/client/src/hooks/useDragableWidth.ts b/packages/client/src/hooks/use-dragable-width.ts similarity index 95% rename from packages/client/src/hooks/useDragableWidth.ts rename to packages/client/src/hooks/use-dragable-width.ts index 6b6c98c3..d621d136 100644 --- a/packages/client/src/hooks/useDragableWidth.ts +++ b/packages/client/src/hooks/use-dragable-width.ts @@ -1,6 +1,6 @@ import { useEffect, useRef } from 'react'; import useSWR from 'swr'; -import { useWindowSize } from 'hooks/useWindowSize'; +import { useWindowSize } from 'hooks/use-window-size'; import { setStorage, getStorage } from 'helpers/storage'; const key = 'dragable-menu-width'; diff --git a/packages/client/src/hooks/useMount.tsx b/packages/client/src/hooks/use-mount.tsx similarity index 100% rename from packages/client/src/hooks/useMount.tsx rename to packages/client/src/hooks/use-mount.tsx diff --git a/packages/client/src/hooks/useQuery.tsx b/packages/client/src/hooks/use-query.tsx similarity index 100% rename from packages/client/src/hooks/useQuery.tsx rename to packages/client/src/hooks/use-query.tsx diff --git a/packages/client/src/hooks/useTheme.tsx b/packages/client/src/hooks/use-theme.tsx similarity index 100% rename from packages/client/src/hooks/useTheme.tsx rename to packages/client/src/hooks/use-theme.tsx diff --git a/packages/client/src/hooks/useToggle.tsx b/packages/client/src/hooks/use-toggle.tsx similarity index 100% rename from packages/client/src/hooks/useToggle.tsx rename to packages/client/src/hooks/use-toggle.tsx diff --git a/packages/client/src/hooks/useWindowSize.tsx b/packages/client/src/hooks/use-window-size.tsx similarity index 100% rename from packages/client/src/hooks/useWindowSize.tsx rename to packages/client/src/hooks/use-window-size.tsx diff --git a/packages/client/src/hooks/useIsomorphicLayoutEffect.tsx b/packages/client/src/hooks/useIsomorphicLayoutEffect.tsx deleted file mode 100644 index b285db78..00000000 --- a/packages/client/src/hooks/useIsomorphicLayoutEffect.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { useEffect, useLayoutEffect } from 'react'; - -const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect; - -export default useIsomorphicLayoutEffect; diff --git a/packages/client/src/layouts/double-column/index.module.scss b/packages/client/src/layouts/double-column/index.module.scss index 3a74fdfa..46d4f767 100644 --- a/packages/client/src/layouts/double-column/index.module.scss +++ b/packages/client/src/layouts/double-column/index.module.scss @@ -1,13 +1,12 @@ .wrap { display: flex; flex-direction: column; - height: 100%; background-color: var(--semi-color-nav-bg); .contentWrap { - flex: 1; display: flex; + flex: 1; flex-wrap: nowrap; overflow: hidden; @@ -32,11 +31,11 @@ .collapseBtn { position: absolute; - z-index: 100; top: 1rem; right: 0; - transform: translate(50%); + z-index: 100; opacity: 0; + transform: translate(50%); &.isCollapsed { opacity: 1; diff --git a/packages/client/src/layouts/double-column/index.tsx b/packages/client/src/layouts/double-column/index.tsx index c7be625c..f5a4fdbe 100644 --- a/packages/client/src/layouts/double-column/index.tsx +++ b/packages/client/src/layouts/double-column/index.tsx @@ -3,7 +3,7 @@ import cls from 'classnames'; import { Layout as SemiLayout, Button } from '@douyinfe/semi-ui'; import { IconChevronLeft, IconChevronRight } from '@douyinfe/semi-icons'; import SplitPane from 'react-split-pane'; -import { useDragableWidth, MIN_WIDTH, MAX_WIDTH } from 'hooks/useDragableWidth'; +import { useDragableWidth, MIN_WIDTH, MAX_WIDTH } from 'hooks/use-dragable-width'; import { RouterHeader } from '../router-header'; import styles from './index.module.scss'; diff --git a/packages/client/src/layouts/public-double-column/index.module.scss b/packages/client/src/layouts/public-double-column/index.module.scss index 6951c33f..0f1315f6 100644 --- a/packages/client/src/layouts/public-double-column/index.module.scss +++ b/packages/client/src/layouts/public-double-column/index.module.scss @@ -23,11 +23,11 @@ .collapseBtn { position: absolute; - z-index: 100; top: 1rem; right: 0; - transform: translate(50%); + z-index: 100; opacity: 0; + transform: translate(50%); &.isCollapsed { opacity: 1; diff --git a/packages/client/src/layouts/public-double-column/index.tsx b/packages/client/src/layouts/public-double-column/index.tsx index 5f01898d..ef0030be 100644 --- a/packages/client/src/layouts/public-double-column/index.tsx +++ b/packages/client/src/layouts/public-double-column/index.tsx @@ -3,7 +3,7 @@ import cls from 'classnames'; import { Layout as SemiLayout, Button } from '@douyinfe/semi-ui'; import { IconChevronLeft, IconChevronRight } from '@douyinfe/semi-icons'; import SplitPane from 'react-split-pane'; -import { useDragableWidth, MIN_WIDTH, MAX_WIDTH } from 'hooks/useDragableWidth'; +import { useDragableWidth, MIN_WIDTH, MAX_WIDTH } from 'hooks/use-dragable-width'; import styles from './index.module.scss'; const { Sider, Content } = SemiLayout; diff --git a/packages/client/src/layouts/router-header/Recent.tsx b/packages/client/src/layouts/router-header/Recent.tsx index ca065db1..3495ae44 100644 --- a/packages/client/src/layouts/router-header/Recent.tsx +++ b/packages/client/src/layouts/router-header/Recent.tsx @@ -8,7 +8,7 @@ import { DataRender } from 'components/data-render'; import { LocaleTime } from 'components/locale-time'; import { DocumentStar } from 'components/document/star'; import { IconDocumentFill } from 'components/icons/IconDocumentFill'; -import { Placeholder } from './Placeholder'; +import { Placeholder } from './placeholder'; import styles from './index.module.scss'; const { Text } = Typography; diff --git a/packages/client/src/layouts/router-header/Wiki.tsx b/packages/client/src/layouts/router-header/Wiki.tsx index 3e8cef55..44825be7 100644 --- a/packages/client/src/layouts/router-header/Wiki.tsx +++ b/packages/client/src/layouts/router-header/Wiki.tsx @@ -7,7 +7,7 @@ import { useStaredWikis, useWikiDetail } from 'data/wiki'; import { Empty } from 'components/empty'; import { DataRender } from 'components/data-render'; import { WikiStar } from 'components/wiki/star'; -import { Placeholder } from './Placeholder'; +import { Placeholder } from './placeholder'; import styles from './index.module.scss'; const { Text } = Typography; diff --git a/packages/client/src/layouts/router-header/index.module.scss b/packages/client/src/layouts/router-header/index.module.scss index 4b8cd10f..d6929757 100644 --- a/packages/client/src/layouts/router-header/index.module.scss +++ b/packages/client/src/layouts/router-header/index.module.scss @@ -11,22 +11,22 @@ border-radius: var(--semi-border-radius-small); &:hover { - background-color: var(--semi-color-fill-0); color: var(--semi-color-text-0); + background-color: var(--semi-color-fill-0); } .item { display: flex; - align-items: center; justify-content: space-between; + align-items: center; width: 100%; padding: 8px 16px; .leftWrap { display: flex; align-items: center; - color: var(--semi-color-primary); padding-left: 8px; + color: var(--semi-color-primary); svg { fill: var(--semi-color-primary); diff --git a/packages/client/src/layouts/router-header/index.tsx b/packages/client/src/layouts/router-header/index.tsx index bc46218b..714a8e2f 100644 --- a/packages/client/src/layouts/router-header/index.tsx +++ b/packages/client/src/layouts/router-header/index.tsx @@ -8,12 +8,75 @@ import { LogoImage, LogoText } from 'components/logo'; import { Theme } from 'components/theme'; import { Message } from 'components/message'; import { Search } from 'components/search'; -import { useWindowSize } from 'hooks/useWindowSize'; -import { Recent } from './Recent'; -import { Wiki } from './Wiki'; +import { useWindowSize } from 'hooks/use-window-size'; +import { Recent } from './recent'; +import { Wiki } from './wiki'; const { Header: SemiHeader } = SemiLayout; +const menus = [ + { + itemKey: '/', + text: ( + + 主页 + + ), + onClick: () => { + Router.push({ + pathname: `/`, + }); + }, + }, + { + itemKey: '/recent', + text: , + }, + { + itemKey: '/wiki', + text: , + }, + { + itemKey: '/star', + text: ( + + 收藏 + + ), + onClick: () => { + Router.push({ + pathname: `/star`, + }); + }, + }, + { + itemKey: '/template', + text: ( + + 模板 + + ), + onClick: () => { + Router.push({ + pathname: `/template`, + }); + }, + }, + { + itemKey: '/find', + text: ( + + 发现 + + ), + onClick: () => { + Router.push({ + pathname: `/find`, + }); + }, + }, +]; + export const RouterHeader: React.FC = () => { const { pathname } = useRouter(); const windowSize = useWindowSize(); @@ -30,68 +93,7 @@ export const RouterHeader: React.FC = () => { } selectedKeys={[pathname || '/']} - items={[ - { - itemKey: '/', - text: ( - - 主页 - - ), - onClick: () => { - Router.push({ - pathname: `/`, - }); - }, - }, - { - itemKey: '/recent', - text: , - }, - { - itemKey: '/wiki', - text: , - }, - { - itemKey: '/star', - text: ( - - 收藏 - - ), - onClick: () => { - Router.push({ - pathname: `/star`, - }); - }, - }, - { - itemKey: '/template', - text: ( - - 模板 - - ), - onClick: () => { - Router.push({ - pathname: `/template`, - }); - }, - }, - { - itemKey: '/find', - text: ( - - 发现 - - ), - onClick: () => { - Router.push({ - pathname: `/find`, - }); - }, - }, - ]} + items={menus} footer={ diff --git a/packages/client/src/pages/index.module.scss b/packages/client/src/pages/index.module.scss index 7b66c182..4708e1b0 100644 --- a/packages/client/src/pages/index.module.scss +++ b/packages/client/src/pages/index.module.scss @@ -1,9 +1,9 @@ .wikiItemWrap { - cursor: pointer; - border: 1px solid var(--semi-color-border) !important; - background-color: var(--semi-color-bg-2); padding: 12px 16px !important; margin: 8px 2px; + cursor: pointer; + background-color: var(--semi-color-bg-2); + border: 1px solid var(--semi-color-border) !important; } .titleWrap { diff --git a/packages/client/src/pages/index.tsx b/packages/client/src/pages/index.tsx index 2049ea5c..22570ba7 100644 --- a/packages/client/src/pages/index.tsx +++ b/packages/client/src/pages/index.tsx @@ -3,7 +3,7 @@ import type { IDocument } from '@think/domains'; import Link from 'next/link'; import React from 'react'; import { Typography, Button, Table, Spin, List } from '@douyinfe/semi-ui'; -import { useToggle } from 'hooks/useToggle'; +import { useToggle } from 'hooks/use-toggle'; import { Seo } from 'components/seo'; import { DataRender } from 'components/data-render'; import { SingleColumnLayout } from 'layouts/single-column'; diff --git a/packages/client/src/pages/login/index.module.scss b/packages/client/src/pages/login/index.module.scss index 1eff7131..e76631f2 100644 --- a/packages/client/src/pages/login/index.module.scss +++ b/packages/client/src/pages/login/index.module.scss @@ -1,30 +1,30 @@ .wrap { position: relative; - height: 100%; display: flex; flex-direction: column; + height: 100%; background-color: var(--semi-color-bg-0); .content { position: relative; z-index: 10; - flex: 1; padding: 10vh 24px; + flex: 1; .form { width: 100%; max-width: 400px; - margin: 0 auto; padding: 32px 24px; + margin: 0 auto; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); box-shadow: var(--box-shadow); footer { - margin-top: 12px; padding-top: 16px; - text-align: center; border-top: 1px solid var(--semi-color-border); + margin-top: 12px; + text-align: center; } } } diff --git a/packages/client/src/pages/register/index.module.scss b/packages/client/src/pages/register/index.module.scss index 1eff7131..e76631f2 100644 --- a/packages/client/src/pages/register/index.module.scss +++ b/packages/client/src/pages/register/index.module.scss @@ -1,30 +1,30 @@ .wrap { position: relative; - height: 100%; display: flex; flex-direction: column; + height: 100%; background-color: var(--semi-color-bg-0); .content { position: relative; z-index: 10; - flex: 1; padding: 10vh 24px; + flex: 1; .form { width: 100%; max-width: 400px; - margin: 0 auto; padding: 32px 24px; + margin: 0 auto; border: 1px solid var(--semi-color-border); border-radius: var(--border-radius); box-shadow: var(--box-shadow); footer { - margin-top: 12px; padding-top: 16px; - text-align: center; border-top: 1px solid var(--semi-color-border); + margin-top: 12px; + text-align: center; } } } diff --git a/packages/client/src/pages/register/index.tsx b/packages/client/src/pages/register/index.tsx index 02b98b8c..34c0ceaa 100644 --- a/packages/client/src/pages/register/index.tsx +++ b/packages/client/src/pages/register/index.tsx @@ -4,7 +4,7 @@ import { Form, Button, Layout, Space, Typography, Modal } from '@douyinfe/semi-u import { Seo } from 'components/seo'; import { LogoImage, LogoText } from 'components/logo'; import { Author } from 'components/author'; -import { useAsyncLoading } from 'hooks/useAsyncLoading'; +import { useAsyncLoading } from 'hooks/use-async-loading'; import { register as registerApi } from 'services/user'; import styles from './index.module.scss'; diff --git a/packages/client/src/pages/share/document/[documentId]/index.module.scss b/packages/client/src/pages/share/document/[documentId]/index.module.scss index 2eabdd32..a22ea550 100644 --- a/packages/client/src/pages/share/document/[documentId]/index.module.scss +++ b/packages/client/src/pages/share/document/[documentId]/index.module.scss @@ -4,15 +4,15 @@ height: 100%; .form { - margin: 0 auto; width: 400px; padding: 48px 0; + margin: 0 auto; } .content { - flex: 1; overflow: hidden; background-color: var(--semi-color-bg-0); + flex: 1; > div { height: 100%; diff --git a/packages/client/src/pages/share/wiki/[wikiId]/document/[documentId]/index.module.scss b/packages/client/src/pages/share/wiki/[wikiId]/document/[documentId]/index.module.scss index 2eabdd32..a22ea550 100644 --- a/packages/client/src/pages/share/wiki/[wikiId]/document/[documentId]/index.module.scss +++ b/packages/client/src/pages/share/wiki/[wikiId]/document/[documentId]/index.module.scss @@ -4,15 +4,15 @@ height: 100%; .form { - margin: 0 auto; width: 400px; padding: 48px 0; + margin: 0 auto; } .content { - flex: 1; overflow: hidden; background-color: var(--semi-color-bg-0); + flex: 1; > div { height: 100%; diff --git a/packages/client/src/pages/star/index.module.scss b/packages/client/src/pages/star/index.module.scss index 7b66c182..4708e1b0 100644 --- a/packages/client/src/pages/star/index.module.scss +++ b/packages/client/src/pages/star/index.module.scss @@ -1,9 +1,9 @@ .wikiItemWrap { - cursor: pointer; - border: 1px solid var(--semi-color-border) !important; - background-color: var(--semi-color-bg-2); padding: 12px 16px !important; margin: 8px 2px; + cursor: pointer; + background-color: var(--semi-color-bg-2); + border: 1px solid var(--semi-color-border) !important; } .titleWrap { diff --git a/packages/client/src/pages/template/index.module.scss b/packages/client/src/pages/template/index.module.scss index 0e999abe..4180e9dd 100644 --- a/packages/client/src/pages/template/index.module.scss +++ b/packages/client/src/pages/template/index.module.scss @@ -1,13 +1,13 @@ .itemWrap { - cursor: pointer; - border: 1px solid var(--semi-color-border) !important; - background-color: var(--semi-color-bg-2); padding: 12px 16px !important; margin: 8px 2px; + cursor: pointer; + background-color: var(--semi-color-bg-2); + border: 1px solid var(--semi-color-border) !important; } .titleWrap { display: flex; - align-items: center; justify-content: space-between; + align-items: center; } diff --git a/packages/client/src/pages/wiki/[wikiId]/documents/index.module.scss b/packages/client/src/pages/wiki/[wikiId]/documents/index.module.scss index 6f2fe40a..80e9b935 100644 --- a/packages/client/src/pages/wiki/[wikiId]/documents/index.module.scss +++ b/packages/client/src/pages/wiki/[wikiId]/documents/index.module.scss @@ -1,21 +1,20 @@ .cardWrap { - margin: 8px 0; display: flex; - flex-direction: column; width: 100%; max-height: 260px; padding: 12px 16px 16px; - border-radius: 5px; - border: 1px solid var(--semi-color-border); + margin: 8px 0; cursor: pointer; + border: 1px solid var(--semi-color-border); + border-radius: 5px; + flex-direction: column; > header { display: flex; justify-content: space-between; align-items: center; - - color: var(--semi-color-primary); margin-bottom: 12px; + color: var(--semi-color-primary); .rightWrap { opacity: 0; diff --git a/packages/client/src/pages/wiki/[wikiId]/index.module.scss b/packages/client/src/pages/wiki/[wikiId]/index.module.scss index f60a1ae9..39b43d55 100644 --- a/packages/client/src/pages/wiki/[wikiId]/index.module.scss +++ b/packages/client/src/pages/wiki/[wikiId]/index.module.scss @@ -1,24 +1,24 @@ .navItemWrap { - padding: 0 0.5rem; + padding: 0 .5rem; .navItem { display: flex; - align-items: center; width: 100%; height: 36px; font-size: 14px; color: var(--semi-color-text-0); - border-radius: var(--semi-border-radius-small); cursor: pointer; + border-radius: var(--semi-border-radius-small); + align-items: center; &:hover { - background-color: var(--semi-color-fill-0); color: var(--semi-color-text-0); + background-color: var(--semi-color-fill-0); } &.isActive { - background-color: var(--semi-color-primary-light-default); color: var(--semi-color-text-0); + background-color: var(--semi-color-primary-light-default); } > span { @@ -31,11 +31,11 @@ } .title { - flex: 1; overflow: hidden; + color: var(--semi-color-text-0); text-overflow: ellipsis; white-space: nowrap; - color: var(--semi-color-text-0); + flex: 1; } } } diff --git a/packages/client/src/pages/wiki/index.module.scss b/packages/client/src/pages/wiki/index.module.scss index 7b66c182..4708e1b0 100644 --- a/packages/client/src/pages/wiki/index.module.scss +++ b/packages/client/src/pages/wiki/index.module.scss @@ -1,9 +1,9 @@ .wikiItemWrap { - cursor: pointer; - border: 1px solid var(--semi-color-border) !important; - background-color: var(--semi-color-bg-2); padding: 12px 16px !important; margin: 8px 2px; + cursor: pointer; + background-color: var(--semi-color-bg-2); + border: 1px solid var(--semi-color-border) !important; } .titleWrap { diff --git a/packages/client/src/styles/editor/base.scss b/packages/client/src/styles/editor/base.scss index 4ed3b5ed..1d610d00 100644 --- a/packages/client/src/styles/editor/base.scss +++ b/packages/client/src/styles/editor/base.scss @@ -1,12 +1,22 @@ .ProseMirror { + font-family: + 'Chinese Quote', + 'Segoe UI', + Roboto, + RobotoNum, + 'PingFang SC', + 'Hiragino Sans GB', + 'Microsoft YaHei', + 'Helvetica Neue', + Helvetica, + Arial, + sans-serif; + line-height: 1.74; + letter-spacing: .008em; color: var(--semi-color-text-0); - white-space: break-spaces; word-break: break-word; word-wrap: break-word; - font-family: 'Chinese Quote', 'Segoe UI', Roboto, RobotoNum, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', - 'Helvetica Neue', Helvetica, Arial, sans-serif; - letter-spacing: 0.008em; - line-height: 1.74; + white-space: break-spaces; outline: none !important; &:focus-visible { @@ -19,40 +29,40 @@ } img { - border-radius: var(--border-radius); border: 1px solid var(--semi-color-border); + border-radius: var(--border-radius); } p { + margin-top: .75rem; + margin-bottom: 0; font-size: 1em; - line-height: 1.714; font-weight: normal; - margin-top: 0.75rem; - margin-bottom: 0px; - letter-spacing: -0.005em; + line-height: 1.714; + letter-spacing: -.005em; } blockquote { box-sizing: border-box; padding-left: 10px; border-left: 2px solid var(--semi-color-fill-2); - margin: 0.75rem 0; + margin: .75rem 0; } hr { position: relative; - border: 0; height: 2px; background: var(--semi-color-border); + border: 0; &::before, &::after { - content: ''; position: absolute; left: 0; display: block; width: 100%; height: 12px; + content: ''; } &::before { @@ -67,5 +77,6 @@ .resize-cursor { cursor: ew-resize; + /* stylelint-disable-next-line declaration-block-no-duplicate-properties */ cursor: col-resize; } diff --git a/packages/client/src/styles/editor/code.scss b/packages/client/src/styles/editor/code.scss index 721597c6..9bd9d110 100644 --- a/packages/client/src/styles/editor/code.scss +++ b/packages/client/src/styles/editor/code.scss @@ -1,37 +1,35 @@ .ProseMirror { code { - cursor: text; - font-size: 0.875rem; - line-height: 1.5rem; - border-radius: var(--border-radius); padding: 4px; - line-height: 1.3; - background-color: var(--semi-color-fill-1); font-family: Consolas, Menlo, Courier, monospace; + font-size: .875rem; + line-height: 1.3; + cursor: text; + background-color: var(--semi-color-fill-1); + border-radius: var(--border-radius); } pre { position: relative; - margin: 0; - counter-reset: line 0; display: flex; min-width: 48px; + margin: 0; overflow-x: auto; line-height: 1.3; background-color: var(--semi-color-fill-0); + counter-reset: line 0; code { - color: inherit; - font-size: 0.875rem; - line-height: 1.5rem; - margin: 8px; - padding: 0; - white-space: pre; - background-color: transparent; - width: 100%; max-height: 370px; + padding: 0; + margin: 8px; overflow: auto; + font-size: .875rem; + line-height: 1.5rem; + color: inherit; + white-space: pre; + background-color: transparent; overscroll-behavior: contain; } } @@ -49,7 +47,7 @@ */ .hljs { color: #24292e; - background: #ffffff; + background: #fff; } .hljs-doctag, @@ -119,9 +117,10 @@ } .hljs-section { + font-weight: bold; + /* prettylights-syntax-markup-heading */ color: #005cc5; - font-weight: bold; } .hljs-bullet { @@ -130,15 +129,17 @@ } .hljs-emphasis { + font-style: italic; + /* prettylights-syntax-markup-italic */ color: #24292e; - font-style: italic; } .hljs-strong { + font-weight: bold; + /* prettylights-syntax-markup-bold */ color: #24292e; - font-weight: bold; } .hljs-addition { @@ -237,9 +238,10 @@ body[theme-mode='dark'] { } .hljs-section { + font-weight: bold; + /* prettylights-syntax-markup-heading */ color: #1f6feb; - font-weight: bold; } .hljs-bullet { @@ -248,15 +250,17 @@ body[theme-mode='dark'] { } .hljs-emphasis { + font-style: italic; + /* prettylights-syntax-markup-italic */ color: #c9d1d9; - font-style: italic; } .hljs-strong { + font-weight: bold; + /* prettylights-syntax-markup-bold */ color: #c9d1d9; - font-weight: bold; } .hljs-addition { @@ -272,6 +276,6 @@ body[theme-mode='dark'] { } img { - opacity: 0.75; + opacity: .75; } } diff --git a/packages/client/src/styles/editor/collaboration.scss b/packages/client/src/styles/editor/collaboration.scss index 44646442..89580709 100644 --- a/packages/client/src/styles/editor/collaboration.scss +++ b/packages/client/src/styles/editor/collaboration.scss @@ -1,24 +1,24 @@ .collaboration-cursor__caret { - border-left: 1px solid #0d0d0d; - border-right: 1px solid #0d0d0d; - margin-left: -1px; - margin-right: -1px; - pointer-events: none; position: relative; + border-left: 1px solid #0d0d0d; + margin-right: -1px; + margin-left: -1px; word-break: normal; + pointer-events: none; + border-right: 1px solid #0d0d0d; } .collaboration-cursor__label { - border-radius: 3px 3px 3px 0; - color: #0d0d0d; + position: absolute; + top: -1.4em; + left: -1px; + padding: .1rem .3rem; font-size: 12px; font-style: normal; font-weight: 600; - left: -1px; line-height: normal; - padding: 0.1rem 0.3rem; - position: absolute; - top: -1.4em; - user-select: none; + color: #0d0d0d; white-space: nowrap; + border-radius: 3px 3px 3px 0; + user-select: none; } diff --git a/packages/client/src/styles/editor/color.scss b/packages/client/src/styles/editor/color.scss index d24f364e..8b1a6076 100644 --- a/packages/client/src/styles/editor/color.scss +++ b/packages/client/src/styles/editor/color.scss @@ -2,15 +2,15 @@ white-space: nowrap; &::before { + display: inline-block; + width: 1em; + height: 1em; + margin-right: .1em; + margin-bottom: .15em; + vertical-align: middle; background-color: var(--color); - border: 1px solid rgba(128, 128, 128, 0.3); + border: 1px solid rgb(128 128 128 / 30%); border-radius: 2px; content: ' '; - display: inline-block; - height: 1em; - margin-bottom: 0.15em; - margin-right: 0.1em; - vertical-align: middle; - width: 1em; } } diff --git a/packages/client/src/styles/editor/heading.scss b/packages/client/src/styles/editor/heading.scss index 9868183b..766d1621 100644 --- a/packages/client/src/styles/editor/heading.scss +++ b/packages/client/src/styles/editor/heading.scss @@ -1,32 +1,32 @@ .ProseMirror { h1 { + margin: 26px 0 12px; font-size: 1.87em; - margin: 26px 0 12px 0; } h2 { + margin: 21px 0 12px; font-size: 1.6em; - margin: 21px 0 12px 0; } h3 { + margin: 16px 0 12px; font-size: 1.3em; - margin: 16px 0 12px 0; } h4 { + margin: 14px 0 12px; font-size: 1.1em; - margin: 14px 0 12px 0; } h5 { + margin: 5px 0 12px; font-size: 1em; - margin: 5px 0 12px 0; } h6 { + margin: 0 0 12px; font-size: 1em; - margin: 0 0 12px 0; } h1:first-child, diff --git a/packages/client/src/styles/editor/katex.scss b/packages/client/src/styles/editor/katex.scss index 758653f6..b2cf3a94 100644 --- a/packages/client/src/styles/editor/katex.scss +++ b/packages/client/src/styles/editor/katex.scss @@ -1,172 +1,212 @@ +/* stylelint-disable */ .katex { font-size: 1em; text-rendering: auto; } + .katex * { -ms-high-contrast-adjust: none !important; - border-color: currentColor; + border-color: currentcolor; } -.katex .katex-version:after { + +.katex .katex-version::after { content: '0.15.2'; } + .katex .katex-mathml { - clip: rect(1px, 1px, 1px, 1px); - border: 0; - height: 1px; - overflow: hidden; - padding: 0; position: absolute; width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + border: 0; } + .katex .katex-html > .newline { display: block; } + .katex .base { position: relative; - white-space: nowrap; - width: -webkit-min-content; - width: -moz-min-content; width: min-content; + white-space: nowrap; } + .katex .base, .katex .strut { display: inline-block; } + .katex .textbf { font-weight: 700; } + .katex .textit { font-style: italic; } + .katex .textrm { - font-family: KaTeX_Main; + font-family: 'KaTeX_Main'; } + .katex .textsf { - font-family: KaTeX_SansSerif; + font-family: 'KaTeX_SansSerif'; } + .katex .texttt { - font-family: KaTeX_Typewriter; + font-family: 'KaTeX_Typewriter'; } + .katex .mathnormal { - font-family: KaTeX_Math; + font-family: 'KaTeX_Math'; font-style: italic; } + .katex .mathit { - font-family: KaTeX_Main; + font-family: 'KaTeX_Main'; font-style: italic; } + .katex .mathrm { font-style: normal; } + .katex .mathbf { - font-family: KaTeX_Main; + font-family: 'KaTeX_Main'; font-weight: 700; } + .katex .boldsymbol { - font-family: KaTeX_Math; + font-family: 'KaTeX_Math'; font-style: italic; font-weight: 700; } + .katex .amsrm, .katex .mathbb, .katex .textbb { - font-family: KaTeX_AMS; + font-family: 'KaTeX_AMS'; } + .katex .mathcal { - font-family: KaTeX_Caligraphic; + font-family: 'KaTeX_Caligraphic'; } + .katex .mathfrak, .katex .textfrak { - font-family: KaTeX_Fraktur; + font-family: 'KaTeX_Fraktur'; } + .katex .mathtt { - font-family: KaTeX_Typewriter; + font-family: 'KaTeX_Typewriter'; } + .katex .mathscr, .katex .textscr { - font-family: KaTeX_Script; + font-family: 'KaTeX_Script'; } + .katex .mathsf, .katex .textsf { - font-family: KaTeX_SansSerif; + font-family: 'KaTeX_SansSerif'; } + .katex .mathboldsf, .katex .textboldsf { - font-family: KaTeX_SansSerif; + font-family: 'KaTeX_SansSerif'; font-weight: 700; } + .katex .mathitsf, .katex .textitsf { - font-family: KaTeX_SansSerif; + font-family: 'KaTeX_SansSerif'; font-style: italic; } + .katex .mainrm { - font-family: KaTeX_Main; + font-family: 'KaTeX_Main'; font-style: normal; } + .katex .vlist-t { - border-collapse: collapse; display: inline-table; table-layout: fixed; + border-collapse: collapse; } + .katex .vlist-r { display: table-row; } + .katex .vlist { - display: table-cell; position: relative; + display: table-cell; vertical-align: bottom; } + .katex .vlist > span { + position: relative; display: block; height: 0; - position: relative; } + .katex .vlist > span > span { display: inline-block; } + .katex .vlist > span > .pstrut { - overflow: hidden; width: 0; + overflow: hidden; } + .katex .vlist-t2 { margin-right: -2px; } + .katex .vlist-s { display: table-cell; - font-size: 1px; - min-width: 2px; - vertical-align: bottom; width: 2px; + min-width: 2px; + font-size: 1px; + vertical-align: bottom; } + .katex .vbox { - align-items: baseline; display: inline-flex; flex-direction: column; + align-items: baseline; } + .katex .hbox { width: 100%; } + .katex .hbox, .katex .thinbox { display: inline-flex; flex-direction: row; } + .katex .thinbox { - max-width: 0; width: 0; + max-width: 0; } + .katex .msupsub { text-align: left; } + .katex .mfrac > span > span { text-align: center; } + .katex .mfrac .frac-line { - border-bottom-style: solid; display: inline-block; width: 100%; + border-bottom-style: solid; } + .katex .hdashline, .katex .hline, .katex .mfrac .frac-line, @@ -175,608 +215,765 @@ .katex .underline .underline-line { min-height: 1px; } + .katex .mspace { display: inline-block; } + .katex .clap, .katex .llap, .katex .rlap { position: relative; width: 0; } + .katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner { position: absolute; } + .katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix { display: inline-block; } + .katex .llap > .inner { right: 0; } + .katex .clap > .inner, .katex .rlap > .inner { left: 0; } + .katex .clap > .inner > span { - margin-left: -50%; margin-right: 50%; + margin-left: -50%; } + .katex .rule { - border: 0 solid; - display: inline-block; position: relative; + display: inline-block; + border: 0 solid; } + .katex .hline, .katex .overline .overline-line, .katex .underline .underline-line { + display: inline-block; + width: 100%; border-bottom-style: solid; - display: inline-block; - width: 100%; } + .katex .hdashline { - border-bottom-style: dashed; display: inline-block; width: 100%; + border-bottom-style: dashed; } + .katex .sqrt > .root { - margin-left: 0.27777778em; margin-right: -0.55555556em; + margin-left: 0.27777778em; } + .katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 { font-size: 1.2em; } + .katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 { font-size: 1.4em; } + .katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 { font-size: 1.6em; } + .katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 { font-size: 1.8em; } + .katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 { font-size: 2em; } + .katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 { font-size: 2.4em; } + .katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 { font-size: 2.88em; } + .katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 { font-size: 3.456em; } + .katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 { font-size: 4.148em; } + .katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 { font-size: 4.976em; } + .katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 { font-size: 0.83333333em; } + .katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 { font-size: 1.16666667em; } + .katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 { font-size: 1.33333333em; } + .katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 { font-size: 1.5em; } + .katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 { font-size: 1.66666667em; } + .katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 { font-size: 2em; } + .katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 { font-size: 2.4em; } + .katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 { font-size: 2.88em; } + .katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 { font-size: 3.45666667em; } + .katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 { font-size: 4.14666667em; } + .katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 { font-size: 0.71428571em; } + .katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 { font-size: 0.85714286em; } + .katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 { font-size: 1.14285714em; } + .katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 { font-size: 1.28571429em; } + .katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 { font-size: 1.42857143em; } + .katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 { font-size: 1.71428571em; } + .katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 { font-size: 2.05714286em; } + .katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 { font-size: 2.46857143em; } + .katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 { font-size: 2.96285714em; } + .katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 { font-size: 3.55428571em; } + .katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 { font-size: 0.625em; } + .katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 { font-size: 0.75em; } + .katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 { font-size: 0.875em; } + .katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 { font-size: 1.125em; } + .katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 { font-size: 1.25em; } + .katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 { font-size: 1.5em; } + .katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 { font-size: 1.8em; } + .katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 { font-size: 2.16em; } + .katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 { font-size: 2.5925em; } + .katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 { font-size: 3.11em; } + .katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 { font-size: 0.55555556em; } + .katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 { font-size: 0.66666667em; } + .katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 { font-size: 0.77777778em; } + .katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 { font-size: 0.88888889em; } + .katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 { font-size: 1.11111111em; } + .katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 { font-size: 1.33333333em; } + .katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 { font-size: 1.6em; } + .katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 { font-size: 1.92em; } + .katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 { font-size: 2.30444444em; } + .katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 { font-size: 2.76444444em; } + .katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 { font-size: 0.5em; } + .katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 { font-size: 0.6em; } + .katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 { font-size: 0.7em; } + .katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 { font-size: 0.8em; } + .katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 { font-size: 0.9em; } + .katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 { font-size: 1.2em; } + .katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 { font-size: 1.44em; } + .katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 { font-size: 1.728em; } + .katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 { font-size: 2.074em; } + .katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 { font-size: 2.488em; } + .katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 { font-size: 0.41666667em; } + .katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 { font-size: 0.5em; } + .katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 { font-size: 0.58333333em; } + .katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 { font-size: 0.66666667em; } + .katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 { font-size: 0.75em; } + .katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 { font-size: 0.83333333em; } + .katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 { font-size: 1.2em; } + .katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 { font-size: 1.44em; } + .katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 { font-size: 1.72833333em; } + .katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 { font-size: 2.07333333em; } + .katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 { font-size: 0.34722222em; } + .katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 { font-size: 0.41666667em; } + .katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 { font-size: 0.48611111em; } + .katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 { font-size: 0.55555556em; } + .katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 { font-size: 0.625em; } + .katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 { font-size: 0.69444444em; } + .katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 { font-size: 0.83333333em; } + .katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 { font-size: 1.2em; } + .katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 { font-size: 1.44027778em; } + .katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 { font-size: 1.72777778em; } + .katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 { font-size: 0.28935185em; } + .katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 { font-size: 0.34722222em; } + .katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 { font-size: 0.40509259em; } + .katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 { font-size: 0.46296296em; } + .katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 { font-size: 0.52083333em; } + .katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 { font-size: 0.5787037em; } + .katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 { font-size: 0.69444444em; } + .katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 { font-size: 0.83333333em; } + .katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 { font-size: 1.20023148em; } + .katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 { font-size: 1.43981481em; } + .katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 { font-size: 0.24108004em; } + .katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 { font-size: 0.28929605em; } + .katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 { font-size: 0.33751205em; } + .katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 { font-size: 0.38572806em; } + .katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 { font-size: 0.43394407em; } + .katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 { font-size: 0.48216008em; } + .katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 { font-size: 0.57859209em; } + .katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 { font-size: 0.69431051em; } + .katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 { font-size: 0.83317261em; } + .katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 { font-size: 1em; } + .katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 { font-size: 1.19961427em; } + .katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 { font-size: 0.20096463em; } + .katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 { font-size: 0.24115756em; } + .katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 { font-size: 0.28135048em; } + .katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 { font-size: 0.32154341em; } + .katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 { font-size: 0.36173633em; } + .katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 { font-size: 0.40192926em; } + .katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 { font-size: 0.48231511em; } + .katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 { font-size: 0.57877814em; } + .katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 { font-size: 0.69453376em; } + .katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 { font-size: 0.83360129em; } + .katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 { font-size: 1em; } + .katex .delimsizing.size1 { - font-family: KaTeX_Size1; + font-family: 'KaTeX_Size1'; } + .katex .delimsizing.size2 { - font-family: KaTeX_Size2; + font-family: 'KaTeX_Size2'; } + .katex .delimsizing.size3 { - font-family: KaTeX_Size3; + font-family: 'KaTeX_Size3'; } + .katex .delimsizing.size4 { - font-family: KaTeX_Size4; + font-family: 'KaTeX_Size4'; } + .katex .delimsizing.mult .delim-size1 > span { - font-family: KaTeX_Size1; + font-family: 'KaTeX_Size1'; } + .katex .delimsizing.mult .delim-size4 > span { - font-family: KaTeX_Size4; + font-family: 'KaTeX_Size4'; } + .katex .nulldelimiter { display: inline-block; width: 0.12em; } + .katex .delimcenter, .katex .op-symbol { position: relative; } + .katex .op-symbol.small-op { - font-family: KaTeX_Size1; + font-family: 'KaTeX_Size1'; } + .katex .op-symbol.large-op { - font-family: KaTeX_Size2; + font-family: 'KaTeX_Size2'; } + .katex .accent > .vlist-t, .katex .op-limits > .vlist-t { text-align: center; } + .katex .accent .accent-body { position: relative; } + .katex .accent .accent-body:not(.accent-full) { width: 0; } + .katex .overlay { display: block; } + .katex .mtable .vertical-separator { display: inline-block; min-width: 1px; } + .katex .mtable .arraycolsep { display: inline-block; } + .katex .mtable .col-align-c > .vlist-t { text-align: center; } + .katex .mtable .col-align-l > .vlist-t { text-align: left; } + .katex .mtable .col-align-r > .vlist-t { text-align: right; } + .katex .svg-align { text-align: left; } + .katex svg { - fill: currentColor; - stroke: currentColor; + position: absolute; + display: block; + width: 100%; + height: inherit; + fill: currentcolor; + stroke: currentcolor; fill-rule: nonzero; fill-opacity: 1; stroke-width: 1; @@ -786,154 +983,182 @@ stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; - display: block; - height: inherit; - position: absolute; - width: 100%; } + .katex svg path { stroke: none; } + .katex img { - border-style: none; - max-height: none; max-width: none; - min-height: 0; + max-height: none; min-width: 0; + min-height: 0; + border-style: none; } + .katex .stretchy { - display: block; - overflow: hidden; position: relative; + display: block; width: 100%; + overflow: hidden; } -.katex .stretchy:after, -.katex .stretchy:before { + +.katex .stretchy::after, +.katex .stretchy::before { content: ''; } + .katex .hide-tail { - overflow: hidden; position: relative; width: 100%; + overflow: hidden; } + .katex .halfarrow-left { - left: 0; - overflow: hidden; position: absolute; + left: 0; width: 50.2%; + overflow: hidden; } + .katex .halfarrow-right { - overflow: hidden; position: absolute; right: 0; width: 50.2%; + overflow: hidden; } + .katex .brace-left { + position: absolute; left: 0; - overflow: hidden; - position: absolute; width: 25.1%; + overflow: hidden; } + .katex .brace-center { - left: 25%; - overflow: hidden; position: absolute; + left: 25%; width: 50%; -} -.katex .brace-right { overflow: hidden; +} + +.katex .brace-right { position: absolute; right: 0; width: 25.1%; + overflow: hidden; } + .katex .x-arrow-pad { padding: 0 0.5em; } + .katex .cd-arrow-pad { padding: 0 0.55556em 0 0.27778em; } + .katex .mover, .katex .munder, .katex .x-arrow { text-align: center; } + .katex .boxpad { padding: 0 0.3em; } + .katex .fbox, .katex .fcolorbox { - border: 0.04em solid; box-sizing: border-box; + border: 0.04em solid; } + .katex .cancel-pad { padding: 0 0.2em; } + .katex .cancel-lap { - margin-left: -0.2em; margin-right: -0.2em; + margin-left: -0.2em; } + .katex .sout { - border-bottom-style: solid; border-bottom-width: 0.08em; + border-bottom-style: solid; } + .katex .angl { - border-right: 0.049em solid; - border-top: 0.049em solid; box-sizing: border-box; + border-top: 0.049em solid; margin-right: 0.03889em; + border-right: 0.049em solid; } + .katex .anglpad { padding: 0 0.03889em; } -.katex .eqn-num:before { + +.katex .eqn-num::before { content: '(' counter(katexEqnNo) ')'; counter-increment: katexEqnNo; } -.katex .mml-eqn-num:before { + +.katex .mml-eqn-num::before { content: '(' counter(mmlEqnNo) ')'; counter-increment: mmlEqnNo; } + .katex .mtr-glue { width: 50%; } + .katex .cd-vert-arrow { - display: inline-block; position: relative; -} -.katex .cd-label-left { display: inline-block; +} + +.katex .cd-label-left { position: absolute; right: calc(50% + 0.3em); + display: inline-block; text-align: left; } + .katex .cd-label-right { - display: inline-block; - left: calc(50% + 0.3em); position: absolute; + left: calc(50% + 0.3em); + display: inline-block; text-align: right; } + .katex-display { display: block; margin: 1em 0; text-align: center; } + .katex-display > .katex { display: block; text-align: center; white-space: nowrap; } + .katex-display > .katex > .katex-html { - display: block; position: relative; + display: block; } + .katex-display > .katex > .katex-html > .tag { position: absolute; right: 0; } + .katex-display.leqno > .katex > .katex-html > .tag { - left: 0; right: auto; + left: 0; } + .katex-display.fleqn > .katex { padding-left: 2em; text-align: left; diff --git a/packages/client/src/styles/editor/list.scss b/packages/client/src/styles/editor/list.scss index b09c6f3a..178473b8 100644 --- a/packages/client/src/styles/editor/list.scss +++ b/packages/client/src/styles/editor/list.scss @@ -1,3 +1,4 @@ +/* stylelint-disable */ .ProseMirror { ol, ul { @@ -37,8 +38,8 @@ } ul[data-type='taskList'] { - list-style: none; padding: 0; + list-style: none; p { margin: 0; @@ -53,28 +54,28 @@ > span { position: absolute; - left: 0; top: 6px; + left: 0; display: block; width: 16px; height: 16px; + background-color: #fff; border: 1px solid var(--semi-color-border); border-radius: 2px; - background-color: #fff; &::after { - content: ' '; position: absolute; - left: 4.071429px; top: -0.357143px; + left: 4.071429px; width: 6.714286px; height: 12.142857px; border: 2px solid #fff; + content: ' '; + opacity: 0; + transform: rotate(45deg) scale(0); border-top: 0; border-left: 0; transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - transform: rotate(45deg) scale(0); - opacity: 0; } } diff --git a/packages/client/src/styles/editor/menu.scss b/packages/client/src/styles/editor/menu.scss index 515bd0e2..53546ed0 100644 --- a/packages/client/src/styles/editor/menu.scss +++ b/packages/client/src/styles/editor/menu.scss @@ -1,25 +1,25 @@ .bubble-menu { display: flex; - align-items: center; padding: 4px; - border-radius: 3px; - box-shadow: var(--box-shadow); + overflow-x: auto; background-color: var(--semi-color-nav-bg); border: 1px solid var(--semi-color-border); - overflow-x: auto; + border-radius: 3px; + align-items: center; + box-shadow: var(--box-shadow); } .bubble-memu-table-cell { display: flex; padding: 4px; - border-radius: 3px; - box-shadow: var(--box-shadow); background-color: var(--semi-color-nav-bg); border: 1px solid var(--semi-color-border); + border-radius: 3px; + box-shadow: var(--box-shadow); &.row { - column-gap: 8px; flex-direction: column; + column-gap: 8px; transform: translate(0, 70%); } } diff --git a/packages/client/src/styles/editor/mind.scss b/packages/client/src/styles/editor/mind.scss index 05eb2f76..d21c7db5 100644 --- a/packages/client/src/styles/editor/mind.scss +++ b/packages/client/src/styles/editor/mind.scss @@ -1,24 +1,18 @@ -/* - * Released under BSD License - * Copyright (c) 2014-2015 hizzgdev@163.com - * - * Project Home: - * https://github.com/hizzgdev/jsmind/ - */ +/* stylelint-disable */ /* important section */ .jsmind-inner { position: relative; - overflow: auto; width: 100%; height: 100%; -} /*box-shadow:0 0 2px #000;*/ + overflow: auto; +} /* box-shadow:0 0 2px #000; */ .jsmind-inner { - -moz-user-select: none; - -o-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; + user-select: none; + user-select: none; + user-select: none; + user-select: none; + user-select: none; user-select: none; } @@ -32,56 +26,62 @@ canvas { jmnodes { position: absolute; z-index: 2; - background-color: rgba(0, 0, 0, 0); -} /*background color is necessary*/ + background-color: rgb(0 0 0 / 0%); +} /* background color is necessary */ jmnode { position: absolute; - cursor: default; max-width: 400px; - white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + white-space: nowrap; + cursor: default; } + jmexpander { position: absolute; + display: block; width: 11px; height: 11px; - display: block; overflow: hidden; - line-height: 12px; font-size: 12px; + line-height: 12px; text-align: center; + cursor: pointer; border-radius: 6px; border-width: 1px; border-style: solid; - cursor: pointer; } /* default theme */ jmnode { padding: 10px; - background-color: #fff; + font: 16px/1.125 Verdana, Arial, Helvetica, sans-serif; color: #333; + background-color: #fff; border-radius: 5px; box-shadow: 1px 1px 1px #666; - font: 16px/1.125 Verdana, Arial, Helvetica, sans-serif; } + jmnode:hover { - box-shadow: 2px 2px 8px #000; - background-color: #ebebeb; color: #333; -} -jmnode.selected { - background-color: #11f; - color: #fff; + background-color: #ebebeb; box-shadow: 2px 2px 8px #000; } + +jmnode.selected { + color: #fff; + background-color: #11f; + box-shadow: 2px 2px 8px #000; +} + jmnode.root { font-size: 24px; } + jmexpander { border-color: gray; } + jmexpander:hover { border-color: #000; } @@ -89,214 +89,246 @@ jmexpander:hover { @media screen and (max-device-width: 1024px) { jmnode { padding: 5px; - border-radius: 3px; font-size: 14px; + border-radius: 3px; } + jmnode.root { font-size: 21px; } } + /* primary theme */ jmnodes.theme-primary jmnode { - background-color: #428bca; - color: #fff; border-color: #357ebd; -} -jmnodes.theme-primary jmnode:hover { - background-color: #3276b1; - border-color: #285e8e; -} -jmnodes.theme-primary jmnode.selected { - background-color: #f1c40f; color: #fff; + background-color: #428bca; +} + +jmnodes.theme-primary jmnode:hover { + border-color: #285e8e; + background-color: #3276b1; +} + +jmnodes.theme-primary jmnode.selected { + color: #fff; + background-color: #f1c40f; } /* warning theme */ jmnodes.theme-warning jmnode { - background-color: #f0ad4e; border-color: #eea236; color: #fff; + background-color: #f0ad4e; } + jmnodes.theme-warning jmnode:hover { - background-color: #ed9c28; border-color: #d58512; + background-color: #ed9c28; } + jmnodes.theme-warning jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* danger theme */ jmnodes.theme-danger jmnode { - background-color: #d9534f; border-color: #d43f3a; color: #fff; + background-color: #d9534f; } + jmnodes.theme-danger jmnode:hover { - background-color: #d2322d; border-color: #ac2925; + background-color: #d2322d; } + jmnodes.theme-danger jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* success theme */ jmnodes.theme-success jmnode { - background-color: #5cb85c; border-color: #4cae4c; color: #fff; + background-color: #5cb85c; } + jmnodes.theme-success jmnode:hover { - background-color: #47a447; border-color: #398439; + background-color: #47a447; } + jmnodes.theme-success jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* info theme */ jmnodes.theme-info jmnode { - background-color: #5dc0de; border-color: #46b8da; color: #fff; + background-color: #5dc0de; } + jmnodes.theme-info jmnode:hover { - background-color: #39b3d7; border-color: #269abc; + background-color: #39b3d7; } + jmnodes.theme-info jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* greensea theme */ jmnodes.theme-greensea jmnode { - background-color: #1abc9c; color: #fff; + background-color: #1abc9c; } + jmnodes.theme-greensea jmnode:hover { background-color: #16a085; } + jmnodes.theme-greensea jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* nephrite theme */ jmnodes.theme-nephrite jmnode { - background-color: #2ecc71; color: #fff; + background-color: #2ecc71; } + jmnodes.theme-nephrite jmnode:hover { background-color: #27ae60; } + jmnodes.theme-nephrite jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* belizehole theme */ jmnodes.theme-belizehole jmnode { - background-color: #3498db; color: #fff; + background-color: #3498db; } + jmnodes.theme-belizehole jmnode:hover { background-color: #2980b9; } + jmnodes.theme-belizehole jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* wisteria theme */ jmnodes.theme-wisteria jmnode { - background-color: #9b59b6; color: #fff; + background-color: #9b59b6; } + jmnodes.theme-wisteria jmnode:hover { background-color: #8e44ad; } + jmnodes.theme-wisteria jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* asphalt theme */ jmnodes.theme-asphalt jmnode { - background-color: #34495e; color: #fff; + background-color: #34495e; } + jmnodes.theme-asphalt jmnode:hover { background-color: #2c3e50; } + jmnodes.theme-asphalt jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* orange theme */ jmnodes.theme-orange jmnode { - background-color: #f1c40f; color: #fff; + background-color: #f1c40f; } + jmnodes.theme-orange jmnode:hover { background-color: #f39c12; } + jmnodes.theme-orange jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* pumpkin theme */ jmnodes.theme-pumpkin jmnode { - background-color: #e67e22; color: #fff; + background-color: #e67e22; } + jmnodes.theme-pumpkin jmnode:hover { background-color: #d35400; } + jmnodes.theme-pumpkin jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* pomegranate theme */ jmnodes.theme-pomegranate jmnode { - background-color: #e74c3c; color: #fff; + background-color: #e74c3c; } + jmnodes.theme-pomegranate jmnode:hover { background-color: #c0392b; } + jmnodes.theme-pomegranate jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* clouds theme */ jmnodes.theme-clouds jmnode { - background-color: #ecf0f1; color: #333; + background-color: #ecf0f1; } + jmnodes.theme-clouds jmnode:hover { background-color: #bdc3c7; } + jmnodes.theme-clouds jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } /* asbestos theme */ jmnodes.theme-asbestos jmnode { - background-color: #95a5a6; color: #fff; + background-color: #95a5a6; } + jmnodes.theme-asbestos jmnode:hover { background-color: #7f8c8d; } + jmnodes.theme-asbestos jmnode.selected { - background-color: #11f; color: #fff; + background-color: #11f; } diff --git a/packages/client/src/styles/editor/placeholder.scss b/packages/client/src/styles/editor/placeholder.scss index 4c670e0e..4a835f09 100644 --- a/packages/client/src/styles/editor/placeholder.scss +++ b/packages/client/src/styles/editor/placeholder.scss @@ -4,11 +4,11 @@ &.has-focus { &::before { - content: attr(data-placeholder); float: left; + height: 0; color: #aaa; pointer-events: none; - height: 0; + content: attr(data-placeholder); } } diff --git a/packages/client/src/styles/editor/search.scss b/packages/client/src/styles/editor/search.scss index 03b172e1..4296b665 100644 --- a/packages/client/src/styles/editor/search.scss +++ b/packages/client/src/styles/editor/search.scss @@ -1,9 +1,9 @@ .ProseMirror { .search-result { - background: rgb(255, 217, 0); + background: rgb(255 217 0); } .search-result-current { - background: rgb(255, 0, 0); + background: rgb(255 0 0); } } diff --git a/packages/client/src/styles/editor/selection.scss b/packages/client/src/styles/editor/selection.scss index ffc6d994..81f22ba8 100644 --- a/packages/client/src/styles/editor/selection.scss +++ b/packages/client/src/styles/editor/selection.scss @@ -3,6 +3,19 @@ background-color: var(--node-selected-border-color); } + .tableWrapper { + ::selection { + background-color: transparent; + } + + &.selected-node { + td, + th { + border-color: var(--node-selected-border-color); + } + } + } + .node-status { .semi-tag-default { height: 27px; @@ -32,6 +45,14 @@ } } + .node-image, + .node-attachment, + .node-iframe, + .node-mind, + .node-banner { + margin-top: .75em; + } + .node-attachment, .node-banner, .node-iframe, @@ -41,12 +62,6 @@ .node-codeBlock, .node-documentChildren, .node-documentReference { - &:not(.has-focus) { - ::selection { - background-color: transparent; - } - } - .render-wrapper { position: relative; user-select: text; @@ -66,25 +81,10 @@ } } } - } - .node-image, - .node-attachment, - .node-iframe, - .node-mind, - .node-banner { - margin-top: 0.75em; - } - - .tableWrapper { - ::selection { - background-color: transparent; - } - - &.selected-node { - td, - th { - border-color: var(--node-selected-border-color); + &:not(.has-focus) { + ::selection { + background-color: transparent; } } } diff --git a/packages/client/src/styles/editor/table.scss b/packages/client/src/styles/editor/table.scss index d8325ce3..17d27980 100644 --- a/packages/client/src/styles/editor/table.scss +++ b/packages/client/src/styles/editor/table.scss @@ -1,8 +1,8 @@ .ProseMirror { .tableWrapper { max-width: 100%; + margin-top: .75em; overflow: auto; - margin-top: 0.75em; &.has-focus { padding: 1em 0 0 1em; @@ -10,20 +10,20 @@ } table { - border-collapse: collapse; table-layout: fixed; + border-collapse: collapse; td, th { position: relative; - border-width: 1px; - border-style: solid; - border-color: var(--semi-color-fill-2); box-sizing: border-box; min-width: 1em; padding: 3px 5px; - vertical-align: top; + border-width: 1px; + border-style: solid; + border-color: var(--semi-color-fill-2); overflow: visible; + vertical-align: top; > * { margin-bottom: 0; @@ -43,12 +43,12 @@ .grip-column { position: absolute; + top: -1em; + left: 0; z-index: 10; display: block; width: 100%; - height: 0.7em; - left: 0; - top: -1em; + height: .7em; margin-bottom: 3px; cursor: pointer; background: #ced4da; @@ -61,12 +61,12 @@ .grip-row { position: absolute; - z-index: 10; - display: block; - height: 100%; - width: 0.7em; top: 0; left: -1em; + z-index: 10; + display: block; + width: .7em; + height: 100%; margin-right: 3px; cursor: pointer; background: #ced4da; @@ -79,15 +79,15 @@ .grip-table { position: absolute; - z-index: 10; - display: block; - width: 0.8em; - height: 0.8em; top: -1em; left: -1em; - border-radius: 50%; + z-index: 10; + display: block; + width: .8em; + height: .8em; cursor: pointer; background: #ced4da; + border-radius: 50%; &:hover, &.selected { @@ -96,13 +96,13 @@ } .column-resize-handle { - background-color: #adf; - bottom: -2px; position: absolute; - right: -2px; - pointer-events: none; top: 0; + right: -2px; + bottom: -2px; width: 4px; + pointer-events: none; + background-color: #adf; } } } diff --git a/packages/client/src/styles/editor/title.scss b/packages/client/src/styles/editor/title.scss index b4bd444e..0e272f4a 100644 --- a/packages/client/src/styles/editor/title.scss +++ b/packages/client/src/styles/editor/title.scss @@ -1,17 +1,17 @@ .ProseMirror { .title { + margin: 10px 0 22px; font-size: 2.4em; font-weight: bold; color: var(--semi-color-text-0); - margin: 10px 0 22px; border-bottom: 1px solid var(--semi-color-border); &.is-empty::before { - content: attr(data-placeholder); float: left; + height: 0; color: #aaa; pointer-events: none; - height: 0; + content: attr(data-placeholder); } } } diff --git a/packages/client/src/styles/globals.scss b/packages/client/src/styles/globals.scss index 02d5295f..3ebb8295 100644 --- a/packages/client/src/styles/globals.scss +++ b/packages/client/src/styles/globals.scss @@ -27,27 +27,24 @@ } .Resizer { - background: var(--semi-color-border); - opacity: 0.2; z-index: 1; + background: var(--semi-color-border); + opacity: .2; box-sizing: border-box; - -moz-background-clip: padding; - -webkit-background-clip: padding; - background-clip: padding-box; + background-clip: padding; } .Resizer:hover { - -webkit-transition: all 2s ease; transition: all 2s ease; } .Resizer.horizontal { + width: 100%; height: 1px; - margin: -5px 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; + margin: -5px 0; cursor: row-resize; - width: 100%; } .Resizer.horizontal:hover { @@ -57,26 +54,28 @@ .Resizer.vertical { width: 1px; - margin: 0 -5px; border-left: 5px solid transparent; - border-right: 5px solid transparent; + margin: 0 -5px; cursor: col-resize; + border-right: 5px solid transparent; } .Resizer.vertical:hover { border-left: 5px solid transparent; border-right: 5px solid transparent; } + .Resizer.disabled { cursor: not-allowed; } + .Resizer.disabled:hover { border-color: transparent; } .semi-navigation-sub-title-selected { - background-color: var(--semi-color-primary-light-default); color: var(--semi-color-text-0); + background-color: var(--semi-color-primary-light-default); } .semi-spin-wrapper { @@ -85,7 +84,9 @@ align-items: center; } -// @see https://github.com/react-component/tooltip/issues/18#issuecomment-411476678 +/** + * @see https://github.com/react-component/tooltip/issues/18#issuecomment-411476678 + */ .semi-button-disabled { pointer-events: none; } diff --git a/packages/client/src/styles/reset.scss b/packages/client/src/styles/reset.scss index 96515677..f0e7779d 100644 --- a/packages/client/src/styles/reset.scss +++ b/packages/client/src/styles/reset.scss @@ -5,6 +5,31 @@ box-sizing: border-box; } +html, +body { + padding: 0; + margin: 0; +} + +/* Set core root defaults */ +html:focus-within { + scroll-behavior: smooth; +} + +/* Set core body defaults */ +body { + height: 100vh; + /* stylelint-disable-next-line declaration-block-no-duplicate-properties */ + height: var(--app-height); + line-height: 1.5; + text-rendering: optimizespeed; + + /* stylelint-disable-next-line selector-id-pattern */ + > div#__next { + height: 100%; + } +} + /* Remove default margin */ body, h1, @@ -25,30 +50,12 @@ ol[role='list'] { list-style: none; } -/* Set core root defaults */ -html:focus-within { - scroll-behavior: smooth; -} - -html, -body { - padding: 0; - margin: 0; -} - -/* Set core body defaults */ -body { - height: 100vh; - height: var(--app-height); - text-rendering: optimizeSpeed; - line-height: 1.5; - - > div#__next { - height: 100%; - } -} - /* A elements that don't have a class get default styles */ +a { + color: inherit; + text-decoration: none; +} + a:not([class]) { text-decoration-skip-ink: auto; } @@ -58,7 +65,6 @@ img, picture { display: inline-block; max-width: 100%; - // display: block; } /* Inherit fonts for inputs and buttons */ @@ -74,21 +80,13 @@ select { html:focus-within { scroll-behavior: auto; } + *, *::before, *::after { - animation-duration: 0.01ms !important; + transition-duration: .01ms !important; + animation-duration: .01ms !important; animation-iteration-count: 1 !important; - transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } - -body { - overflow-x: hidden; -} - -a { - color: inherit; - text-decoration: none; -} diff --git a/packages/client/src/styles/var.scss b/packages/client/src/styles/var.scss index 10d70732..fe4a2c9b 100644 --- a/packages/client/src/styles/var.scss +++ b/packages/client/src/styles/var.scss @@ -1,8 +1,11 @@ :root { --border-radius: 4px; - --box-shadow: rgb(0 0 0 / 10%) 0px 0px 10px; - + --box-shadow: rgb(0 0 0 / 10%) 0 0 10px; --node-border-color: rgb(28 31 35 / 8%); - --node-hover-border-color: #bacefd; // 自定义节点 hover - --node-selected-border-color: rgb(0 101 255); // 自定义节点选中 + + /* 自定义节点 hover */ + --node-hover-border-color: #bacefd; + + /* 自定义节点选中 */ + --node-selected-border-color: rgb(0 101 255); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 187cb94c..a2618ba9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,13 @@ importers: fs-extra: ^10.0.0 prettier: ^2.3.2 rimraf: ^3.0.2 + stylelint: ^14.6.1 + stylelint-config-css-modules: ^4.1.0 + stylelint-config-prettier: ^9.0.3 + stylelint-config-standard: ^25.0.0 + stylelint-config-standard-scss: ^3.0.0 + stylelint-order: ^5.0.0 + stylelint-prettier: ^2.0.0 typescript: ^4.5.5 dependencies: concurrently: 7.0.0 @@ -39,6 +46,13 @@ importers: eslint-plugin-react: 7.29.3_eslint@8.11.0 eslint-plugin-react-hooks: 4.3.0_eslint@8.11.0 prettier: 2.5.1 + stylelint: 14.6.1 + stylelint-config-css-modules: 4.1.0_stylelint@14.6.1 + stylelint-config-prettier: 9.0.3_stylelint@14.6.1 + stylelint-config-standard: 25.0.0_stylelint@14.6.1 + stylelint-config-standard-scss: 3.0.0_stylelint@14.6.1 + stylelint-order: 5.0.0_stylelint@14.6.1 + stylelint-prettier: 2.0.0_prettier@2.5.1+stylelint@14.6.1 typescript: 4.5.5 packages/client: @@ -2098,12 +2112,20 @@ packages: resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + /@types/node/16.11.21: resolution: {integrity: sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==} /@types/node/17.0.13: resolution: {integrity: sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==} + /@types/normalize-package-data/2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + /@types/orderedmap/1.0.0: resolution: {integrity: sha512-dxKo80TqYx3YtBipHwA/SdFmMMyLCnP+5mkEqN0eMjcTBzHkiiX0ES118DsjDBjvD+zeSsSU9jULTZ+frog+Gw==} dev: false @@ -2773,6 +2795,11 @@ packages: es-abstract: 1.19.1 dev: true + /arrify/1.0.1: + resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} + engines: {node: '>=0.10.0'} + dev: true + /asap/2.0.6: resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} dev: true @@ -2788,6 +2815,11 @@ packages: tslib: 2.3.1 dev: false + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + /async-lock/1.3.0: resolution: {integrity: sha512-8A7SkiisnEgME2zEedtDYPxUPzdv3x//E7n5IFktPAtMYSEAV7eNJF0rMwrVyUFj6d/8rgajLantbjcNRQYXIg==} dev: false @@ -2911,6 +2943,10 @@ packages: /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /balanced-match/2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + dev: true + /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -3048,6 +3084,15 @@ packages: engines: {node: '>=6'} dev: true + /camelcase-keys/6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + /camelcase/5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -3180,6 +3225,13 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + /clone-regexp/2.2.0: + resolution: {integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==} + engines: {node: '>=6'} + dependencies: + is-regexp: 2.1.0 + dev: true + /clone/1.0.4: resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} engines: {node: '>=0.8'} @@ -3223,6 +3275,10 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /colord/2.9.2: + resolution: {integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==} + dev: true + /colors/1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -3364,6 +3420,17 @@ packages: yaml: 1.10.2 dev: true + /cosmiconfig/7.0.1: + resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + 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==} dev: true @@ -3384,6 +3451,11 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /css-functions-list/3.0.1: + resolution: {integrity: sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==} + engines: {node: '>=12.22'} + dev: true + /css-loader/4.3.0: resolution: {integrity: sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==} engines: {node: '>= 10.13.0'} @@ -3408,7 +3480,6 @@ packages: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - dev: false /cssom/0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} @@ -3485,6 +3556,31 @@ packages: dependencies: ms: 2.1.2 + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decamelize-keys/1.1.0: + resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} + engines: {node: '>=0.10.0'} + dev: true + /decimal.js/10.3.1: resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} dev: true @@ -4154,6 +4250,13 @@ packages: strip-final-newline: 2.0.0 dev: true + /execall/2.0.0: + resolution: {integrity: sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==} + engines: {node: '>=8'} + dependencies: + clone-regexp: 2.2.0 + dev: true + /exit/0.1.2: resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} engines: {node: '>= 0.8.0'} @@ -4257,6 +4360,10 @@ packages: /fast-safe-stringify/2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + /fastest-levenshtein/1.0.12: + resolution: {integrity: sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==} + dev: true + /fastq/1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: @@ -4528,6 +4635,11 @@ packages: resolution: {integrity: sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=} dev: false + /get-stdin/8.0.0: + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} + dev: true + /get-stream/5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -4599,6 +4711,22 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 + /global-modules/2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /global-prefix/3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: true + /globals/11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -4622,9 +4750,18 @@ packages: slash: 3.0.0 dev: true + /globjoin/0.1.4: + resolution: {integrity: sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=} + dev: true + /graceful-fs/4.2.9: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} + /hard-rejection/2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + /has-bigints/1.0.1: resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} @@ -4671,6 +4808,17 @@ packages: engines: {node: '>=12.0.0'} dev: false + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + /html-encoding-sniffer/2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -4682,6 +4830,11 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true + /html-tags/3.1.0: + resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} + engines: {node: '>=8'} + dev: true + /http-errors/1.8.1: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} @@ -4764,6 +4917,11 @@ packages: resolve-from: 4.0.0 dev: true + /import-lazy/4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + /import-local/3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -4778,6 +4936,11 @@ packages: engines: {node: '>=0.8.19'} dev: true + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + /inflight/1.0.6: resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} dependencies: @@ -4787,6 +4950,10 @@ packages: /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + /inquirer/7.3.3: resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} engines: {node: '>=8.0.0'} @@ -4957,6 +5124,16 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + /is-plain-obj/1.1.0: + resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object/5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -4972,6 +5149,11 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 + /is-regexp/2.1.0: + resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==} + engines: {node: '>=6'} + dev: true + /is-set/2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: false @@ -5749,6 +5931,11 @@ packages: commander: 8.3.0 dev: false + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -5764,6 +5951,10 @@ packages: engines: {node: '>= 8'} dev: false + /known-css-properties/0.24.0: + resolution: {integrity: sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==} + dev: true + /ko-sleep/1.1.4: resolution: {integrity: sha512-s05WGpvvzyTuRlRE8fM7ru2Z3O+InbJuBcckTWKg2W+2c1k6SnFa3IfiSSt0/peFrlYAXgNoxuJWWVNmWh+K/A==} dependencies: @@ -5897,6 +6088,10 @@ packages: resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} dev: false + /lodash.truncate/4.4.2: + resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} + dev: true + /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -5980,6 +6175,16 @@ packages: tmpl: 1.0.5 dev: true + /map-obj/1.0.1: + resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + /markdown-it-anchor/8.4.1_markdown-it@12.3.2: resolution: {integrity: sha512-sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==} peerDependencies: @@ -6016,6 +6221,10 @@ packages: uc.micro: 1.0.6 dev: false + /mathml-tag-names/2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + /mdurl/1.0.1: resolution: {integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=} dev: false @@ -6036,6 +6245,24 @@ packages: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} dev: false + /meow/9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize: 1.2.0 + decamelize-keys: 1.1.0 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + /merge-descriptors/1.0.1: resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: false @@ -6087,6 +6314,11 @@ packages: engines: {node: '>=6'} dev: true + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + /minimatch/3.0.4: resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: @@ -6098,6 +6330,15 @@ packages: brace-expansion: 1.1.11 dev: true + /minimist-options/4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + /minimist/1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} @@ -6187,6 +6428,12 @@ packages: hasBin: true dev: false + /nanoid/3.3.1: + resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /natural-compare/1.4.0: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} dev: true @@ -6272,10 +6519,33 @@ packages: resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} dev: true + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.0 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data/3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.8.1 + semver: 7.3.5 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + /normalize-selector/0.2.0: + resolution: {integrity: sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=} + dev: true + /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -6650,6 +6920,10 @@ packages: engines: {node: '>=4'} dev: true + /postcss-media-query-parser/0.2.3: + resolution: {integrity: sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=} + dev: true + /postcss-modules-extract-imports/2.0.0: resolution: {integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==} engines: {node: '>= 6'} @@ -6682,17 +6956,43 @@ packages: postcss: 7.0.39 dev: false + /postcss-resolve-nested-selector/0.1.1: + resolution: {integrity: sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=} + dev: true + + /postcss-safe-parser/6.0.0_postcss@8.4.12: + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.12 + dev: true + + /postcss-scss/4.0.3: + resolution: {integrity: sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dev: true + /postcss-selector-parser/6.0.9: resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false + + /postcss-sorting/7.0.1_postcss@8.4.12: + resolution: {integrity: sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==} + peerDependencies: + postcss: ^8.3.9 + dependencies: + postcss: 8.4.12 + dev: true /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false /postcss/7.0.39: resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} @@ -6702,6 +7002,15 @@ packages: source-map: 0.6.1 dev: false + /postcss/8.4.12: + resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.1 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /postcss/8.4.5: resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} engines: {node: ^10 || ^12 || >=14} @@ -6928,6 +7237,11 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /quick-lru/4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + /randombytes/2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -7072,6 +7386,25 @@ packages: object-assign: 4.1.1 dev: false + /read-pkg-up/7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg/5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + /readable-stream/1.1.14: resolution: {integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk=} dependencies: @@ -7115,6 +7448,14 @@ packages: resolve: 1.22.0 dev: true + /redent/3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + /reflect-metadata/0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: false @@ -7336,7 +7677,6 @@ packages: /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true - dev: false /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} @@ -7438,6 +7778,10 @@ packages: resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} dev: true + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -7447,6 +7791,15 @@ packages: engines: {node: '>=8'} dev: true + /slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + /smart-buffer/4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -7474,7 +7827,6 @@ packages: /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: false /source-map-support/0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -7504,6 +7856,33 @@ packages: resolution: {integrity: sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=} dev: false + /spdx-correct/3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.11 + dev: true + + /spdx-exceptions/2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.11 + dev: true + + /spdx-license-ids/3.0.11: + resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} + dev: true + + /specificity/0.4.1: + resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + hasBin: true + dev: true + /sprintf-js/1.0.3: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true @@ -7623,6 +8002,13 @@ packages: engines: {node: '>=6'} dev: true + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -7638,6 +8024,10 @@ packages: schema-utils: 2.7.0 dev: false + /style-search/0.1.0: + resolution: {integrity: sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=} + dev: true + /styled-jsx/5.0.0_react@17.0.2: resolution: {integrity: sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==} engines: {node: '>= 12.0.0'} @@ -7654,6 +8044,170 @@ packages: react: 17.0.2 dev: false + /stylelint-config-css-modules/4.1.0_stylelint@14.6.1: + resolution: {integrity: sha512-w6d552NscwvpUEaUcmq8GgWXKRv6lVHLbDj6QIHSM2vCWr83qRqRvXBJCfXDyaG/J3Zojw2inU9VvU99ZlXuUw==} + peerDependencies: + stylelint: ^14.5.1 + dependencies: + stylelint: 14.6.1 + optionalDependencies: + stylelint-scss: 4.2.0_stylelint@14.6.1 + dev: true + + /stylelint-config-prettier/9.0.3_stylelint@14.6.1: + resolution: {integrity: sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==} + engines: {node: '>= 12'} + hasBin: true + peerDependencies: + stylelint: '>=11.0.0' + dependencies: + stylelint: 14.6.1 + dev: true + + /stylelint-config-recommended-scss/5.0.2_stylelint@14.6.1: + resolution: {integrity: sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==} + peerDependencies: + stylelint: ^14.0.0 + dependencies: + postcss-scss: 4.0.3 + stylelint: 14.6.1 + stylelint-config-recommended: 6.0.0_stylelint@14.6.1 + stylelint-scss: 4.2.0_stylelint@14.6.1 + transitivePeerDependencies: + - postcss + dev: true + + /stylelint-config-recommended/6.0.0_stylelint@14.6.1: + resolution: {integrity: sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==} + peerDependencies: + stylelint: ^14.0.0 + dependencies: + stylelint: 14.6.1 + dev: true + + /stylelint-config-recommended/7.0.0_stylelint@14.6.1: + resolution: {integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==} + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.6.1 + dev: true + + /stylelint-config-standard-scss/3.0.0_stylelint@14.6.1: + resolution: {integrity: sha512-zt3ZbzIbllN1iCmc94e4pDxqpkzeR6CJo5DDXzltshuXr+82B8ylHyMMARNnUYrZH80B7wgY7UkKTYCFM0UUyw==} + peerDependencies: + stylelint: ^14.0.0 + dependencies: + stylelint: 14.6.1 + stylelint-config-recommended-scss: 5.0.2_stylelint@14.6.1 + stylelint-config-standard: 24.0.0_stylelint@14.6.1 + transitivePeerDependencies: + - postcss + dev: true + + /stylelint-config-standard/24.0.0_stylelint@14.6.1: + resolution: {integrity: sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==} + peerDependencies: + stylelint: ^14.0.0 + dependencies: + stylelint: 14.6.1 + stylelint-config-recommended: 6.0.0_stylelint@14.6.1 + dev: true + + /stylelint-config-standard/25.0.0_stylelint@14.6.1: + resolution: {integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==} + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.6.1 + stylelint-config-recommended: 7.0.0_stylelint@14.6.1 + dev: true + + /stylelint-order/5.0.0_stylelint@14.6.1: + resolution: {integrity: sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==} + peerDependencies: + stylelint: ^14.0.0 + dependencies: + postcss: 8.4.12 + postcss-sorting: 7.0.1_postcss@8.4.12 + stylelint: 14.6.1 + dev: true + + /stylelint-prettier/2.0.0_prettier@2.5.1+stylelint@14.6.1: + resolution: {integrity: sha512-jvT3G+9lopkeB0ARmDPszyfaOnvnIF+30QCjZxyt7E6fynI1T9mOKgYDNb9bXX17M7PXMZaX3j/26wqakjp1tw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + prettier: '>=2.0.0' + stylelint: '>=14.0.0' + dependencies: + prettier: 2.5.1 + prettier-linter-helpers: 1.0.0 + stylelint: 14.6.1 + dev: true + + /stylelint-scss/4.2.0_stylelint@14.6.1: + resolution: {integrity: sha512-HHHMVKJJ5RM9pPIbgJ/XA67h9H0407G68Rm69H4fzFbFkyDMcTV1Byep3qdze5+fJ3c0U7mJrbj6S0Fg072uZA==} + peerDependencies: + stylelint: ^14.5.1 + dependencies: + lodash: 4.17.21 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-selector-parser: 6.0.9 + postcss-value-parser: 4.2.0 + stylelint: 14.6.1 + dev: true + + /stylelint/14.6.1: + resolution: {integrity: sha512-FfNdvZUZdzh9KDQxDnO7Opp+prKh8OQVuSW8S13cBtxrooCbm6J6royhUeb++53WPMt04VB+ZbOz/QmzAijs6Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + balanced-match: 2.0.0 + colord: 2.9.2 + cosmiconfig: 7.0.1 + css-functions-list: 3.0.1 + debug: 4.3.4 + execall: 2.0.0 + fast-glob: 3.2.11 + fastest-levenshtein: 1.0.12 + file-entry-cache: 6.0.1 + get-stdin: 8.0.0 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.1.0 + ignore: 5.2.0 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.24.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.4 + normalize-path: 3.0.0 + normalize-selector: 0.2.0 + picocolors: 1.0.0 + postcss: 8.4.12 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0_postcss@8.4.12 + postcss-selector-parser: 6.0.9 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + specificity: 0.4.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 2.2.0 + svg-tags: 1.0.0 + table: 6.8.0 + v8-compile-cache: 2.3.0 + write-file-atomic: 4.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /superagent/7.1.1: resolution: {integrity: sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -7714,6 +8268,10 @@ packages: engines: {node: '>= 0.4'} dev: true + /svg-tags/1.0.0: + resolution: {integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=} + dev: true + /swr/1.2.0_react@17.0.2: resolution: {integrity: sha512-C3IXeKOREn0jQ1ewXRENE7ED7jjGbFTakwB64eLACkCqkF/A0N2ckvpCTftcaSYi5yV36PzoehgVCOVRmtECcA==} peerDependencies: @@ -7731,6 +8289,17 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true + /table/6.8.0: + resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.8.2 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /tapable/1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -7887,6 +8456,11 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + /trim-newlines/3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + /ts-jest/27.1.3_bc464af956686ccd28ad646067711a2c: resolution: {integrity: sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -8016,6 +8590,11 @@ packages: engines: {node: '>=4'} dev: true + /type-fest/0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + /type-fest/0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -8026,6 +8605,16 @@ packages: engines: {node: '>=10'} dev: true + /type-fest/0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + /type-is/1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -8250,6 +8839,13 @@ packages: source-map: 0.7.3 dev: true + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.1.1 + spdx-expression-parse: 3.0.1 + dev: true + /validator/13.7.0: resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==} engines: {node: '>= 0.10'} @@ -8427,6 +9023,13 @@ packages: is-typed-array: 1.1.8 dev: false + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -8472,6 +9075,14 @@ packages: typedarray-to-buffer: 3.1.5 dev: true + /write-file-atomic/4.0.1: + resolution: {integrity: sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + /ws/7.5.6: resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} engines: {node: '>=8.3.0'}