From 4c09630461939503ba00ef204b2632304825e9bf Mon Sep 17 00:00:00 2001 From: mereith Date: Tue, 21 Mar 2023 18:58:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=89=8D=E5=90=8E=E5=8F=B0=E7=BB=9F?= =?UTF-8?q?=E4=B8=80Markdown=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E6=95=88=E6=9E=9C=E5=AE=8C=E5=85=A8=E4=B8=80=E8=87=B4=EF=BC=9B?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86=E4=B8=BB=E9=A2=98=E9=87=8D=E5=BD=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20#136?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/admin/package.json | 5 +- .../admin/src/components/Editor/icons.tsx | 10 +- .../admin/src/components/Editor/index.less | 116 +-- .../admin/src/components/Editor/index.tsx | 19 +- .../components/Editor/plugins/codeBlock.tsx | 93 +++ .../Editor/plugins/customContainer.tsx | 109 +++ .../src/components/Editor/plugins/heading.tsx | 26 + .../components/Editor/plugins/linkTarget.tsx | 17 + packages/admin/src/components/Editor/raw.tsx | 45 -- .../admin/src/components/Editor/rawHTML.tsx | 7 + packages/admin/src/style/code-dark.css | 113 +++ packages/admin/src/style/code-light.css | 69 ++ packages/admin/src/style/custom-container.css | 194 +++++ packages/admin/src/style/github-markdown.css | 311 +++++--- packages/waline/package.json | 2 +- packages/website/components/Markdown/Code.tsx | 90 --- packages/website/components/Markdown/Img.tsx | 35 - packages/website/components/Markdown/a.tsx | 13 - .../website/components/Markdown/codeBlock.tsx | 96 +++ .../components/Markdown/customContainer.tsx | 60 ++ .../components/Markdown/directiveEls.tsx | 47 -- .../website/components/Markdown/heading.tsx | 33 +- .../website/components/Markdown/icons.tsx | 71 -- .../website/components/Markdown/index.tsx | 73 +- .../components/Markdown/linkTarget.tsx | 17 + .../website/components/Markdown/mermaid.tsx | 54 -- .../website/components/Markdown/rawHTML.tsx | 7 + .../components/Markdown/style/prism.js | 199 ----- .../Markdown/style/vsc-dark-plus.js | 289 ------- packages/website/components/Markdown/tools.ts | 25 - .../website/components/PostCard/index.tsx | 4 +- packages/website/package.json | 16 +- packages/website/pages/_app.tsx | 2 + packages/website/styles/code-dark.css | 113 +++ packages/website/styles/code-light.css | 69 ++ packages/website/styles/custom-container.css | 106 ++- packages/website/styles/github-markdown.css | 39 +- packages/website/utils/copy.ts | 1 + pnpm-lock.yaml | 733 ++++++++---------- 39 files changed, 1720 insertions(+), 1608 deletions(-) create mode 100644 packages/admin/src/components/Editor/plugins/codeBlock.tsx create mode 100644 packages/admin/src/components/Editor/plugins/customContainer.tsx create mode 100644 packages/admin/src/components/Editor/plugins/heading.tsx create mode 100644 packages/admin/src/components/Editor/plugins/linkTarget.tsx delete mode 100644 packages/admin/src/components/Editor/raw.tsx create mode 100644 packages/admin/src/components/Editor/rawHTML.tsx create mode 100644 packages/admin/src/style/code-dark.css create mode 100644 packages/admin/src/style/code-light.css create mode 100644 packages/admin/src/style/custom-container.css delete mode 100644 packages/website/components/Markdown/Code.tsx delete mode 100644 packages/website/components/Markdown/Img.tsx delete mode 100644 packages/website/components/Markdown/a.tsx create mode 100644 packages/website/components/Markdown/codeBlock.tsx create mode 100644 packages/website/components/Markdown/customContainer.tsx delete mode 100644 packages/website/components/Markdown/directiveEls.tsx delete mode 100644 packages/website/components/Markdown/icons.tsx create mode 100644 packages/website/components/Markdown/linkTarget.tsx delete mode 100644 packages/website/components/Markdown/mermaid.tsx create mode 100644 packages/website/components/Markdown/rawHTML.tsx delete mode 100644 packages/website/components/Markdown/style/prism.js delete mode 100644 packages/website/components/Markdown/style/vsc-dark-plus.js delete mode 100644 packages/website/components/Markdown/tools.ts create mode 100644 packages/website/styles/code-dark.css create mode 100644 packages/website/styles/code-light.css create mode 100644 packages/website/utils/copy.ts diff --git a/packages/admin/package.json b/packages/admin/package.json index 2864628ca..b4f0107fd 100644 --- a/packages/admin/package.json +++ b/packages/admin/package.json @@ -59,8 +59,8 @@ "@bytemd/plugin-breaks": "^1.17.2", "@bytemd/plugin-frontmatter": "^1.17.2", "@bytemd/plugin-gfm": "^1.17.2", - "@bytemd/plugin-highlight": "^1.17.2", - "@bytemd/plugin-math": "^1.17.2", + "@bytemd/plugin-highlight-ssr": "^1.20.2", + "@bytemd/plugin-math-ssr": "^1.20.2", "@bytemd/plugin-medium-zoom": "^1.17.2", "@bytemd/plugin-mermaid": "^1.17.2", "@bytemd/react": "^1.17.2", @@ -93,6 +93,7 @@ "react-dom": "^17.0.0", "react-helmet-async": "^1.2.0", "react-monaco-editor": "^0.50.1", + "rehype-raw": "^6.1.1", "remark-directive": "^2.0.1", "umi": "^3.5.0", "unist-util-visit": "^4.1.1" diff --git a/packages/admin/src/components/Editor/icons.tsx b/packages/admin/src/components/Editor/icons.tsx index a5262112e..4ac1642f3 100644 --- a/packages/admin/src/components/Editor/icons.tsx +++ b/packages/admin/src/components/Editor/icons.tsx @@ -1,26 +1,26 @@ export const icons: Record = { - tip: ` + tip: ` `, - warning: ` + warning: ` `, - danger: ` + danger: ` `, - note: ` + note: ` `, - info: ` + info: ` pre { - margin: 0 !important; -} - .emoji-container { position: absolute; top: 32px; @@ -111,3 +10,18 @@ display: none; body .emoji-categories { background-color: gray; } +.relative { + position: relative; +} + +.flex { + display: flex; +} + +.mr-1 { + margin-right: 4px; +} + +body .dark .bytemd-preview { + background: rgb(41, 43, 43); +} diff --git a/packages/admin/src/components/Editor/index.tsx b/packages/admin/src/components/Editor/index.tsx index 915b6504e..e32c3b642 100644 --- a/packages/admin/src/components/Editor/index.tsx +++ b/packages/admin/src/components/Editor/index.tsx @@ -1,27 +1,31 @@ // import breaks from '@bytemd/plugin-breaks'; import frontmatter from '@bytemd/plugin-frontmatter'; import gfm from '@bytemd/plugin-gfm'; -import highlight from '@bytemd/plugin-highlight'; -import math from '@bytemd/plugin-math'; +import highlight from '@bytemd/plugin-highlight-ssr'; +import math from '@bytemd/plugin-math-ssr'; import mediumZoom from '@bytemd/plugin-medium-zoom'; import mermaid from '@bytemd/plugin-mermaid'; import { Editor } from '@bytemd/react'; import { Spin } from 'antd'; import 'bytemd/dist/index.css'; -import 'highlight.js/styles/vs.css'; import 'katex/dist/katex.css'; import { useMemo } from 'react'; import '../../style/github-markdown.css'; +import '../../style/code-light.css'; +import '../../style/code-dark.css'; +import '../../style/custom-container.css'; import { emoji } from './emoji'; import { imgUploadPlugin, uploadImg } from './imgUpload'; import './index.less'; import { insertMore } from './insertMore'; import { cn } from './locales'; - import { useModel } from 'umi'; -import { customContainer } from './customContainer'; +import { customContainer } from './plugins/customContainer'; import { historyIcon } from './history'; -import { rawHTML } from './raw'; +import rawHTML from './rawHTML'; +import { Heading } from './plugins/heading'; +import { customCodeBlock } from './plugins/codeBlock'; +import { LinkTarget } from './plugins/linkTarget'; export default function EditorComponent(props: { value: string; @@ -47,6 +51,9 @@ export default function EditorComponent(props: { insertMore(), rawHTML(), historyIcon(), + Heading(), + customCodeBlock(), + LinkTarget(), ]; }, []); diff --git a/packages/admin/src/components/Editor/plugins/codeBlock.tsx b/packages/admin/src/components/Editor/plugins/codeBlock.tsx new file mode 100644 index 000000000..d8749e949 --- /dev/null +++ b/packages/admin/src/components/Editor/plugins/codeBlock.tsx @@ -0,0 +1,93 @@ +import type { BytemdPlugin } from "bytemd"; +import { visit } from "unist-util-visit"; +import copy from 'copy-to-clipboard'; +import { message } from "antd"; +// FIXME: Addd Types +const codeBlockPlugin = () => (tree) => { + visit(tree, (node) => { + if (node.type === "element" && node.tagName === "pre") { + const oldChildren = JSON.parse(JSON.stringify(node.children)); + const codeProperties = oldChildren.find((child: any) => child.tagName === "code").properties; + let language = ""; + if (codeProperties.className) { + for (const each of codeProperties.className) { + if (each.startsWith("language-")) { + language = each.replace("language-", ""); + break; + } + } + } + if (language === "mermaid") return; + // 复制按钮 + const codeCopyBtn = { + type: "element", + tagName: "div", + properties: { + class: "code-copy-btn", + }, + children: [] + } + const languageTag = { + type: "element", + tagName: "span", + properties: { + class: "language-tag mr-1", + style: "line-height: 21px" + }, + children: [ + { + type: "text", + value: language + } + ] + } + // 上方右侧 header + const headerRight = { + type: "element", + tagName: "div", + properties: { + class: "header-right flex", + style: "color: #6f7177", + + }, + children: [ + languageTag, codeCopyBtn + ] + } + // 包裹的 div + const wrapperDiv = { + type: "element", + tagName: "div", + properties: { + class: "code-block-wrapper relative" + }, + children: [ + headerRight, ...oldChildren + ] + } + node.children = [wrapperDiv] + } + }); +}; + +const onClickCopyCode = (e: PointerEvent) => { + const copyBtn = e.target as HTMLElement; + const code = copyBtn.parentElement?.parentElement?.querySelector("code")?.innerText; + copy(code); + message.success("复制成功") +} + +export function customCodeBlock(): BytemdPlugin { + return { + rehype: (processor) => + processor.use(codeBlockPlugin), + viewerEffect: ({ markdownBody }) => { + markdownBody.querySelectorAll(".code-block-wrapper").forEach((codeBlock) => { + const copyBtn = codeBlock.querySelector(".code-copy-btn") + //remove first + copyBtn.removeEventListener("click", onClickCopyCode); + copyBtn.addEventListener("click", onClickCopyCode); + }) + } + }; +} diff --git a/packages/admin/src/components/Editor/plugins/customContainer.tsx b/packages/admin/src/components/Editor/plugins/customContainer.tsx new file mode 100644 index 000000000..0ee7961df --- /dev/null +++ b/packages/admin/src/components/Editor/plugins/customContainer.tsx @@ -0,0 +1,109 @@ +import { BytemdPlugin } from "bytemd"; +import remarkDirective from "remark-directive"; +import { visit } from "unist-util-visit"; +const CUSTOM_CONTAINER_ICON = + ''; + +const CUSTOM_CONTAINER_ACTIONS = [ + { + title: "info", + code: `:::info{title="相关信息"}\n相关信息\n:::`, + }, + { + title: "note", + code: `:::note{title="注"}\n注\n:::`, + }, + { + title: "warning", + code: `:::warning{title="注意"}\n注意\n:::`, + }, + { + title: "danger", + code: `:::danger{title="警告"}\n警告\n:::`, + }, + { + title: "tip", + code: `:::tip{title="提示"}\n提示\n:::`, + }, +]; +const CUSTOM_CONTAINER_TITLE: Record = { + note: "注", + info: "相关信息", + warning: "注意", + danger: "警告", + tip: "提示", +}; + +// FIXME: Addd Types +const customContainerPlugin = () => (tree) => { + visit(tree, (node) => { + if ( + node.type === "textDirective" || + node.type === "leafDirective" || + node.type === "containerDirective" + ) { + if (node.type == "containerDirective") { + const { attributes, name: tagName } = node; + const data = node.data ??= {}; + const title = attributes?.title || CUSTOM_CONTAINER_TITLE[tagName]; + const cls = `custom-container ${tagName}`; + + data.hName = "div"; + data.hProperties = { + class: cls, + ["type"]: title, + }; + const toAppendP = { + type: "paragraph", + data: { + hProperties: { + class: `custom-container-title ${tagName}` + } + }, + children: [ + { + type: "text", + value: title, + } + ] + } + node.children = [ + toAppendP, + ...node.children + ] + } + } + }); +}; + +export function customContainer(): BytemdPlugin { + return { + remark: (processor) => + processor.use(remarkDirective).use(customContainerPlugin), + actions: [ + { + title: "自定义高亮块", + icon: CUSTOM_CONTAINER_ICON, + cheatsheet: `:::info{title="标题"}`, + handler: { + type: "dropdown", + actions: CUSTOM_CONTAINER_ACTIONS.map(({ title, code }) => ({ + title, + handler: { + type: "action", + click: ({ editor, appendBlock, codemirror }) => { + const { line } = appendBlock(code); + + editor.setSelection( + codemirror.Pos(line + 1, 0), + codemirror.Pos(line + 1) + ); + editor.focus(); + }, + }, + })), + }, + }, + ], + }; +} diff --git a/packages/admin/src/components/Editor/plugins/heading.tsx b/packages/admin/src/components/Editor/plugins/heading.tsx new file mode 100644 index 000000000..2a20cf71c --- /dev/null +++ b/packages/admin/src/components/Editor/plugins/heading.tsx @@ -0,0 +1,26 @@ +import { BytemdPlugin } from "bytemd"; +import { visit } from "unist-util-visit"; + + +const headings = [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6' +] +const headingPlugin = () => (tree) => { + visit(tree, (node) => { + if (node.type === "element" && headings.includes(node.tagName)) { + const title = node.children[0]?.value; + node.properties['data-id'] = title; + } + }); +} + +export function Heading(): BytemdPlugin { + return { + rehype: (processor) => processor.use(headingPlugin), + }; +} diff --git a/packages/admin/src/components/Editor/plugins/linkTarget.tsx b/packages/admin/src/components/Editor/plugins/linkTarget.tsx new file mode 100644 index 000000000..e275a2b6f --- /dev/null +++ b/packages/admin/src/components/Editor/plugins/linkTarget.tsx @@ -0,0 +1,17 @@ +import { BytemdPlugin } from "bytemd"; +import { visit } from "unist-util-visit"; + +const aTargetPlugin = () => (tree) => { + visit(tree, (node) => { + if (node.type === "element" && node.tagName === "a") { + node.properties.target = "_blank"; + node.properties.rel = "noopener noreferrer"; + } + }); +} + +export function LinkTarget(): BytemdPlugin { + return { + rehype: (processor) => processor.use(aTargetPlugin), + }; +} diff --git a/packages/admin/src/components/Editor/raw.tsx b/packages/admin/src/components/Editor/raw.tsx deleted file mode 100644 index 6a2e3bd98..000000000 --- a/packages/admin/src/components/Editor/raw.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { BytemdPlugin } from 'bytemd'; -import { visit } from 'unist-util-visit'; - -export function rawHTML(): BytemdPlugin { - return { - remark: (p) => p.use(customStylePlugin), - viewerEffect: ({ markdownBody }) => { - const rawEls = markdownBody.querySelectorAll('.editor-rawHtml'); - rawEls.forEach((el) => { - const raw = el.getAttribute('type'); - const c = document.createElement('div'); - c.innerHTML = raw; - const child = c.children[0]; - const clone = child.cloneNode(true); - if (child) { - el.parentNode.replaceChild(clone, el); - } - }); - }, - }; -} - -function customStylePlugin() { - return (tree) => { - visit(tree, (node) => { - if (node.type === 'html') { - const container = document.createElement('div'); - container.innerHTML = node.value; - const child = container.children[0]; - if (child) { - const data = node.data || (node.data = {}); - data.hName = child.tagName.toLowerCase(); - data.hProperties = { - class: 'editor-rawHtml', - ['type']: node.value, - }; - return { - ...node, - data, - }; - } - } - }); - }; -} diff --git a/packages/admin/src/components/Editor/rawHTML.tsx b/packages/admin/src/components/Editor/rawHTML.tsx new file mode 100644 index 000000000..034dacf98 --- /dev/null +++ b/packages/admin/src/components/Editor/rawHTML.tsx @@ -0,0 +1,7 @@ +import { BytemdPlugin } from "bytemd" +import rehypeRaw from "rehype-raw";; +export default function (): BytemdPlugin { + return { + rehype: (processor) => processor.use(rehypeRaw) + } +} diff --git a/packages/admin/src/style/code-dark.css b/packages/admin/src/style/code-dark.css new file mode 100644 index 000000000..67abefa3a --- /dev/null +++ b/packages/admin/src/style/code-dark.css @@ -0,0 +1,113 @@ +.dark pre .code-block-wrapper { + display: block; + overflow-x: auto; + padding: 22px 16px 16px; +} + +.dark code.hljs { + padding: 3px 5px +} + +.dark .hljs { + background: inherit; + color: #dcdcdc +} + +.dark .hljs-keyword, +.dark .hljs-literal, +.dark .hljs-name, +.dark .hljs-symbol { + color: #569cd6 +} + +.dark .hljs-link { + color: #569cd6; + text-decoration: underline +} + +.dark .hljs-built_in, +.dark .hljs-type { + color: #4ec9b0 +} + +.dark .hljs-class, +.dark .hljs-number { + color: #b8d7a3 +} + +.dark .hljs-meta .hljs-string, +.dark .hljs-string { + color: #d69d85 +} + +.dark .hljs-regexp, +.dark .hljs-template-tag { + color: #9a5334 +} + +.dark .hljs-formula, +.dark .hljs-function, +.dark .hljs-params, +.dark .hljs-subst, +.dark .hljs-title { + color: #dcdcdc +} + +.dark .hljs-comment, +.dark .hljs-quote { + color: #57a64a; + font-style: italic +} + +.dark .hljs-doctag { + color: #608b4e +} + +.dark .hljs-meta, +.dark .hljs-meta .hljs-keyword, +.dark .hljs-tag { + color: #9b9b9b +} + +.dark .hljs-template-variable, +.dark .hljs-variable { + color: #bd63c5 +} + +.dark .hljs-attr, +.dark .hljs-attribute { + color: #9cdcfe +} + +.dark .hljs-section { + color: gold +} + +.dark .hljs-emphasis { + font-style: italic +} + +.dark .hljs-strong { + font-weight: 700 +} + +.dark .hljs-bullet, +.dark .hljs-selector-attr, +.dark .hljs-selector-class, +.dark .hljs-selector-id, +.dark .hljs-selector-pseudo, +.dark .hljs-selector-tag { + color: #d7ba7d +} + +.dark .hljs-addition { + background-color: #144212; + display: inline-block; + width: 100% +} + +.dark .hljs-deletion { + background-color: #600; + display: inline-block; + width: 100% +} \ No newline at end of file diff --git a/packages/admin/src/style/code-light.css b/packages/admin/src/style/code-light.css new file mode 100644 index 000000000..eaa1be2e7 --- /dev/null +++ b/packages/admin/src/style/code-light.css @@ -0,0 +1,69 @@ +.light pre .code-block-wrapper { + display: block; + overflow-x: auto; + padding: 22px 16px 16px; +} + +.light code.hljs { + padding: 3px 5px +} + +.light .hljs { + background: inherit; + color: #000 +} + +.light .hljs-comment, +.light .hljs-quote, +.light .hljs-variable { + color: green +} + +.light .hljs-built_in, +.light .hljs-keyword, +.light .hljs-name, +.light .hljs-selector-tag, +.light .hljs-tag { + color: #00f +} + +.light .hljs-addition, +.light .hljs-attribute, +.light .hljs-literal, +.light .hljs-section, +.light .hljs-string, +.light .hljs-template-tag, +.light .hljs-template-variable, +.light .hljs-title, +.light .hljs-type { + color: #a31515 +} + +.light .hljs-deletion, +.light .hljs-meta, +.light .hljs-selector-attr, +.light .hljs-selector-pseudo { + color: #2b91af +} + +.light .hljs-doctag { + color: grey +} + +.light .hljs-attr { + color: red +} + +.light .hljs-bullet, +.light .hljs-link, +.light .hljs-symbol { + color: #00b0e8 +} + +.light .hljs-emphasis { + font-style: italic +} + +.light .hljs-strong { + font-weight: 700 +} \ No newline at end of file diff --git a/packages/admin/src/style/custom-container.css b/packages/admin/src/style/custom-container.css new file mode 100644 index 000000000..4551337e9 --- /dev/null +++ b/packages/admin/src/style/custom-container.css @@ -0,0 +1,194 @@ +.custom-container { + --info-title-color: #193c47; + --info-bg-color: #eef9fd; + --info-border-color: #4cb3d4; + + --note-title-color: #474748; + --note-bg-color: #fdfdfe; + --note-border-color: #d4d5d8; + + --tip-title-color: #003100; + --tip-bg-color: #e6f6e6; + --tip-border-color: #009400; + + --warning-title-color: #4d3800; + --warning-bg-color: #fff8e6; + --warning-border-color: #e6a700; + + --danger-title-color: #4b1113; + --danger-bg-color: #ffebec; + --danger-border-color: #e13238; +} + +.dark .custom-container { + + --info-title-color: #eef9fd; + --info-bg-color: #193c47; + + --note-title-color: #fdfdfe; + --note-bg-color: #474748; + + --tip-title-color: #e6f6e6; + --tip-bg-color: #003100; + + --warning-title-color: #fff8e6; + --warning-bg-color: #4d3800; + + + --danger-title-color: #ffebec; + --danger-bg-color: #4b1113; + + --detail-bg-color: #333; + --detail-text-color: #a8a8a8; +} + +.custom-container.info { + background-color: var(--info-bg-color); + border-color: var(--info-border-color); +} + +.custom-container.note { + background-color: var(--note-bg-color); + border-color: var(--note-border-color); +} + +.custom-container.tip { + background-color: var(--tip-bg-color); + border-color: var(--tip-border-color); +} + +.custom-container.warning { + background-color: var(--warning-bg-color); + border-color: var(--warning-border-color); +} + +.custom-container.danger { + background-color: var(--danger-bg-color); + border-color: var(--danger-border-color); +} + +.custom-container-title.info { + color: var(--info-title-color); +} + +.custom-container-title.note { + color: var(--note-title-color); +} + +.custom-container-title.warning { + color: var(--warning-title-color); +} + +.custom-container-title.tip { + color: var(--tip-title-color); +} + +.custom-container-title.danger { + color: var(--danger-title-color); +} + + +.custom-container { + margin: 1rem 0; + padding: 0.25rem 1rem; + border-left-width: 0.3rem; + border-left-style: solid; + border-radius: 0.5rem; + color: inherit; +} + +.markdown-body .custom-container-title { + font-weight: 600; + margin: 16px 0; + display: flex; + align-items: center; +} + +.markdown-body .custom-container-title svg { + margin-right: 4px; +} +body .markdown-body .custom-container .relative>pre { + margin: 0 !important; +} + +.custom-container-title.tip::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2012%2016%22%20fill%3D%22%23003100%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.5%200C3.48%200%201%202.19%201%205c0%20.92.55%202.25%201%203%201.34%202.25%201.78%202.78%202%204v1h5v-1c.22-1.22.66-1.75%202-4%20.45-.75%201-2.08%201-3%200-2.81-2.48-5-5.5-5zm3.64%207.48c-.25.44-.47.8-.67%201.11-.86%201.41-1.25%202.06-1.45%203.23-.02.05-.02.11-.02.17H5c0-.06%200-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44%206.78%202%205.65%202%205c0-2.2%202.02-4%204.5-4%201.22%200%202.36.42%203.22%201.19C10.55%202.94%2011%203.94%2011%205c0%20.66-.44%201.78-.86%202.48zM4%2014h5c-.23%201.14-1.3%202-2.5%202s-2.27-.86-2.5-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; +} + +.dark .custom-container-title.tip::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2012%2016%22%20fill%3D%22%23e6f6e6%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.5%200C3.48%200%201%202.19%201%205c0%20.92.55%202.25%201%203%201.34%202.25%201.78%202.78%202%204v1h5v-1c.22-1.22.66-1.75%202-4%20.45-.75%201-2.08%201-3%200-2.81-2.48-5-5.5-5zm3.64%207.48c-.25.44-.47.8-.67%201.11-.86%201.41-1.25%202.06-1.45%203.23-.02.05-.02.11-.02.17H5c0-.06%200-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44%206.78%202%205.65%202%205c0-2.2%202.02-4%204.5-4%201.22%200%202.36.42%203.22%201.19C10.55%202.94%2011%203.94%2011%205c0%20.66-.44%201.78-.86%202.48zM4%2014h5c-.23%201.14-1.3%202-2.5%202s-2.27-.86-2.5-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + +.custom-container-title.warning::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22%234d3800%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M8.893%201.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138%2013.499a.98.98%200%200%200%200%201.001c.193.31.53.501.886.501h13.964c.367%200%20.704-.19.877-.5a1.03%201.03%200%200%200%20.01-1.002L8.893%201.5zm.133%2011.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.warning::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22%23fff8e6%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M8.893%201.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138%2013.499a.98.98%200%200%200%200%201.001c.193.31.53.501.886.501h13.964c.367%200%20.704-.19.877-.5a1.03%201.03%200%200%200%20.01-1.002L8.893%201.5zm.133%2011.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + + +.custom-container-title.danger::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%201024%201024%22%20fill%3D%22%234b1113%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%20d%3D%22M147.911%20833.422V560.356a364.089%20364.089%200%201%201%20728.178%200v273.066H921.6v91.022H102.4v-91.022h45.511zm91.022-273.066h91.023A182.044%20182.044%200%200%201%20512%20378.31v-91.02a273.067%20273.067%200%200%200-273.067%20273.067zM466.49%2014.222h91.022v136.534H466.49V14.222zm399.496%20127.795%2064.353%2064.353-96.483%2096.53-64.399-64.354%2096.53-96.529zM93.662%20206.37l64.353-64.353%2096.529%2096.484-64.308%2064.444-96.574-96.575z%22%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.danger::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%201024%201024%22%20fill%3D%22%23ffebec%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%20d%3D%22M147.911%20833.422V560.356a364.089%20364.089%200%201%201%20728.178%200v273.066H921.6v91.022H102.4v-91.022h45.511zm91.022-273.066h91.023A182.044%20182.044%200%200%201%20512%20378.31v-91.02a273.067%20273.067%200%200%200-273.067%20273.067zM466.49%2014.222h91.022v136.534H466.49V14.222zm399.496%20127.795%2064.353%2064.353-96.483%2096.53-64.399-64.354%2096.53-96.529zM93.662%20206.37l64.353-64.353%2096.529%2096.484-64.308%2064.444-96.574-96.575z%22%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + + +.custom-container-title.note::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23474748%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.3%205.69a.942.942%200%200%201-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28%200%20.52.09.7.28.18.19.28.42.28.7%200%20.28-.09.52-.28.7a1%201%200%200%201-.7.3c-.28%200-.52-.11-.7-.3zM8%207.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27%200%20.48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7%202.3c-3.14%200-5.7%202.54-5.7%205.68%200%203.14%202.56%205.7%205.7%205.7s5.7-2.55%205.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7%20.98c3.86%200%207%203.14%207%207s-3.14%207-7%207-7-3.12-7-7%203.14-7%207-7z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.note::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23fdfdfe%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.3%205.69a.942.942%200%200%201-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28%200%20.52.09.7.28.18.19.28.42.28.7%200%20.28-.09.52-.28.7a1%201%200%200%201-.7.3c-.28%200-.52-.11-.7-.3zM8%207.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27%200%20.48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7%202.3c-3.14%200-5.7%202.54-5.7%205.68%200%203.14%202.56%205.7%205.7%205.7s5.7-2.55%205.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7%20.98c3.86%200%207%203.14%207%207s-3.14%207-7%207-7-3.12-7-7%203.14-7%207-7z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + + +.custom-container-title.info::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23193c47%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M7%202.3c3.14%200%205.7%202.56%205.7%205.7s-2.56%205.7-5.7%205.7A5.71%205.71%200%200%201%201.3%208c0-3.14%202.56-5.7%205.7-5.7zM7%201C3.14%201%200%204.14%200%208s3.14%207%207%207%207-3.14%207-7-3.14-7-7-7zm1%203H6v5h2V4zm0%206H6v2h2v-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.info::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23eef9fd%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M7%202.3c3.14%200%205.7%202.56%205.7%205.7s-2.56%205.7-5.7%205.7A5.71%205.71%200%200%201%201.3%208c0-3.14%202.56-5.7%205.7-5.7zM7%201C3.14%201%200%204.14%200%208s3.14%207%207%207%207-3.14%207-7-3.14-7-7-7zm1%203H6v5h2V4zm0%206H6v2h2v-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} \ No newline at end of file diff --git a/packages/admin/src/style/github-markdown.css b/packages/admin/src/style/github-markdown.css index 044efdd1b..1658e7649 100644 --- a/packages/admin/src/style/github-markdown.css +++ b/packages/admin/src/style/github-markdown.css @@ -1,74 +1,71 @@ - - .dark .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #8b949e; - --color-prettylights-syntax-constant: #79c0ff; - --color-prettylights-syntax-entity: #d2a8ff; - --color-prettylights-syntax-storage-modifier-import: #c9d1d9; - --color-prettylights-syntax-entity-tag: #7ee787; - --color-prettylights-syntax-keyword: #ff7b72; - --color-prettylights-syntax-string: #a5d6ff; - --color-prettylights-syntax-variable: #ffa657; - --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; - --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; - --color-prettylights-syntax-invalid-illegal-bg: #8e1519; - --color-prettylights-syntax-carriage-return-text: #f0f6fc; - --color-prettylights-syntax-carriage-return-bg: #b62324; - --color-prettylights-syntax-string-regexp: #7ee787; - --color-prettylights-syntax-markup-list: #f2cc60; - --color-prettylights-syntax-markup-heading: #1f6feb; - --color-prettylights-syntax-markup-italic: #c9d1d9; - --color-prettylights-syntax-markup-bold: #c9d1d9; - --color-prettylights-syntax-markup-deleted-text: #ffdcd7; - --color-prettylights-syntax-markup-deleted-bg: #67060c; - --color-prettylights-syntax-markup-inserted-text: #aff5b4; - --color-prettylights-syntax-markup-inserted-bg: #033a16; - --color-prettylights-syntax-markup-changed-text: #ffdfb6; - --color-prettylights-syntax-markup-changed-bg: #5a1e02; - --color-prettylights-syntax-markup-ignored-text: #c9d1d9; - --color-prettylights-syntax-markup-ignored-bg: #1158c7; - --color-prettylights-syntax-meta-diff-range: #d2a8ff; - --color-prettylights-syntax-brackethighlighter-angle: #8b949e; - --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; - --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; - --color-fg-subtle: #484f58; - --color-canvas-default: #0d1117; - --color-canvas-subtle: #161b22; +.dark .markdown-body { + color-scheme: dark; + --color-prettylights-syntax-comment: #8b949e; + --color-prettylights-syntax-constant: #79c0ff; + --color-prettylights-syntax-entity: #d2a8ff; + --color-prettylights-syntax-storage-modifier-import: #c9d1d9; + --color-prettylights-syntax-entity-tag: #7ee787; + --color-prettylights-syntax-keyword: #ff7b72; + --color-prettylights-syntax-string: #a5d6ff; + --color-prettylights-syntax-variable: #ffa657; + --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; + --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; + --color-prettylights-syntax-invalid-illegal-bg: #8e1519; + --color-prettylights-syntax-carriage-return-text: #f0f6fc; + --color-prettylights-syntax-carriage-return-bg: #b62324; + --color-prettylights-syntax-string-regexp: #7ee787; + --color-prettylights-syntax-markup-list: #f2cc60; + --color-prettylights-syntax-markup-heading: #1f6feb; + --color-prettylights-syntax-markup-italic: #c9d1d9; + --color-prettylights-syntax-markup-bold: #c9d1d9; + --color-prettylights-syntax-markup-deleted-text: #ffdcd7; + --color-prettylights-syntax-markup-deleted-bg: #67060c; + --color-prettylights-syntax-markup-inserted-text: #aff5b4; + --color-prettylights-syntax-markup-inserted-bg: #033a16; + --color-prettylights-syntax-markup-changed-text: #ffdfb6; + --color-prettylights-syntax-markup-changed-bg: #5a1e02; + --color-prettylights-syntax-markup-ignored-text: #c9d1d9; + --color-prettylights-syntax-markup-ignored-bg: #1158c7; + --color-prettylights-syntax-meta-diff-range: #d2a8ff; + --color-prettylights-syntax-brackethighlighter-angle: #8b949e; + --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; + --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; + --color-fg-default: rgb(158, 158, 158); + --color-fg-muted: rgb(120, 120, 120); + --color-fg-subtle: rgb(80, 80, 80); + --color-canvas-default: #26282c; + --color-canvas-subtle: rgb(30, 30, 30); --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-neutral-muted: rgba(110,118,129,0.4); + --color-border-muted: #3e4145; + --color-neutral-muted: rgba(110, 118, 129, 0.4); --color-accent-fg: #58a6ff; --color-accent-emphasis: #1f6feb; - --color-attention-subtle: rgba(187,128,9,0.15); + --color-attention-subtle: rgba(187, 128, 9, 0.15); --color-danger-fg: #f85149; } - - - .light .markdown-body { - color-scheme: light; - --color-prettylights-syntax-comment: #6e7781; - --color-prettylights-syntax-constant: #0550ae; - --color-prettylights-syntax-entity: #8250df; - --color-prettylights-syntax-storage-modifier-import: #24292f; - --color-prettylights-syntax-entity-tag: #116329; - --color-prettylights-syntax-keyword: #cf222e; - --color-prettylights-syntax-string: #0a3069; - --color-prettylights-syntax-variable: #953800; - --color-prettylights-syntax-brackethighlighter-unmatched: #82071e; - --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; - --color-prettylights-syntax-invalid-illegal-bg: #82071e; - --color-prettylights-syntax-carriage-return-text: #f6f8fa; - --color-prettylights-syntax-carriage-return-bg: #cf222e; - --color-prettylights-syntax-string-regexp: #116329; - --color-prettylights-syntax-markup-list: #3b2300; - --color-prettylights-syntax-markup-heading: #0550ae; - --color-prettylights-syntax-markup-italic: #24292f; - --color-prettylights-syntax-markup-bold: #24292f; - --color-prettylights-syntax-markup-deleted-text: #82071e; - --color-prettylights-syntax-markup-deleted-bg: #FFEBE9; +.light .markdown-body { + color-scheme: light; + --color-prettylights-syntax-comment: #6e7781; + --color-prettylights-syntax-constant: #0550ae; + --color-prettylights-syntax-entity: #8250df; + --color-prettylights-syntax-storage-modifier-import: #24292f; + --color-prettylights-syntax-entity-tag: #116329; + --color-prettylights-syntax-keyword: #cf222e; + --color-prettylights-syntax-string: #0a3069; + --color-prettylights-syntax-variable: #953800; + --color-prettylights-syntax-brackethighlighter-unmatched: #82071e; + --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; + --color-prettylights-syntax-invalid-illegal-bg: #82071e; + --color-prettylights-syntax-carriage-return-text: #f6f8fa; + --color-prettylights-syntax-carriage-return-bg: #cf222e; + --color-prettylights-syntax-string-regexp: #116329; + --color-prettylights-syntax-markup-list: #3b2300; + --color-prettylights-syntax-markup-heading: #0550ae; + --color-prettylights-syntax-markup-italic: #24292f; + --color-prettylights-syntax-markup-bold: #24292f; + --color-prettylights-syntax-markup-deleted-text: #82071e; + --color-prettylights-syntax-markup-deleted-bg: #ffebe9; --color-prettylights-syntax-markup-inserted-text: #116329; --color-prettylights-syntax-markup-inserted-bg: #dafbe1; --color-prettylights-syntax-markup-changed-text: #953800; @@ -79,30 +76,40 @@ --color-prettylights-syntax-brackethighlighter-angle: #57606a; --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; --color-prettylights-syntax-constant-other-reference-link: #0a3069; - --color-fg-default: #24292f; + --color-fg-default: rgb(55, 65, 81); --color-fg-muted: #57606a; --color-fg-subtle: #6e7781; --color-canvas-default: #ffffff; --color-canvas-subtle: #f6f8fa; --color-border-default: #d0d7de; - --color-border-muted: hsla(210,18%,87%,1); - --color-neutral-muted: rgba(175,184,193,0.2); + --color-border-muted: hsla(210, 18%, 87%, 1); + --color-neutral-muted: rgba(175, 184, 193, 0.2); --color-accent-fg: #0969da; --color-accent-emphasis: #0969da; --color-attention-subtle: #fff8c5; --color-danger-fg: #cf222e; } - - +/* .markdown-body ul { + list-style: unset; +} +.markdown-body ol { + list-style: unset; +} */ .markdown-body { + /* font: 400 16px/1.75 "Open Sans", "PingFang SC", "Hiragino Sans GB", + "Microsoft Yahei", "WenQuanYi Micro Hei", "Segoe UI Emoji", + "Segoe UI Symbol", Helvetica, Arial, -apple-system, system-ui, sans-serif; */ + -webkit-font-smoothing: antialiased; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; color: var(--color-fg-default); background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: 16px; - line-height: 1.5; + font-family: "Open Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", + "WenQuanYi Micro Hei", "Segoe UI Emoji", "Segoe UI Symbol", Helvetica, Arial, + -apple-system, system-ui, sans-serif; + font-weight: 400; + line-height: 1.75; word-wrap: break-word; } @@ -120,7 +127,7 @@ .markdown-body h6:hover .anchor .octicon-link:before { width: 16px; height: 16px; - content: ' '; + content: " "; display: inline-block; background-color: currentColor; -webkit-mask-image: url("data:image/svg+xml,"); @@ -167,10 +174,10 @@ } .markdown-body h1 { - margin: .67em 0; + margin: 0.67em 0; font-weight: 600; - padding-bottom: .3em; - font-size: 2em; + padding-bottom: 0.3em; + font-size: 1.4em; border-bottom: 1px solid var(--color-border-muted); } @@ -210,7 +217,7 @@ .markdown-body kbd, .markdown-body pre, .markdown-body samp { - font-family: monospace,monospace; + font-family: monospace, monospace; font-size: 1em; } @@ -223,7 +230,7 @@ overflow: hidden; background: transparent; border-bottom: 1px solid var(--color-border-muted); - height: .25em; + height: 0.25em; padding: 0; margin: 24px 0; background-color: var(--color-border-default); @@ -239,49 +246,49 @@ line-height: inherit; } -.markdown-body [type=button], -.markdown-body [type=reset], -.markdown-body [type=submit] { +.markdown-body [type="button"], +.markdown-body [type="reset"], +.markdown-body [type="submit"] { -webkit-appearance: button; } -.markdown-body [type=button]::-moz-focus-inner, -.markdown-body [type=reset]::-moz-focus-inner, -.markdown-body [type=submit]::-moz-focus-inner { +.markdown-body [type="button"]::-moz-focus-inner, +.markdown-body [type="reset"]::-moz-focus-inner, +.markdown-body [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } -.markdown-body [type=button]:-moz-focusring, -.markdown-body [type=reset]:-moz-focusring, -.markdown-body [type=submit]:-moz-focusring { +.markdown-body [type="button"]:-moz-focusring, +.markdown-body [type="reset"]:-moz-focusring, +.markdown-body [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } -.markdown-body [type=checkbox], -.markdown-body [type=radio] { +.markdown-body [type="checkbox"], +.markdown-body [type="radio"] { box-sizing: border-box; padding: 0; } -.markdown-body [type=number]::-webkit-inner-spin-button, -.markdown-body [type=number]::-webkit-outer-spin-button { +.markdown-body [type="number"]::-webkit-inner-spin-button, +.markdown-body [type="number"]::-webkit-outer-spin-button { height: auto; } -.markdown-body [type=search] { +.markdown-body [type="search"] { -webkit-appearance: textfield; outline-offset: -2px; } -.markdown-body [type=search]::-webkit-search-cancel-button, -.markdown-body [type=search]::-webkit-search-decoration { +.markdown-body [type="search"]::-webkit-search-cancel-button, +.markdown-body [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } .markdown-body ::-webkit-input-placeholder { color: inherit; - opacity: .54; + opacity: 0.54; } .markdown-body ::-webkit-file-upload-button { @@ -308,7 +315,7 @@ border-spacing: 0; border-collapse: collapse; display: block; - width: max-content; + /* width: max-content; */ max-width: 100%; overflow: auto; } @@ -329,7 +336,8 @@ .markdown-body kbd { display: inline-block; padding: 3px 5px; - font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, + Liberation Mono, monospace; line-height: 10px; color: var(--color-fg-default); vertical-align: middle; @@ -354,14 +362,14 @@ .markdown-body h2 { font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; + padding-bottom: 0.3em; + font-size: 1.3em; border-bottom: 1px solid var(--color-border-muted); } .markdown-body h3 { font-weight: 600; - font-size: 1.25em; + font-size: 1.15em; } .markdown-body h4 { @@ -371,12 +379,12 @@ .markdown-body h5 { font-weight: 600; - font-size: .875em; + font-size: 0.875em; } .markdown-body h6 { font-weight: 600; - font-size: .85em; + font-size: 0.85em; color: var(--color-fg-muted); } @@ -389,7 +397,7 @@ margin: 0; padding: 0 1em; color: var(--color-fg-muted); - border-left: .25em solid var(--color-border-default); + border-left: 0.25em solid var(--color-border-default); } .markdown-body ul, @@ -417,14 +425,16 @@ .markdown-body tt, .markdown-body code { - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, + Liberation Mono, monospace; font-size: 12px; } .markdown-body pre { margin-top: 0; margin-bottom: 0; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, + Liberation Mono, monospace; font-size: 12px; word-wrap: normal; } @@ -573,7 +583,7 @@ } .markdown-body g-emoji { - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; + font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1em; font-style: normal !important; font-weight: 400; @@ -637,11 +647,11 @@ margin-bottom: 16px; } -.markdown-body blockquote>:first-child { +.markdown-body blockquote> :first-child { margin-top: 0; } -.markdown-body blockquote>:last-child { +.markdown-body blockquote> :last-child { margin-bottom: 0; } @@ -694,7 +704,7 @@ .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code { - padding: 0 .2em; + padding: 0 0.2em; font-size: inherit; } @@ -708,11 +718,11 @@ list-style-type: decimal; } -.markdown-body ol[type=a] { +.markdown-body ol[type="a"] { list-style-type: lower-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i"] { list-style-type: lower-roman; } @@ -728,12 +738,8 @@ margin-bottom: 0; } -.markdown-body li>p { - margin-top: 16px; -} - .markdown-body li+li { - margin-top: .25em; + margin-top: 0.25em; } .markdown-body dl { @@ -776,11 +782,11 @@ background-color: transparent; } -.markdown-body img[align=right] { +.markdown-body img[align="right"] { padding-left: 20px; } -.markdown-body img[align=left] { +.markdown-body img[align="left"] { padding-right: 20px; } @@ -880,7 +886,7 @@ .markdown-body code, .markdown-body tt { - padding: .2em .4em; + padding: 0.2em 0.4em; margin: 0; font-size: 85%; background-color: var(--color-neutral-muted); @@ -920,11 +926,11 @@ .markdown-body .highlight pre, .markdown-body pre { - padding: 16px; + padding: 0; overflow: auto; font-size: 85%; line-height: 1.45; - background-color: var(--color-canvas-subtle); + background-color: var(--color-canvas-subtle) !important; border-radius: 6px; } @@ -1023,14 +1029,71 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 0.2em 0.25em -1.6em; vertical-align: middle; } .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; + margin: 0 -1.6em 0.25em 0.2em; } .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } +.markdown-body li>p { + margin-top: 0px; + margin-bottom: 0; +} + +.markdown-body ol { + list-style: decimal; +} + +.dark .language-mermaid { + background-color: #26282c; +} + +.language-mermaid { + background-color: white; +} + +body .markdown-body pre { + background-color: inherit; +} + + +body .markdown-body .code-block-wrapper::-webkit-scrollbar { + height: 8px; +} + +body .markdown-body .code-block-wrapper::-webkit-scrollbar-thumb { + border-radius: 6px; +} + +.markdown-body .header-right { + position: absolute; + top: 2px; + right: 2px; + z-index: 1; + line-height: 1; +} + +.markdown-body .code-copy-btn { + cursor: pointer; + transition: background-color 0.2s ease-in-out; + border-radius: 4px; +} + +.markdown-body .code-copy-btn:hover { + background-color: rgb(229 231 235); +} + +.dark .markdown-body .code-copy-btn:hover { + background-color: rgb(55 65 81); +} + +.markdown-body .code-copy-btn::before { + content: url("data:image/svg+xml,%3Csvg%0Awidth%3D%2214%22%0Aheight%3D%2214%22%0AviewBox%3D%220%200%2015%2019%22%0Afill%3D%22currentColor%22%0Axmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%3E%0A%3Cpath%0A%20%20d%3D%22M11.0475%200.905273H1.67197C0.812542%200.905273%200.109375%201.60844%200.109375%202.46787V13.406H1.67197V2.46787H11.0475V0.905273ZM13.3914%204.03046H4.79716C3.93773%204.03046%203.23456%204.73363%203.23456%205.59306V16.5312C3.23456%2017.3906%203.93773%2018.0938%204.79716%2018.0938H13.3914C14.2509%2018.0938%2014.954%2017.3906%2014.954%2016.5312V5.59306C14.954%204.73363%2014.2509%204.03046%2013.3914%204.03046ZM13.3914%2016.5312H4.79716V5.59306H13.3914V16.5312Z%22%0A%20%20fill%3D%22%236f7177%22%0A%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E"); + display: inline-block; + padding: 4px 8px; +} diff --git a/packages/waline/package.json b/packages/waline/package.json index bc0476fc8..2a74a1550 100644 --- a/packages/waline/package.json +++ b/packages/waline/package.json @@ -5,7 +5,7 @@ "type": "module", "license": "MIT", "dependencies": { - "@waline/vercel": "^1.26.4" + "@waline/vercel": "1.26.4" }, "scripts": { "start": "node node_modules/@waline/vercel/vanilla.js" diff --git a/packages/website/components/Markdown/Code.tsx b/packages/website/components/Markdown/Code.tsx deleted file mode 100644 index 0d3c215ea..000000000 --- a/packages/website/components/Markdown/Code.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import dynamic from "next/dynamic"; -import { useContext, useState, useEffect } from "react"; -import CopyToClipboard from "react-copy-to-clipboard"; -import toast from "react-hot-toast"; -import { CodeComponent, CodeProps } from "react-markdown/lib/ast-to-react"; -import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; -import light from "./style/prism"; -import dark from "./style/vsc-dark-plus"; -import { ThemeContext } from "../../utils/themeContext"; -export function CodeBlock(props: { children: any; match: any }) { - const code = props.children.replace(/\n$/, ""); - const { theme } = useContext(ThemeContext); - const [curMode, setCurMode] = useState(undefined); - - useEffect(() => { - setCurMode(theme.includes("dark") ? dark : (light as any)); - }, [theme]); - - return ( - <> -
-
- - {props.match?.length ? props.match[1] : undefined} - - { - toast.success("复制成功!", { - className: "toast", - }); - }} - > - - - - - - -
- - { - return { - style: { - display: "block", - whiteSpace: "pre", - }, - }; - }} - PreTag="pre" - children={code} - /> -
- - ); -} -export const Code: CodeComponent = (props: CodeProps) => { - const { node, inline, className, children } = props; - const match = /language-(\w+)/.exec(className || ""); - const lang = match?.length ? match[1] : undefined; - const id = node.position?.end?.offset; - if (lang == "mermaid") { - const DynamicMermaid = dynamic(() => import("./mermaid")); - return ; - } - return !inline ? ( - - ) : ( - {children} - ); -}; diff --git a/packages/website/components/Markdown/Img.tsx b/packages/website/components/Markdown/Img.tsx deleted file mode 100644 index 050023a93..000000000 --- a/packages/website/components/Markdown/Img.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import ImageBox from "../ImageBox"; - -const mapProps = (source: any) => { - const res: any = {}; - for (const [k, v] of Object.entries(source)) { - switch (k) { - case "width": - res["width"] = v; - break; - case "heigth": - res["heigth"] = v; - break; - case "class": - res["className"] = v; - break; - case "className": - res["className"] = v; - break; - } - } - return res; -}; - -export default function (props: any) { - const { node } = props; - const { properties } = node || {}; - return ( - - ); -} diff --git a/packages/website/components/Markdown/a.tsx b/packages/website/components/Markdown/a.tsx deleted file mode 100644 index 2280c9beb..000000000 --- a/packages/website/components/Markdown/a.tsx +++ /dev/null @@ -1,13 +0,0 @@ -export default function (props: any) { - let text = ""; - try { - text = props.children[0] as string; - } catch (err) { - text = ""; - } - return ( - - {text} - - ); -} diff --git a/packages/website/components/Markdown/codeBlock.tsx b/packages/website/components/Markdown/codeBlock.tsx new file mode 100644 index 000000000..6d32c21fa --- /dev/null +++ b/packages/website/components/Markdown/codeBlock.tsx @@ -0,0 +1,96 @@ +import { BytemdPlugin } from "bytemd"; +import { visit } from "unist-util-visit"; +import copy from 'copy-to-clipboard'; +import toast from "react-hot-toast"; + +// FIXME: Addd Types +const codeBlockPlugin = () => (tree) => { + visit(tree, (node) => { + if (node.type === "element" && node.tagName === "pre") { + const oldChildren = JSON.parse(JSON.stringify(node.children)); + const codeProperties = oldChildren.find((child: any) => child.tagName === "code").properties; + let language = ""; + if (codeProperties.className) { + for (const each of codeProperties.className) { + if (each.startsWith("language-")) { + language = each.replace("language-", ""); + break; + } + } + } + if (language === "mermaid") return; + // 复制按钮 + const codeCopyBtn = { + type: "element", + tagName: "div", + properties: { + class: "code-copy-btn", + }, + children: [] + } + const languageTag = { + type: "element", + tagName: "span", + properties: { + class: "language-tag mr-1", + style: "line-height: 21px" + }, + children: [ + { + type: "text", + value: language + } + ] + } + // 上方右侧 header + const headerRight = { + type: "element", + tagName: "div", + properties: { + class: "header-right flex", + style: "color: #6f7177", + + }, + children: [ + languageTag, codeCopyBtn + ] + } + // 包裹的 div + const wrapperDiv = { + type: "element", + tagName: "div", + properties: { + class: "code-block-wrapper relative" + }, + children: [ + headerRight, ...oldChildren + ] + } + node.children = [wrapperDiv] + } + }); +}; + +const onClickCopyCode = (e: PointerEvent) => { + const copyBtn = e.target as HTMLElement; + const code = copyBtn.parentElement?.parentElement?.querySelector("code")?.innerText; + copy(code); + toast.success("复制成功", { + className: "toast", + }) +} + +export function customCodeBlock(): BytemdPlugin { + return { + rehype: (processor) => + processor.use(codeBlockPlugin), + viewerEffect: ({ markdownBody }) => { + markdownBody.querySelectorAll(".code-block-wrapper").forEach((codeBlock) => { + const copyBtn = codeBlock.querySelector(".code-copy-btn") + //remove first + copyBtn.removeEventListener("click", onClickCopyCode); + copyBtn.addEventListener("click", onClickCopyCode); + }) + } + }; +} diff --git a/packages/website/components/Markdown/customContainer.tsx b/packages/website/components/Markdown/customContainer.tsx new file mode 100644 index 000000000..43a0f5462 --- /dev/null +++ b/packages/website/components/Markdown/customContainer.tsx @@ -0,0 +1,60 @@ +import { BytemdPlugin } from "bytemd"; +import remarkDirective from "remark-directive"; +import { visit } from "unist-util-visit"; + +const CUSTOM_CONTAINER_TITLE: Record = { + note: "注", + info: "相关信息", + warning: "注意", + danger: "警告", + tip: "提示", +}; + +// FIXME: Addd Types +const customContainerPlugin = () => (tree) => { + visit(tree, (node) => { + if ( + node.type === "textDirective" || + node.type === "leafDirective" || + node.type === "containerDirective" + ) { + if (node.type == "containerDirective") { + const { attributes, name: tagName } = node; + const data = node.data ??= {}; + const title = attributes?.title || CUSTOM_CONTAINER_TITLE[tagName]; + const cls = `custom-container ${tagName}`; + + data.hName = "div"; + data.hProperties = { + class: cls, + ["type"]: title, + }; + const toAppendP = { + type: "paragraph", + data: { + hProperties: { + class: `custom-container-title ${tagName}` + } + }, + children: [ + { + type: "text", + value: title, + } + ] + } + node.children = [ + toAppendP, + ...node.children + ] + } + } + }); +}; + +export function customContainer(): BytemdPlugin { + return { + remark: (processor) => + processor.use(remarkDirective).use(customContainerPlugin), + }; +} diff --git a/packages/website/components/Markdown/directiveEls.tsx b/packages/website/components/Markdown/directiveEls.tsx deleted file mode 100644 index 2636923d3..000000000 --- a/packages/website/components/Markdown/directiveEls.tsx +++ /dev/null @@ -1,47 +0,0 @@ -//拓展 Markdown 的指令的组件 -import { Element } from "hast"; -import React, { createElement } from "react"; -import { icons } from "./icons"; -interface CustomElProps { - children: React.ReactNode[]; - node: Element; - title?: string; -} - -const customContainerTitleMap: Record = { - note: "注", - info: "相关信息", - warning: "注意", - danger: "警告", - tip: "提示", -}; - -const customContainer = (props: CustomElProps) => { - const { node, children, title } = props; - const showTitle = title || customContainerTitleMap[node.tagName]; - const key = node?.position?.end.offset || "customcontainer"; - const titleEl = createElement( - "p", - { - className: `custom-container-title ${node.tagName}`, - key: `customcontainer-p-${key}`, - }, - [icons(String(key))[node.tagName], showTitle] - ); - return createElement( - "div", - { - className: `custom-container ${node.tagName}`, - key: `customcontainer-div-${key}`, - }, - [titleEl, ...children] - ); -}; - -export const Els = { - warning: customContainer, - info: customContainer, - note: customContainer, - danger: customContainer, - tip: customContainer, -}; diff --git a/packages/website/components/Markdown/heading.tsx b/packages/website/components/Markdown/heading.tsx index 241573987..2a20cf71c 100644 --- a/packages/website/components/Markdown/heading.tsx +++ b/packages/website/components/Markdown/heading.tsx @@ -1,9 +1,26 @@ -import React from "react"; -import { HeadingProps } from "react-markdown/lib/ast-to-react"; -import { getChildrenText } from "./tools"; +import { BytemdPlugin } from "bytemd"; +import { visit } from "unist-util-visit"; -export const HeadingRender = (props: HeadingProps) => { - const { node, children } = props; - let text = getChildrenText(children); - return React.createElement(node.tagName, { ["data-id"]: text }, children); -}; + +const headings = [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6' +] +const headingPlugin = () => (tree) => { + visit(tree, (node) => { + if (node.type === "element" && headings.includes(node.tagName)) { + const title = node.children[0]?.value; + node.properties['data-id'] = title; + } + }); +} + +export function Heading(): BytemdPlugin { + return { + rehype: (processor) => processor.use(headingPlugin), + }; +} diff --git a/packages/website/components/Markdown/icons.tsx b/packages/website/components/Markdown/icons.tsx deleted file mode 100644 index 061b4b330..000000000 --- a/packages/website/components/Markdown/icons.tsx +++ /dev/null @@ -1,71 +0,0 @@ -export const icons: (k: string) => Record = (key: string) => { - return { - tip: ( - - - - ), - warning: ( - - - - ), - danger: ( - - - - ), - note: ( - - - - ), - info: ( - - - - ), - }; -}; diff --git a/packages/website/components/Markdown/index.tsx b/packages/website/components/Markdown/index.tsx index d1171832f..cce347d61 100644 --- a/packages/website/components/Markdown/index.tsx +++ b/packages/website/components/Markdown/index.tsx @@ -1,49 +1,30 @@ -import ReactMarkdown from "react-markdown"; -import remarkGfm from "remark-gfm"; -import rehypeRaw from "rehype-raw"; -import remarkMath from "remark-math"; -import rehypeKatex from "rehype-katex"; -import remarkBreaks from "remark-breaks"; +import { Viewer } from "@bytemd/react" +import gfm from '@bytemd/plugin-gfm'; +import highlight from '@bytemd/plugin-highlight-ssr'; +import math from '@bytemd/plugin-math-ssr'; +import mediumZoom from '@bytemd/plugin-medium-zoom'; +import mermaid from '@bytemd/plugin-mermaid' +import { customContainer } from './customContainer';; import "katex/dist/katex.min.css"; -import remarkDirective from "remark-directive"; -import remarkDirectiveRehype from "remark-directive-rehype"; +import rawHTML from "./rawHTML"; +import { customCodeBlock } from "./codeBlock"; +import { LinkTarget } from "./linkTarget"; +import { Heading } from "./heading"; +const plugins = [ + rawHTML(), + gfm(), + highlight(), + math(), + mediumZoom(), + mermaid(), + customContainer(), + customCodeBlock(), + LinkTarget(), + Heading(), +] -import { HeadingRender } from "./heading"; -import { Els } from "./directiveEls"; -import { Code } from "./Code"; -import Img from "./Img"; -import a from "./a"; -export default function (props: { content: string }) { - const remarkDirectiveRehypeAny = remarkDirectiveRehype as any; - return ( - <> - - - ); +export default function ({ content }: { content: string }) { + return
+ +
} diff --git a/packages/website/components/Markdown/linkTarget.tsx b/packages/website/components/Markdown/linkTarget.tsx new file mode 100644 index 000000000..e275a2b6f --- /dev/null +++ b/packages/website/components/Markdown/linkTarget.tsx @@ -0,0 +1,17 @@ +import { BytemdPlugin } from "bytemd"; +import { visit } from "unist-util-visit"; + +const aTargetPlugin = () => (tree) => { + visit(tree, (node) => { + if (node.type === "element" && node.tagName === "a") { + node.properties.target = "_blank"; + node.properties.rel = "noopener noreferrer"; + } + }); +} + +export function LinkTarget(): BytemdPlugin { + return { + rehype: (processor) => processor.use(aTargetPlugin), + }; +} diff --git a/packages/website/components/Markdown/mermaid.tsx b/packages/website/components/Markdown/mermaid.tsx deleted file mode 100644 index c3707c576..000000000 --- a/packages/website/components/Markdown/mermaid.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { useCallback, useContext, useEffect, useRef } from "react"; -import mermaid from "mermaid"; -import { ThemeContext } from "../../utils/themeContext"; - -// const encodeSvg = (s: string) => { -// return ( -// "data:image/svg+xml," + -// s -// .replace(/"/g, "'") -// .replace(/%/g, "%25") -// .replace(/#/g, "%23") -// .replace(/{/g, "%7B") -// .replace(/}/g, "%7D") -// .replace(//g, "%3E") -// .replace(`style='`, `style='background-color: white; `) -// ); -// }; -export default function (props: { - children: any; - className: string | undefined; - id: any; -}) { - const domRef: any = useRef(); - const domIdRef: any = useRef(`mermaid${props.id}`); - const { theme } = useContext(ThemeContext); - const render = useCallback(() => { - try { - mermaid.initialize({ - securityLevel: "loose", - startOnLoad: false, - theme: theme.includes("dark") ? "dark" : ("default" as any), - }); - mermaid.run({ - querySelector: ".mermaid" - }); - } catch (err) { - // console.log(err); - // console.log("mermaid 渲染失败,可能是没正确插入 more 标记导致的。"); - } - }, [theme]); - - useEffect(() => { - render(); - }, [render]); - - return ( -
-
-
-
-
- ); -} diff --git a/packages/website/components/Markdown/rawHTML.tsx b/packages/website/components/Markdown/rawHTML.tsx new file mode 100644 index 000000000..034dacf98 --- /dev/null +++ b/packages/website/components/Markdown/rawHTML.tsx @@ -0,0 +1,7 @@ +import { BytemdPlugin } from "bytemd" +import rehypeRaw from "rehype-raw";; +export default function (): BytemdPlugin { + return { + rehype: (processor) => processor.use(rehypeRaw) + } +} diff --git a/packages/website/components/Markdown/style/prism.js b/packages/website/components/Markdown/style/prism.js deleted file mode 100644 index 13f212d06..000000000 --- a/packages/website/components/Markdown/style/prism.js +++ /dev/null @@ -1,199 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; -var _default = { - "code[class*=\"language-\"]": { - "color": "black", - "background": "none", - "textShadow": "0 1px white", - "fontFamily": "Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace", - "fontSize": "1em", - "textAlign": "left", - "whiteSpace": "pre", - "wordSpacing": "normal", - "wordBreak": "normal", - "wordWrap": "normal", - "lineHeight": "1.5", - "MozTabSize": "4", - "OTabSize": "4", - "tabSize": "4", - "WebkitHyphens": "none", - "MozHyphens": "none", - "msHyphens": "none", - "hyphens": "none" - }, - "pre[class*=\"language-\"]": { - "color": "black", - "background": "#f5f2f0", - "textShadow": "0 1px white", - "fontFamily": "Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace", - "fontSize": "1em", - "textAlign": "left", - "whiteSpace": "pre", - "wordSpacing": "normal", - "wordBreak": "normal", - "wordWrap": "normal", - "lineHeight": "1.5", - "MozTabSize": "4", - "OTabSize": "4", - "tabSize": "4", - "WebkitHyphens": "none", - "MozHyphens": "none", - "msHyphens": "none", - "hyphens": "none", - "padding": "1em", - "margin": ".5em 0", - "overflow": "auto" - }, - "pre[class*=\"language-\"]::-moz-selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "pre[class*=\"language-\"] ::-moz-selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "code[class*=\"language-\"]::-moz-selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "code[class*=\"language-\"] ::-moz-selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "pre[class*=\"language-\"]::selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "pre[class*=\"language-\"] ::selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "code[class*=\"language-\"]::selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - "code[class*=\"language-\"] ::selection": { - "textShadow": "none", - "background": "#b3d4fc" - }, - ":not(pre) > code[class*=\"language-\"]": { - "background": "#f5f2f0", - "padding": ".1em", - "borderRadius": ".3em", - "whiteSpace": "normal" - }, - "comment": { - "color": "slategray" - }, - "prolog": { - "color": "slategray" - }, - "doctype": { - "color": "slategray" - }, - "cdata": { - "color": "slategray" - }, - "punctuation": { - "color": "#999" - }, - "namespace": { - "Opacity": ".7" - }, - "property": { - "color": "#905" - }, - "tag": { - "color": "#905" - }, - "boolean": { - "color": "#905" - }, - "number": { - "color": "#905" - }, - "constant": { - "color": "#905" - }, - "symbol": { - "color": "#905" - }, - "deleted": { - "color": "#905" - }, - "selector": { - "color": "#690" - }, - "attr-name": { - "color": "#690" - }, - "string": { - "color": "#690" - }, - "char": { - "color": "#690" - }, - "builtin": { - "color": "#690" - }, - "inserted": { - "color": "#690" - }, - "operator": { - "color": "#9a6e3a", - - }, - "entity": { - "color": "#9a6e3a", - "background": "hsla(0, 0%, 100%, .5)", - "cursor": "help" - }, - "url": { - "color": "#9a6e3a", - "background": "hsla(0, 0%, 100%, .5)" - }, - ".language-css .token.string": { - "color": "#9a6e3a", - "background": "hsla(0, 0%, 100%, .5)" - }, - ".style .token.string": { - "color": "#9a6e3a", - "background": "hsla(0, 0%, 100%, .5)" - }, - "atrule": { - "color": "#07a" - }, - "attr-value": { - "color": "#07a" - }, - "keyword": { - "color": "#07a" - }, - "function": { - "color": "#DD4A68" - }, - "class-name": { - "color": "#DD4A68" - }, - "regex": { - "color": "#e90" - }, - "important": { - "color": "#e90", - "fontWeight": "bold" - }, - "variable": { - "color": "#e90" - }, - "bold": { - "fontWeight": "bold" - }, - "italic": { - "fontStyle": "italic" - } -}; -exports["default"] = _default; diff --git a/packages/website/components/Markdown/style/vsc-dark-plus.js b/packages/website/components/Markdown/style/vsc-dark-plus.js deleted file mode 100644 index 9460891c9..000000000 --- a/packages/website/components/Markdown/style/vsc-dark-plus.js +++ /dev/null @@ -1,289 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; -var _default = { - "pre[class*=\"language-\"]": { - "color": "#d4d4d4", - "fontSize": "13px", - "textShadow": "none", - "fontFamily": "Menlo, Monaco, Consolas, \"Andale Mono\", \"Ubuntu Mono\", \"Courier New\", monospace", - "direction": "ltr", - "textAlign": "left", - "whiteSpace": "pre", - "wordSpacing": "normal", - "wordBreak": "normal", - "lineHeight": "1.5", - "MozTabSize": "4", - "OTabSize": "4", - "tabSize": "4", - "WebkitHyphens": "none", - "MozHyphens": "none", - "msHyphens": "none", - "hyphens": "none", - "padding": "1em", - "margin": ".5em 0", - "overflow": "auto", - "background": "#1e1e1e" - }, - "code[class*=\"language-\"]": { - "color": "#d4d4d4", - "fontSize": "13px", - "textShadow": "none", - "fontFamily": "Menlo, Monaco, Consolas, \"Andale Mono\", \"Ubuntu Mono\", \"Courier New\", monospace", - "direction": "ltr", - "textAlign": "left", - "whiteSpace": "pre", - "wordSpacing": "normal", - "wordBreak": "normal", - "lineHeight": "1.5", - "MozTabSize": "4", - "OTabSize": "4", - "tabSize": "4", - "WebkitHyphens": "none", - "MozHyphens": "none", - "msHyphens": "none", - "hyphens": "none" - }, - "pre[class*=\"language-\"]::selection": { - "textShadow": "none", - "background": "#264F78" - }, - "code[class*=\"language-\"]::selection": { - "textShadow": "none", - "background": "#264F78" - }, - "pre[class*=\"language-\"] *::selection": { - "textShadow": "none", - "background": "#264F78" - }, - "code[class*=\"language-\"] *::selection": { - "textShadow": "none", - "background": "#264F78" - }, - ":not(pre) > code[class*=\"language-\"]": { - "padding": ".1em .3em", - "borderRadius": ".3em", - "color": "#db4c69", - "background": "#1e1e1e" - }, - ".namespace": { - "Opacity": ".7" - }, - "doctype.doctype-tag": { - "color": "#569CD6" - }, - "doctype.name": { - "color": "#9cdcfe" - }, - "comment": { - "color": "#6a9955" - }, - "prolog": { - "color": "#6a9955" - }, - "punctuation": { - "color": "#d4d4d4" - }, - ".language-html .language-css .token.punctuation": { - "color": "#d4d4d4" - }, - ".language-html .language-javascript .token.punctuation": { - "color": "#d4d4d4" - }, - "property": { - "color": "#9cdcfe" - }, - "tag": { - "color": "#569cd6" - }, - "boolean": { - "color": "#569cd6" - }, - "number": { - "color": "#b5cea8" - }, - "constant": { - "color": "#9cdcfe" - }, - "symbol": { - "color": "#b5cea8" - }, - "inserted": { - "color": "#b5cea8" - }, - "unit": { - "color": "#b5cea8" - }, - "selector": { - "color": "#d7ba7d" - }, - "attr-name": { - "color": "#9cdcfe" - }, - "string": { - "color": "#ce9178" - }, - "char": { - "color": "#ce9178" - }, - "builtin": { - "color": "#ce9178" - }, - "deleted": { - "color": "#ce9178" - }, - ".language-css .token.string.url": { - "textDecoration": "underline" - }, - "operator": { - "color": "#d4d4d4" - }, - "entity": { - "color": "#569cd6" - }, - "operator.arrow": { - "color": "#569CD6" - }, - "atrule": { - "color": "#ce9178" - }, - "atrule.rule": { - "color": "#c586c0" - }, - "atrule.url": { - "color": "#9cdcfe" - }, - "atrule.url.function": { - "color": "#dcdcaa" - }, - "atrule.url.punctuation": { - "color": "#d4d4d4" - }, - "keyword": { - "color": "#569CD6" - }, - "keyword.module": { - "color": "#c586c0" - }, - "keyword.control-flow": { - "color": "#c586c0" - }, - "function": { - "color": "#dcdcaa" - }, - "function.maybe-class-name": { - "color": "#dcdcaa" - }, - "regex": { - "color": "#d16969" - }, - "important": { - "color": "#569cd6" - }, - "italic": { - "fontStyle": "italic" - }, - "class-name": { - "color": "#4ec9b0" - }, - "maybe-class-name": { - "color": "#4ec9b0" - }, - "console": { - "color": "#9cdcfe" - }, - "parameter": { - "color": "#9cdcfe" - }, - "interpolation": { - "color": "#9cdcfe" - }, - "punctuation.interpolation-punctuation": { - "color": "#569cd6" - }, - "variable": { - "color": "#9cdcfe" - }, - "imports.maybe-class-name": { - "color": "#9cdcfe" - }, - "exports.maybe-class-name": { - "color": "#9cdcfe" - }, - "escape": { - "color": "#d7ba7d" - }, - "tag.punctuation": { - "color": "#808080" - }, - "cdata": { - "color": "#808080" - }, - "attr-value": { - "color": "#ce9178" - }, - "attr-value.punctuation": { - "color": "#ce9178" - }, - "attr-value.punctuation.attr-equals": { - "color": "#d4d4d4" - }, - "namespace": { - "color": "#4ec9b0" - }, - "pre[class*=\"language-javascript\"]": { - "color": "#9cdcfe" - }, - "code[class*=\"language-javascript\"]": { - "color": "#9cdcfe" - }, - "pre[class*=\"language-jsx\"]": { - "color": "#9cdcfe" - }, - "code[class*=\"language-jsx\"]": { - "color": "#9cdcfe" - }, - "pre[class*=\"language-typescript\"]": { - "color": "#9cdcfe" - }, - "code[class*=\"language-typescript\"]": { - "color": "#9cdcfe" - }, - "pre[class*=\"language-tsx\"]": { - "color": "#9cdcfe" - }, - "code[class*=\"language-tsx\"]": { - "color": "#9cdcfe" - }, - "pre[class*=\"language-css\"]": { - "color": "#ce9178" - }, - "code[class*=\"language-css\"]": { - "color": "#ce9178" - }, - "pre[class*=\"language-html\"]": { - "color": "#d4d4d4" - }, - "code[class*=\"language-html\"]": { - "color": "#d4d4d4" - }, - ".language-regex .token.anchor": { - "color": "#dcdcaa" - }, - ".language-html .token.punctuation": { - "color": "#808080" - }, - "pre[class*=\"language-\"] > code[class*=\"language-\"]": { - "position": "relative", - "zIndex": "1" - }, - ".line-highlight.line-highlight": { - "background": "#f7ebc6", - "boxShadow": "inset 5px 0 0 #f7d87c", - "zIndex": "0" - } -}; -exports["default"] = _default; \ No newline at end of file diff --git a/packages/website/components/Markdown/tools.ts b/packages/website/components/Markdown/tools.ts deleted file mode 100644 index ec29d0650..000000000 --- a/packages/website/components/Markdown/tools.ts +++ /dev/null @@ -1,25 +0,0 @@ -export const getChildrenText = (children: any): any => { - if (!children) { - return ""; - } - let result = ""; - try { - children.forEach((c: any) => { - if (typeof c == "string") { - result = result + c; - } else if (typeof c == "object") { - if (c?.props?.children && typeof c?.props?.children == "string") { - result = result + c?.props?.children; - } - } else { - if (c?.props?.children && typeof c?.props?.children == "string") { - result = result + c?.props?.children; - } - } - }); - return result; - } catch (err) { - console.log("获取 heading text 失败:", JSON.stringify(err, null, 2)); - return result || ""; - } -}; diff --git a/packages/website/components/PostCard/index.tsx b/packages/website/components/PostCard/index.tsx index 220eb039b..f40b491a8 100644 --- a/packages/website/components/PostCard/index.tsx +++ b/packages/website/components/PostCard/index.tsx @@ -2,7 +2,6 @@ import Link from "next/link"; import { useMemo, useState } from "react"; import AlertCard from "../AlertCard"; import CopyRight from "../CopyRight"; -import Markdown from "../Markdown"; import Reward from "../Reward"; import TopPinIcon from "../TopPinIcon"; import UnLockCard from "../UnLockCard"; @@ -12,6 +11,7 @@ import { SubTitle, Title } from "./title"; import { getTarget } from "../Link/tools"; import TocMobile from "../TocMobile"; import { hasToc } from "../../utils/hasToc"; +import Markdown from "../Markdown"; export default function (props: { id: number | string; @@ -123,7 +123,7 @@ export default function (props: { ) : ( <> {showToc && } - + )} diff --git a/packages/website/package.json b/packages/website/package.json index ed7b93d0d..f928cb982 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -9,10 +9,18 @@ "start": "next start" }, "dependencies": { + "@bytemd/plugin-gfm": "^1.17.2", + "@bytemd/plugin-highlight-ssr": "^1.20.2", + "@bytemd/plugin-math-ssr": "^1.20.2", + "@bytemd/plugin-medium-zoom": "^1.17.2", + "@bytemd/plugin-mermaid": "^1.17.2", + "@bytemd/react": "^1.17.2", "@next/bundle-analyzer": "^13.2.4", "@types/lodash": "^4.14.191", "@types/markdown-navbar": "^1.4.0", "@waline/client": "^2.14.8", + "bytemd": "^1.20.2", + "copy-to-clipboard": "^3.3.2", "dayjs": "^1.11.7", "eslint-config-next": "^13.2.4", "headroom.js": "^0.12.0", @@ -26,20 +34,16 @@ "react-copy-to-clipboard": "^5.1.0", "react-dom": "^18.2.0", "react-hot-toast": "^2.4.0", - "react-markdown": "^8.0.5", "react-photo-view": "^1.2.3", "react-syntax-highlighter": "^15.5.0", "react-tiny-popover": "^7.2.4", "react-use": "^17.4.0", - "rehype-katex": "^6.0.2", "rehype-raw": "^6.1.1", - "remark-breaks": "^3.0.2", "remark-directive": "^2.0.1", - "remark-directive-rehype": "^0.4.2", "remark-gfm": "^3.0.1", - "remark-math": "^5.1.1", "remark-rehype": "^10.1.0", - "sharp": "^0.31.3" + "sharp": "^0.31.3", + "unist-util-visit": "^4.1.1" }, "devDependencies": { "@swc/core": "^1.3.40", diff --git a/packages/website/pages/_app.tsx b/packages/website/pages/_app.tsx index 513107467..3f1145a98 100644 --- a/packages/website/pages/_app.tsx +++ b/packages/website/pages/_app.tsx @@ -7,6 +7,8 @@ import "../styles/tip-card.css"; import "../styles/loader.css"; import "../styles/scrollbar.css"; import "../styles/custom-container.css"; +import "../styles/code-light.css"; +import "../styles/code-dark.css"; import type { AppProps } from "next/app"; import { GlobalContext, GlobalState } from "../utils/globalContext"; import { useCallback, useEffect, useRef, useState } from "react"; diff --git a/packages/website/styles/code-dark.css b/packages/website/styles/code-dark.css new file mode 100644 index 000000000..67abefa3a --- /dev/null +++ b/packages/website/styles/code-dark.css @@ -0,0 +1,113 @@ +.dark pre .code-block-wrapper { + display: block; + overflow-x: auto; + padding: 22px 16px 16px; +} + +.dark code.hljs { + padding: 3px 5px +} + +.dark .hljs { + background: inherit; + color: #dcdcdc +} + +.dark .hljs-keyword, +.dark .hljs-literal, +.dark .hljs-name, +.dark .hljs-symbol { + color: #569cd6 +} + +.dark .hljs-link { + color: #569cd6; + text-decoration: underline +} + +.dark .hljs-built_in, +.dark .hljs-type { + color: #4ec9b0 +} + +.dark .hljs-class, +.dark .hljs-number { + color: #b8d7a3 +} + +.dark .hljs-meta .hljs-string, +.dark .hljs-string { + color: #d69d85 +} + +.dark .hljs-regexp, +.dark .hljs-template-tag { + color: #9a5334 +} + +.dark .hljs-formula, +.dark .hljs-function, +.dark .hljs-params, +.dark .hljs-subst, +.dark .hljs-title { + color: #dcdcdc +} + +.dark .hljs-comment, +.dark .hljs-quote { + color: #57a64a; + font-style: italic +} + +.dark .hljs-doctag { + color: #608b4e +} + +.dark .hljs-meta, +.dark .hljs-meta .hljs-keyword, +.dark .hljs-tag { + color: #9b9b9b +} + +.dark .hljs-template-variable, +.dark .hljs-variable { + color: #bd63c5 +} + +.dark .hljs-attr, +.dark .hljs-attribute { + color: #9cdcfe +} + +.dark .hljs-section { + color: gold +} + +.dark .hljs-emphasis { + font-style: italic +} + +.dark .hljs-strong { + font-weight: 700 +} + +.dark .hljs-bullet, +.dark .hljs-selector-attr, +.dark .hljs-selector-class, +.dark .hljs-selector-id, +.dark .hljs-selector-pseudo, +.dark .hljs-selector-tag { + color: #d7ba7d +} + +.dark .hljs-addition { + background-color: #144212; + display: inline-block; + width: 100% +} + +.dark .hljs-deletion { + background-color: #600; + display: inline-block; + width: 100% +} \ No newline at end of file diff --git a/packages/website/styles/code-light.css b/packages/website/styles/code-light.css new file mode 100644 index 000000000..eaa1be2e7 --- /dev/null +++ b/packages/website/styles/code-light.css @@ -0,0 +1,69 @@ +.light pre .code-block-wrapper { + display: block; + overflow-x: auto; + padding: 22px 16px 16px; +} + +.light code.hljs { + padding: 3px 5px +} + +.light .hljs { + background: inherit; + color: #000 +} + +.light .hljs-comment, +.light .hljs-quote, +.light .hljs-variable { + color: green +} + +.light .hljs-built_in, +.light .hljs-keyword, +.light .hljs-name, +.light .hljs-selector-tag, +.light .hljs-tag { + color: #00f +} + +.light .hljs-addition, +.light .hljs-attribute, +.light .hljs-literal, +.light .hljs-section, +.light .hljs-string, +.light .hljs-template-tag, +.light .hljs-template-variable, +.light .hljs-title, +.light .hljs-type { + color: #a31515 +} + +.light .hljs-deletion, +.light .hljs-meta, +.light .hljs-selector-attr, +.light .hljs-selector-pseudo { + color: #2b91af +} + +.light .hljs-doctag { + color: grey +} + +.light .hljs-attr { + color: red +} + +.light .hljs-bullet, +.light .hljs-link, +.light .hljs-symbol { + color: #00b0e8 +} + +.light .hljs-emphasis { + font-style: italic +} + +.light .hljs-strong { + font-weight: 700 +} \ No newline at end of file diff --git a/packages/website/styles/custom-container.css b/packages/website/styles/custom-container.css index f48646d1e..4551337e9 100644 --- a/packages/website/styles/custom-container.css +++ b/packages/website/styles/custom-container.css @@ -19,6 +19,7 @@ --danger-bg-color: #ffebec; --danger-border-color: #e13238; } + .dark .custom-container { --info-title-color: #eef9fd; @@ -43,40 +44,50 @@ .custom-container.info { background-color: var(--info-bg-color); - border-color: var(--info-border-color); + border-color: var(--info-border-color); } + .custom-container.note { background-color: var(--note-bg-color); - border-color: var(--note-border-color); + border-color: var(--note-border-color); } + .custom-container.tip { background-color: var(--tip-bg-color); - border-color: var(--tip-border-color); + border-color: var(--tip-border-color); } + .custom-container.warning { background-color: var(--warning-bg-color); - border-color: var(--warning-border-color); + border-color: var(--warning-border-color); } + .custom-container.danger { background-color: var(--danger-bg-color); - border-color: var(--danger-border-color); + border-color: var(--danger-border-color); } + .custom-container-title.info { color: var(--info-title-color); } + .custom-container-title.note { color: var(--note-title-color); } + .custom-container-title.warning { color: var(--warning-title-color); } + .custom-container-title.tip { color: var(--tip-title-color); } + .custom-container-title.danger { color: var(--danger-title-color); } + .custom-container { margin: 1rem 0; padding: 0.25rem 1rem; @@ -92,9 +103,92 @@ display: flex; align-items: center; } + .markdown-body .custom-container-title svg { margin-right: 4px; } -body .markdown-body .custom-container .relative > pre { +body .markdown-body .custom-container .relative>pre { margin: 0 !important; } + +.custom-container-title.tip::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2012%2016%22%20fill%3D%22%23003100%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.5%200C3.48%200%201%202.19%201%205c0%20.92.55%202.25%201%203%201.34%202.25%201.78%202.78%202%204v1h5v-1c.22-1.22.66-1.75%202-4%20.45-.75%201-2.08%201-3%200-2.81-2.48-5-5.5-5zm3.64%207.48c-.25.44-.47.8-.67%201.11-.86%201.41-1.25%202.06-1.45%203.23-.02.05-.02.11-.02.17H5c0-.06%200-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44%206.78%202%205.65%202%205c0-2.2%202.02-4%204.5-4%201.22%200%202.36.42%203.22%201.19C10.55%202.94%2011%203.94%2011%205c0%20.66-.44%201.78-.86%202.48zM4%2014h5c-.23%201.14-1.3%202-2.5%202s-2.27-.86-2.5-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; +} + +.dark .custom-container-title.tip::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2012%2016%22%20fill%3D%22%23e6f6e6%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.5%200C3.48%200%201%202.19%201%205c0%20.92.55%202.25%201%203%201.34%202.25%201.78%202.78%202%204v1h5v-1c.22-1.22.66-1.75%202-4%20.45-.75%201-2.08%201-3%200-2.81-2.48-5-5.5-5zm3.64%207.48c-.25.44-.47.8-.67%201.11-.86%201.41-1.25%202.06-1.45%203.23-.02.05-.02.11-.02.17H5c0-.06%200-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44%206.78%202%205.65%202%205c0-2.2%202.02-4%204.5-4%201.22%200%202.36.42%203.22%201.19C10.55%202.94%2011%203.94%2011%205c0%20.66-.44%201.78-.86%202.48zM4%2014h5c-.23%201.14-1.3%202-2.5%202s-2.27-.86-2.5-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + +.custom-container-title.warning::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22%234d3800%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M8.893%201.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138%2013.499a.98.98%200%200%200%200%201.001c.193.31.53.501.886.501h13.964c.367%200%20.704-.19.877-.5a1.03%201.03%200%200%200%20.01-1.002L8.893%201.5zm.133%2011.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.warning::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22%23fff8e6%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M8.893%201.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138%2013.499a.98.98%200%200%200%200%201.001c.193.31.53.501.886.501h13.964c.367%200%20.704-.19.877-.5a1.03%201.03%200%200%200%20.01-1.002L8.893%201.5zm.133%2011.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + + +.custom-container-title.danger::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%201024%201024%22%20fill%3D%22%234b1113%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%20d%3D%22M147.911%20833.422V560.356a364.089%20364.089%200%201%201%20728.178%200v273.066H921.6v91.022H102.4v-91.022h45.511zm91.022-273.066h91.023A182.044%20182.044%200%200%201%20512%20378.31v-91.02a273.067%20273.067%200%200%200-273.067%20273.067zM466.49%2014.222h91.022v136.534H466.49V14.222zm399.496%20127.795%2064.353%2064.353-96.483%2096.53-64.399-64.354%2096.53-96.529zM93.662%20206.37l64.353-64.353%2096.529%2096.484-64.308%2064.444-96.574-96.575z%22%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.danger::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%201024%201024%22%20fill%3D%22%23ffebec%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%20d%3D%22M147.911%20833.422V560.356a364.089%20364.089%200%201%201%20728.178%200v273.066H921.6v91.022H102.4v-91.022h45.511zm91.022-273.066h91.023A182.044%20182.044%200%200%201%20512%20378.31v-91.02a273.067%20273.067%200%200%200-273.067%20273.067zM466.49%2014.222h91.022v136.534H466.49V14.222zm399.496%20127.795%2064.353%2064.353-96.483%2096.53-64.399-64.354%2096.53-96.529zM93.662%20206.37l64.353-64.353%2096.529%2096.484-64.308%2064.444-96.574-96.575z%22%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + + +.custom-container-title.note::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23474748%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.3%205.69a.942.942%200%200%201-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28%200%20.52.09.7.28.18.19.28.42.28.7%200%20.28-.09.52-.28.7a1%201%200%200%201-.7.3c-.28%200-.52-.11-.7-.3zM8%207.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27%200%20.48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7%202.3c-3.14%200-5.7%202.54-5.7%205.68%200%203.14%202.56%205.7%205.7%205.7s5.7-2.55%205.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7%20.98c3.86%200%207%203.14%207%207s-3.14%207-7%207-7-3.12-7-7%203.14-7%207-7z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.note::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23fdfdfe%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M6.3%205.69a.942.942%200%200%201-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28%200%20.52.09.7.28.18.19.28.42.28.7%200%20.28-.09.52-.28.7a1%201%200%200%201-.7.3c-.28%200-.52-.11-.7-.3zM8%207.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27%200%20.48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7%202.3c-3.14%200-5.7%202.54-5.7%205.68%200%203.14%202.56%205.7%205.7%205.7s5.7-2.55%205.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7%20.98c3.86%200%207%203.14%207%207s-3.14%207-7%207-7-3.12-7-7%203.14-7%207-7z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} + + +.custom-container-title.info::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23193c47%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M7%202.3c3.14%200%205.7%202.56%205.7%205.7s-2.56%205.7-5.7%205.7A5.71%205.71%200%200%201%201.3%208c0-3.14%202.56-5.7%205.7-5.7zM7%201C3.14%201%200%204.14%200%208s3.14%207%207%207%207-3.14%207-7-3.14-7-7-7zm1%203H6v5h2V4zm0%206H6v2h2v-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; + margin-right: 4px; + +} + +.dark .custom-container-title.info::before { + content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22%23eef9fd%22%20width%3D%2220%22%20height%3D%2220%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill-rule%3D%22evenodd%22%0A%20%20%20%20d%3D%22M7%202.3c3.14%200%205.7%202.56%205.7%205.7s-2.56%205.7-5.7%205.7A5.71%205.71%200%200%201%201.3%208c0-3.14%202.56-5.7%205.7-5.7zM7%201C3.14%201%200%204.14%200%208s3.14%207%207%207%207-3.14%207-7-3.14-7-7-7zm1%203H6v5h2V4zm0%206H6v2h2v-2z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"); + display: block; + width: 20px; + height: 20px; +} \ No newline at end of file diff --git a/packages/website/styles/github-markdown.css b/packages/website/styles/github-markdown.css index d40ff43c7..e65c76592 100644 --- a/packages/website/styles/github-markdown.css +++ b/packages/website/styles/github-markdown.css @@ -1058,17 +1058,38 @@ body .markdown-body pre { background-color: inherit; } -body .markdown-body .relative > pre { - margin-bottom: 0; - padding: 16px !important; - border: none !important; - margin: 0 !important; - padding-top: 22px !important; -} -body .markdown-body .relative > pre::-webkit-scrollbar { +body .markdown-body .code-block-wrapper::-webkit-scrollbar { height: 8px; } -body .markdown-body .relative > pre::-webkit-scrollbar-thumb { +body .markdown-body .code-block-wrapper::-webkit-scrollbar-thumb { border-radius: 6px; } + +.markdown-body .header-right { + position: absolute; + top: 2px; + right: 2px; + z-index: 1; + line-height: 1; +} + +.markdown-body .code-copy-btn { + cursor: pointer; + transition: background-color 0.2s ease-in-out; + border-radius: 4px; +} + +.markdown-body .code-copy-btn:hover { + background-color: rgb(229 231 235); +} + +.dark .markdown-body .code-copy-btn:hover { + background-color: rgb(55 65 81); +} + +.markdown-body .code-copy-btn::before { + content: url("data:image/svg+xml,%3Csvg%0Awidth%3D%2214%22%0Aheight%3D%2214%22%0AviewBox%3D%220%200%2015%2019%22%0Afill%3D%22currentColor%22%0Axmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%3E%0A%3Cpath%0A%20%20d%3D%22M11.0475%200.905273H1.67197C0.812542%200.905273%200.109375%201.60844%200.109375%202.46787V13.406H1.67197V2.46787H11.0475V0.905273ZM13.3914%204.03046H4.79716C3.93773%204.03046%203.23456%204.73363%203.23456%205.59306V16.5312C3.23456%2017.3906%203.93773%2018.0938%204.79716%2018.0938H13.3914C14.2509%2018.0938%2014.954%2017.3906%2014.954%2016.5312V5.59306C14.954%204.73363%2014.2509%204.03046%2013.3914%204.03046ZM13.3914%2016.5312H4.79716V5.59306H13.3914V16.5312Z%22%0A%20%20fill%3D%22%236f7177%22%0A%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E"); + display: inline-block; + padding: 4px 8px; +} diff --git a/packages/website/utils/copy.ts b/packages/website/utils/copy.ts new file mode 100644 index 000000000..1edf87c34 --- /dev/null +++ b/packages/website/utils/copy.ts @@ -0,0 +1 @@ +import copy from 'copy-to-clipboard'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9be532ec1..0a7a91e6a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,8 +79,8 @@ importers: '@bytemd/plugin-breaks': ^1.17.2 '@bytemd/plugin-frontmatter': ^1.17.2 '@bytemd/plugin-gfm': ^1.17.2 - '@bytemd/plugin-highlight': ^1.17.2 - '@bytemd/plugin-math': ^1.17.2 + '@bytemd/plugin-highlight-ssr': ^1.20.2 + '@bytemd/plugin-math-ssr': ^1.20.2 '@bytemd/plugin-medium-zoom': ^1.17.2 '@bytemd/plugin-mermaid': ^1.17.2 '@bytemd/react': ^1.17.2 @@ -138,6 +138,7 @@ importers: react-dom: ^17.0.0 react-helmet-async: ^1.2.0 react-monaco-editor: ^0.50.1 + rehype-raw: ^6.1.1 remark-directive: ^2.0.1 stylelint: ^13.0.0 swagger-ui-react: ^3.52.0 @@ -148,17 +149,17 @@ importers: dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m '@ant-design/plots': 1.2.5_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-card': 1.20.22_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-components': 1.1.25_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-descriptions': 1.12.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-form': 1.74.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-layout': 6.38.22_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-table': 2.80.8_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-card': 1.20.22_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-components': 1.1.25_xlkzn6vur2silmobrsgzl3wvpm + '@ant-design/pro-descriptions': 1.12.7_xlkzn6vur2silmobrsgzl3wvpm + '@ant-design/pro-form': 1.74.7_xlkzn6vur2silmobrsgzl3wvpm + '@ant-design/pro-layout': 6.38.22_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-table': 2.80.8_xlkzn6vur2silmobrsgzl3wvpm '@bytemd/plugin-breaks': 1.20.2_bytemd@1.20.2 '@bytemd/plugin-frontmatter': 1.20.2_bytemd@1.20.2 '@bytemd/plugin-gfm': 1.20.2_bytemd@1.20.2 - '@bytemd/plugin-highlight': 1.20.2_bytemd@1.20.2 - '@bytemd/plugin-math': 1.20.2_bytemd@1.20.2 + '@bytemd/plugin-highlight-ssr': 1.20.2_bytemd@1.20.2 + '@bytemd/plugin-math-ssr': 1.20.2_bytemd@1.20.2 '@bytemd/plugin-medium-zoom': 1.20.2_bytemd@1.20.2 '@bytemd/plugin-mermaid': 1.20.2_bytemd@1.20.2 '@bytemd/react': 1.20.2_react@17.0.2 @@ -179,7 +180,7 @@ importers: lodash: 4.17.21 moment: 2.29.4 monaco-editor: 0.34.1 - monaco-editor-webpack-plugin: 7.0.1_monaco-editor@0.34.1 + monaco-editor-webpack-plugin: 7.0.1_feckyf2jam7vk36gev3ykueqty omit.js: 2.0.2 pinyin-match: 1.2.4 rc-menu: 9.8.2_sfoxds7t5ydpegc3knd667wn6m @@ -187,12 +188,13 @@ importers: rc-util: 5.28.0_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 react-contexify: 5.0.0_sfoxds7t5ydpegc3knd667wn6m - react-dev-inspector: 1.8.4_l5hyvwnnskx7g27xcaxotzm7m4 + react-dev-inspector: 1.8.4_x6lqoilzyzsasmsygdvtcuzivq react-dom: 17.0.2_react@17.0.2 react-helmet-async: 1.3.0_sfoxds7t5ydpegc3knd667wn6m react-monaco-editor: 0.50.1_fzsbz3zrwiw5hg2xdmbsj3ayem + rehype-raw: 6.1.1 remark-directive: 2.0.1 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 unist-util-visit: 4.1.2 devDependencies: '@ant-design/pro-cli': 2.1.5 @@ -206,25 +208,25 @@ importers: '@types/react-helmet': 6.1.6 '@umijs/fabric': 2.14.1 '@umijs/openapi': 1.8.3 - '@umijs/plugin-blocks': 2.2.2_ckeyyuxboctalpng47ty4dbnxi - '@umijs/plugin-esbuild': 1.4.2_umi@3.5.37 + '@umijs/plugin-blocks': 2.2.2_oegweg5idsvixk53g6dyvth4te + '@umijs/plugin-esbuild': 1.4.2_umi@3.5.37+webpack@5.75.0 '@umijs/plugin-openapi': 1.3.3_umi@3.5.37 '@umijs/preset-ant-design-pro': 1.3.3_ckeyyuxboctalpng47ty4dbnxi - '@umijs/preset-dumi': 1.1.50_ecmibvayc5q244fp4oomiaq5cm - '@umijs/preset-react': 2.1.6_e6livz6goerzjmkijrxjgjunae + '@umijs/preset-dumi': 1.1.50_53qqx7b2shrwq76djpbbo5um3q + '@umijs/preset-react': 2.1.6_cayxvmevf5npttiv65gtwojqym cross-env: 7.0.3 cross-port-killer: 1.4.0 detect-installer: 1.0.2 eslint: 7.32.0 gh-pages: 3.2.3 - jsdom-global: 3.0.2 + jsdom-global: 3.0.2_jsdom@21.1.0 lint-staged: 10.5.4 mockjs: 1.1.0 prettier: 2.8.4 stylelint: 13.13.1 swagger-ui-react: 3.52.5_sfoxds7t5ydpegc3knd667wn6m typescript: 4.9.5 - umi-serve: 1.9.11 + umi-serve: 1.9.11_@babel+core@7.21.0 packages/server: specifiers: @@ -367,6 +369,12 @@ importers: packages/website: specifiers: + '@bytemd/plugin-gfm': ^1.17.2 + '@bytemd/plugin-highlight-ssr': ^1.20.2 + '@bytemd/plugin-math-ssr': ^1.20.2 + '@bytemd/plugin-medium-zoom': ^1.17.2 + '@bytemd/plugin-mermaid': ^1.17.2 + '@bytemd/react': ^1.17.2 '@next/bundle-analyzer': ^13.2.4 '@swc/core': ^1.3.40 '@swc/jest': ^0.2.24 @@ -384,6 +392,8 @@ importers: '@types/react-syntax-highlighter': ^15.5.6 '@waline/client': ^2.14.8 autoprefixer: ^10.4.14 + bytemd: ^1.20.2 + copy-to-clipboard: ^3.3.2 cross-env: ^7.0.3 dayjs: ^1.11.7 eslint-config-next: ^13.2.4 @@ -399,30 +409,34 @@ importers: react-copy-to-clipboard: ^5.1.0 react-dom: ^18.2.0 react-hot-toast: ^2.4.0 - react-markdown: ^8.0.5 react-photo-view: ^1.2.3 react-syntax-highlighter: ^15.5.0 react-tiny-popover: ^7.2.4 react-use: ^17.4.0 - rehype-katex: ^6.0.2 rehype-raw: ^6.1.1 - remark-breaks: ^3.0.2 remark-directive: ^2.0.1 - remark-directive-rehype: ^0.4.2 remark-gfm: ^3.0.1 - remark-math: ^5.1.1 remark-rehype: ^10.1.0 sharp: ^0.31.3 tailwindcss: ^3.2.7 typescript: 4.9.5 + unist-util-visit: ^4.1.1 vitest: 0.29.2 dependencies: + '@bytemd/plugin-gfm': 1.20.2_bytemd@1.20.2 + '@bytemd/plugin-highlight-ssr': 1.20.2_bytemd@1.20.2 + '@bytemd/plugin-math-ssr': 1.20.2_bytemd@1.20.2 + '@bytemd/plugin-medium-zoom': 1.20.2_bytemd@1.20.2 + '@bytemd/plugin-mermaid': 1.20.2_bytemd@1.20.2 + '@bytemd/react': 1.20.2_react@18.2.0 '@next/bundle-analyzer': 13.2.4 '@types/lodash': 4.14.191 '@types/markdown-navbar': 1.4.0 '@waline/client': 2.14.8 + bytemd: 1.20.2 + copy-to-clipboard: 3.3.3 dayjs: 1.11.7 - eslint-config-next: 13.2.4_typescript@4.9.5 + eslint-config-next: 13.2.4_vgl77cfdswitgr47lm5swmv43m headroom.js: 0.12.0 js-base64: 3.7.5 katex: 0.16.4 @@ -433,21 +447,17 @@ importers: react-burger-menu: 3.0.9_biqbaboplfbrettd7655fr4n2y react-copy-to-clipboard: 5.1.0_react@18.2.0 react-dom: 18.2.0_react@18.2.0 - react-hot-toast: 2.4.0_biqbaboplfbrettd7655fr4n2y - react-markdown: 8.0.5_pmekkgnqduwlme35zpnqhenc34 + react-hot-toast: 2.4.0_owo25xnefcwdq3zjgtohz6dbju react-photo-view: 1.2.3_biqbaboplfbrettd7655fr4n2y react-syntax-highlighter: 15.5.0_react@18.2.0 react-tiny-popover: 7.2.4_biqbaboplfbrettd7655fr4n2y react-use: 17.4.0_biqbaboplfbrettd7655fr4n2y - rehype-katex: 6.0.2 rehype-raw: 6.1.1 - remark-breaks: 3.0.2 remark-directive: 2.0.1 - remark-directive-rehype: 0.4.2 remark-gfm: 3.0.1 - remark-math: 5.1.1 remark-rehype: 10.1.0 sharp: 0.31.3 + unist-util-visit: 4.1.2 devDependencies: '@swc/core': 1.3.40 '@swc/jest': 0.2.24_@swc+core@1.3.40 @@ -627,13 +637,13 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false - /@ant-design/pro-card/1.20.22_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-card/1.20.22_oxfzelaz5ynxsop2v2nu2h2m64: resolution: {integrity: sha512-du4yMSLflfI+SOx7n87FtiPaEmGtWDN4yFC2vfQZQ6rhO0SVAOI2vRPKoXKOZn8Pr9fXVQGo+uPsVXJMZ3WwPg==} peerDependencies: react: '>=16.9.0' dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m classnames: 2.3.2 @@ -641,6 +651,7 @@ packages: rc-util: 5.28.0_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 transitivePeerDependencies: + - prop-types - react-dom dev: false @@ -685,57 +696,59 @@ packages: - utf-8-validate dev: true - /@ant-design/pro-components/1.1.25_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-components/1.1.25_xlkzn6vur2silmobrsgzl3wvpm: resolution: {integrity: sha512-rw2suZuKRageJxzI74UXWYS4wqY1Msnl24fHT/xLdRKh7H15C6NUYOcZrUGPow4GfHf6Naco3gjuX7gJYfRcbg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/pro-card': 1.20.22_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-descriptions': 1.12.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-field': 1.36.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-form': 1.74.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-layout': 6.38.22_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-list': 1.21.87_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-card': 1.20.22_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-descriptions': 1.12.7_xlkzn6vur2silmobrsgzl3wvpm + '@ant-design/pro-field': 1.36.7_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-form': 1.74.7_xlkzn6vur2silmobrsgzl3wvpm + '@ant-design/pro-layout': 6.38.22_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-list': 1.21.87_xlkzn6vur2silmobrsgzl3wvpm '@ant-design/pro-provider': 1.10.0_sfoxds7t5ydpegc3knd667wn6m '@ant-design/pro-skeleton': 1.0.13_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-table': 2.80.8_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-table': 2.80.8_xlkzn6vur2silmobrsgzl3wvpm + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 react-dom: 17.0.2_react@17.0.2 transitivePeerDependencies: + - prop-types - rc-field-form dev: false - /@ant-design/pro-descriptions/1.12.7_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-descriptions/1.12.7_xlkzn6vur2silmobrsgzl3wvpm: resolution: {integrity: sha512-D1aiVszsJNs5lEe6wHjuyhdrR3IPZQW//LpB3R+X9C7xk6TLC9FIbJRdgp0NSHMdf+yXEXUzr2EsRWEBhH+Lfg==} peerDependencies: react: '>=16.9.0' dependencies: - '@ant-design/pro-field': 1.36.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-form': 1.74.7_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-field': 1.36.7_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-form': 1.74.7_xlkzn6vur2silmobrsgzl3wvpm '@ant-design/pro-skeleton': 1.0.13_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.28.0_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 use-json-comparison: 1.0.6_react@17.0.2 transitivePeerDependencies: + - prop-types - rc-field-form - react-dom dev: false - /@ant-design/pro-field/1.36.7_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-field/1.36.7_oxfzelaz5ynxsop2v2nu2h2m64: resolution: {integrity: sha512-N5DGitBT2o5UC5lR8M6CQOhKsTMqhzggR6Q0xC2Uj50eUmy5A2uFDnsCjlaSgprocpIK0/zvTU02V9yE62SHSw==} peerDependencies: react: '>=16.9.0' dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m '@ant-design/pro-provider': 1.10.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 '@chenshuai2144/sketch-color': 1.0.9_react@17.0.2 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m @@ -748,10 +761,11 @@ packages: react: 17.0.2 swr: 1.3.0_react@17.0.2 transitivePeerDependencies: + - prop-types - react-dom dev: false - /@ant-design/pro-form/1.74.7_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-form/1.74.7_xlkzn6vur2silmobrsgzl3wvpm: resolution: {integrity: sha512-3r6DdAkvsjN0lpVnbpAbtj5n+Od+IeLE6Z6DKPChobtwYJX5XyR8fWWOnyR43W8qbGTpXMxDwO9IP3VRY7VdMQ==} peerDependencies: rc-field-form: ^1.22.0 @@ -759,31 +773,34 @@ packages: react-dom: '>=16.9.0' dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-field': 1.36.7_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-field': 1.36.7_oxfzelaz5ynxsop2v2nu2h2m64 '@ant-design/pro-provider': 1.10.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 '@umijs/use-params': 1.0.9_react@17.0.2 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m classnames: 2.3.2 lodash.merge: 4.6.2 omit.js: 2.0.2 + rc-field-form: 1.27.4_sfoxds7t5ydpegc3knd667wn6m rc-resize-observer: 1.3.1_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.28.0_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 react-dom: 17.0.2_react@17.0.2 use-json-comparison: 1.0.6_react@17.0.2 use-media-antd-query: 1.1.0_react@17.0.2 + transitivePeerDependencies: + - prop-types dev: false - /@ant-design/pro-layout/6.38.22_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-layout/6.38.22_oxfzelaz5ynxsop2v2nu2h2m64: resolution: {integrity: sha512-rsxY2E0BTyRE7IO67VACWVPSfdtDnTaWtECuMnc4ctL+xmnzbnnr0zEHVQ+S58BxLnCqO3IyOsSc0nFl2hHsnQ==} peerDependencies: react: '>=16.9.0' dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m '@ant-design/pro-provider': 1.10.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 '@umijs/route-utils': 2.2.2 '@umijs/ssr-darkreader': 4.9.45 @@ -802,17 +819,18 @@ packages: use-media-antd-query: 1.1.0_react@17.0.2 warning: 4.0.3 transitivePeerDependencies: + - prop-types - react-dom - /@ant-design/pro-list/1.21.87_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-list/1.21.87_xlkzn6vur2silmobrsgzl3wvpm: resolution: {integrity: sha512-8qtWDoxf6ylrYJC8oYhuk0yO5YLFM2gONrrlYrJ92qYQ3AvfF3S2klcRNvIGlU2ECX4EJRxGUq1wTW9galyoWA==} peerDependencies: react: '>=16.9.0' dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-card': 1.20.22_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-field': 1.36.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-table': 2.80.8_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-card': 1.20.22_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-field': 1.36.7_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-table': 2.80.8_xlkzn6vur2silmobrsgzl3wvpm '@babel/runtime': 7.21.0 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m classnames: 2.3.2 @@ -823,6 +841,7 @@ packages: unstated-next: 1.1.0 use-media-antd-query: 1.1.0_react@17.0.2 transitivePeerDependencies: + - prop-types - rc-field-form - react-dom dev: false @@ -853,7 +872,7 @@ packages: - react-dom dev: false - /@ant-design/pro-table/2.80.8_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-table/2.80.8_xlkzn6vur2silmobrsgzl3wvpm: resolution: {integrity: sha512-QPrGJJpXk8va/sUMlBYXIxNenc0OMHK+LKKLKOmh1hoA+a6/a75Tk+VaoncLGZZ99qXDQwMLlRZXMGDhrtCGgA==} peerDependencies: rc-field-form: ^1.22.0 @@ -861,26 +880,29 @@ packages: react-dom: '>=16.9.0' dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-card': 1.20.22_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-field': 1.36.7_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-form': 1.74.7_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-card': 1.20.22_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-field': 1.36.7_oxfzelaz5ynxsop2v2nu2h2m64 + '@ant-design/pro-form': 1.74.7_xlkzn6vur2silmobrsgzl3wvpm '@ant-design/pro-provider': 1.10.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-utils': 1.45.3_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-utils': 1.45.3_oxfzelaz5ynxsop2v2nu2h2m64 '@babel/runtime': 7.21.0 antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m classnames: 2.3.2 moment: 2.29.4 omit.js: 2.0.2 + rc-field-form: 1.27.4_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.28.0_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - react-sortable-hoc: 2.0.0_sfoxds7t5ydpegc3knd667wn6m + react-sortable-hoc: 2.0.0_oxfzelaz5ynxsop2v2nu2h2m64 unstated-next: 1.1.0 use-json-comparison: 1.0.6_react@17.0.2 use-media-antd-query: 1.1.0_react@17.0.2 + transitivePeerDependencies: + - prop-types dev: false - /@ant-design/pro-utils/1.45.3_sfoxds7t5ydpegc3knd667wn6m: + /@ant-design/pro-utils/1.45.3_oxfzelaz5ynxsop2v2nu2h2m64: resolution: {integrity: sha512-W2qtyckdkHTWGVXfFfqb9s/ahq3o4GlIZC3+WDiGUgqJTsUkwY69yV67E2ZfAro1XRXblUzbvxIv96M7bEAfFg==} peerDependencies: react: '>=16.9.0' @@ -895,8 +917,10 @@ packages: rc-util: 5.28.0_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - react-sortable-hoc: 2.0.0_sfoxds7t5ydpegc3knd667wn6m + react-sortable-hoc: 2.0.0_oxfzelaz5ynxsop2v2nu2h2m64 swr: 1.3.0_react@17.0.2 + transitivePeerDependencies: + - prop-types /@ant-design/react-slick/0.29.2_react@17.0.2: resolution: {integrity: sha512-kgjtKmkGHa19FW21lHnAfyyH9AAoh35pBdcJ53rHmQ3O+cfFHGHnUbj/HFrRNJ5vIts09FKJVAD8RpaC+RaWfA==} @@ -1276,24 +1300,6 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.21.0: - resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.0: resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} engines: {node: '>=6.9.0'} @@ -2338,15 +2344,6 @@ packages: '@babel/core': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-typescript/7.20.0: - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0: resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} @@ -3134,19 +3131,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typescript/7.21.0: - resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-create-class-features-plugin': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-typescript/7.21.0_@babel+core@7.21.0: resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==} engines: {node: '>=6.9.0'} @@ -3388,22 +3372,24 @@ packages: - supports-color dev: true - /@babel/preset-typescript/7.3.3: + /@babel/preset-typescript/7.3.3_@babel+core@7.21.0: resolution: {integrity: sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-transform-typescript': 7.21.0 + '@babel/plugin-transform-typescript': 7.21.0_@babel+core@7.21.0 transitivePeerDependencies: - supports-color dev: true - /@babel/register/7.4.4: + /@babel/register/7.4.4_@babel+core@7.21.0: resolution: {integrity: sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.0 core-js: 3.29.1 find-cache-dir: 2.1.0 lodash: 4.17.21 @@ -3544,23 +3530,22 @@ packages: - supports-color dev: false - /@bytemd/plugin-highlight/1.20.2_bytemd@1.20.2: - resolution: {integrity: sha512-OBm0SkH4ecKyRC+h7CPUQhbp9dDus/WIpTlialhZ3ueKk/PRwRcstiuzQNXwYDBjgUQPBapmCukITN7oFliZBg==} + /@bytemd/plugin-highlight-ssr/1.20.2_bytemd@1.20.2: + resolution: {integrity: sha512-mZm9v3sY+nnjgDNYtU5iFEjhj58MeQ50ukgkRc4UCU9BCf3YV3+dTI53bBYqOpnACQkzmd3r7N6dZC2OoGZwrg==} peerDependencies: bytemd: ^1.5.0 dependencies: bytemd: 1.20.2 - highlight.js: 11.7.0 + rehype-highlight: 6.0.0 dev: false - /@bytemd/plugin-math/1.20.2_bytemd@1.20.2: - resolution: {integrity: sha512-Ric1oWWz9ggx9UQ3OgpPIruz1UEnqLNsTiDclsoo8YVrGVQE1Mul1tTujy8MNIh15EEe6b9rV2OJ7dxuq6OJdg==} + /@bytemd/plugin-math-ssr/1.20.2_bytemd@1.20.2: + resolution: {integrity: sha512-7a8e85bpSJ9oq1/awr2JmmaUvn5AAE4dRCvpeeCx3+spyUUWFNxCY74Fl6V5Wy6bpeYf5v5nH0semdGJKUJmcA==} peerDependencies: bytemd: ^1.5.0 dependencies: - '@types/katex': 0.16.0 bytemd: 1.20.2 - katex: 0.16.4 + rehype-katex: 6.0.2 remark-math: 5.1.1 dev: false @@ -3593,6 +3578,17 @@ packages: - supports-color dev: false + /@bytemd/react/1.20.2_react@18.2.0: + resolution: {integrity: sha512-86814DUZydDHfvRT0XRLZJ66LGPhwWxeu/5NT/KSgjG0LKvzrUE/zine3PGDJjsHk3m/3fnqwzs8uJMpPHUWDQ==} + peerDependencies: + react: '*' + dependencies: + bytemd: 1.20.2 + react: 18.2.0 + transitivePeerDependencies: + - supports-color + dev: false + /@chenshuai2144/sketch-color/1.0.9_react@17.0.2: resolution: {integrity: sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==} peerDependencies: @@ -3902,12 +3898,10 @@ packages: dependencies: eslint: 8.36.0 eslint-visitor-keys: 3.3.0 - dev: true /@eslint-community/regexpp/4.4.0: resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true /@eslint/eslintrc/0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} @@ -3940,12 +3934,10 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true /@eslint/js/8.36.0: resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true /@exodus/schemasafe/1.0.0: resolution: {integrity: sha512-2cyupPIZI69HQxEAPllLXBjQp4njDKkOjYRCYxvMZe3/LY9pp9fBM3Tb1wiFAdP6Emo4v3OEbCLGj6u73Q5KLw==} @@ -4104,7 +4096,6 @@ packages: minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true /@humanwhocodes/config-array/0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} @@ -4119,7 +4110,6 @@ packages: /@humanwhocodes/module-importer/1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} @@ -7014,8 +7004,7 @@ packages: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: '@types/eslint': 8.21.2 - '@types/estree': 0.0.51 - dev: true + '@types/estree': 1.0.0 /@types/eslint/7.29.0: resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} @@ -7029,7 +7018,6 @@ packages: dependencies: '@types/estree': 1.0.0 '@types/json-schema': 7.0.11 - dev: true /@types/estree/0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} @@ -7037,7 +7025,6 @@ packages: /@types/estree/0.0.51: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true /@types/estree/1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} @@ -7174,6 +7161,7 @@ packages: /@types/katex/0.16.0: resolution: {integrity: sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==} + dev: true /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} @@ -7466,6 +7454,7 @@ packages: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 csstype: 3.1.1 + dev: true /@types/request-ip/0.0.37: resolution: {integrity: sha512-uw6/i3rQnpznxD7LtLaeuZytLhKZK6bRoTS6XVJlwxIOoOpEBU7bgKoVXDNtOg4Xl6riUKHa9bjMVrL6ESqYlQ==} @@ -7716,25 +7705,6 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.55.0_typescript@4.9.5: - resolution: {integrity: sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 - debug: 4.3.4 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: false - /@typescript-eslint/parser/5.55.0_vgl77cfdswitgr47lm5swmv43m: resolution: {integrity: sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7753,7 +7723,6 @@ packages: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true /@typescript-eslint/scope-manager/4.33.0: resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} @@ -7952,7 +7921,7 @@ packages: '@umijs/deps': 3.5.37 '@umijs/utils': 3.5.37 - /@umijs/block-sdk/2.3.0_sfoxds7t5ydpegc3knd667wn6m: + /@umijs/block-sdk/2.3.0_disyt3kxvatipg3w7uldlrpcni: resolution: {integrity: sha512-CRfemEEEUbXuGN+7UCa8PbHdkbIe1Ua6DPoiAj0lJPk3LLx1mj24muIEo9fVmbbyU4rcNwKejbEpNDiClqKRIw==} dependencies: '@babel/generator': 7.4.4 @@ -7962,7 +7931,7 @@ packages: '@babel/types': 7.4.4 '@hapi/joi': 16.1.8 '@umijs/mem-fs-editor': 6.0.2 - '@umijs/types': 3.5.37_sfoxds7t5ydpegc3knd667wn6m + '@umijs/types': 3.5.37_disyt3kxvatipg3w7uldlrpcni '@umijs/utils': 3.5.37 clipboardy: 2.1.0 crequire: 1.8.1 @@ -7997,17 +7966,6 @@ packages: - react-dom - react-router - /@umijs/bundler-utils/3.5.37_wcqkhtmu7mswc6yz4uyexck3ty: - resolution: {integrity: sha512-4f0CnXOkkqW7fPdKPQ1NmnhyNOjTn5cqTzAcSYtSM7pL2d0O6yf1mCe9qkUSY9fQgOYtHwrBYheS6EtTes/fQA==} - dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/types': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty - '@umijs/utils': 3.5.37 - transitivePeerDependencies: - - react - - react-dom - - react-router - /@umijs/bundler-webpack/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: resolution: {integrity: sha512-t9m35Mk1zIqQLxho6F99vtAN3gXtGG1DfLh6v9htNdaRDU3TMYk3ocBLEbywS9ZNX+MUxIBKDwh63Q1CbAMNSQ==} hasBin: true @@ -8032,30 +7990,6 @@ packages: - react-dom - react-router - /@umijs/bundler-webpack/3.5.37_wcqkhtmu7mswc6yz4uyexck3ty: - resolution: {integrity: sha512-t9m35Mk1zIqQLxho6F99vtAN3gXtGG1DfLh6v9htNdaRDU3TMYk3ocBLEbywS9ZNX+MUxIBKDwh63Q1CbAMNSQ==} - hasBin: true - dependencies: - '@umijs/bundler-utils': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty - '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/deps': 3.5.37 - '@umijs/types': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty - '@umijs/utils': 3.5.37 - jest-worker: 26.6.2 - node-libs-browser: 2.2.1 - normalize-url: 1.9.1 - postcss: 7.0.32 - postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 3.0.0 - postcss-preset-env: 6.7.0 - postcss-safe-parser: 4.0.2 - terser: 5.14.2 - webpack-chain: 6.5.1 - transitivePeerDependencies: - - react - - react-dom - - react-router - /@umijs/case-sensitive-paths-webpack-plugin/1.0.1: resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==} @@ -8175,7 +8109,7 @@ packages: dependencies: '@umijs/plugin-initial-state': 2.4.0_umi@3.5.37 '@umijs/plugin-model': 2.6.2_umi@3.5.37 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 dev: true /@umijs/plugin-analytics/0.2.3_umi@3.5.37: @@ -8183,7 +8117,7 @@ packages: peerDependencies: umi: 3.x dependencies: - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 dev: true /@umijs/plugin-antd-mobile/1.2.0_ckeyyuxboctalpng47ty4dbnxi: @@ -8194,7 +8128,7 @@ packages: antd-mobile: 5.28.1_sfoxds7t5ydpegc3knd667wn6m antd-mobile-v2: 2.3.4_sfoxds7t5ydpegc3knd667wn6m semver: 7.3.8 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - react - react-dom @@ -8207,7 +8141,7 @@ packages: dependencies: antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m semver: 7.3.8 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - react - react-dom @@ -8218,17 +8152,17 @@ packages: peerDependencies: umi: 3.x dependencies: - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 uppercamelcase: 3.0.0 dev: true - /@umijs/plugin-blocks/2.2.2_ckeyyuxboctalpng47ty4dbnxi: + /@umijs/plugin-blocks/2.2.2_oegweg5idsvixk53g6dyvth4te: resolution: {integrity: sha512-56lVfx4eJzQbxt620qzXADcemzHB5XjJuYxRNKorIdqXwA8+nWXQ+PzUOdWUzJnwNkFOVJbnXsUak5n8A8xsjw==} peerDependencies: umi: 3.x dependencies: - '@umijs/block-sdk': 2.3.0_sfoxds7t5ydpegc3knd667wn6m - umi: 3.5.37 + '@umijs/block-sdk': 2.3.0_disyt3kxvatipg3w7uldlrpcni + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - encoding - postcss-jsx @@ -8244,19 +8178,19 @@ packages: peerDependencies: umi: 3.x dependencies: - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 dev: true - /@umijs/plugin-dva/0.13.2_ckeyyuxboctalpng47ty4dbnxi: + /@umijs/plugin-dva/0.13.2_uv4lp2qgiimythxylx6sv3y4hy: resolution: {integrity: sha512-rb9hZPrKwIbVnLrj3LLeLePTN4OAJP1HkqZ7L1faHCqq3P3dUbchyYIkZl1UbfTtYieqlJ/0ETrwtNSjZGsIPQ==} peerDependencies: umi: 3.x dependencies: - babel-plugin-dva-hmr: 0.4.2 - dva: 2.6.0-beta.22_sfoxds7t5ydpegc3knd667wn6m + babel-plugin-dva-hmr: 0.4.2_redbox-react@1.6.0 + dva: 2.6.0-beta.22_disyt3kxvatipg3w7uldlrpcni dva-immer: 1.0.0_dva@2.6.0-beta.22 dva-loading: 3.0.22 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - dva-core - react @@ -8266,13 +8200,13 @@ packages: - redbox-react dev: true - /@umijs/plugin-esbuild/1.4.2_umi@3.5.37: + /@umijs/plugin-esbuild/1.4.2_umi@3.5.37+webpack@5.75.0: resolution: {integrity: sha512-K/0nZ1wNFg11xF3zx5E8jQQkY4d6SDNNhB16Ngp77i5ZUexWyfiRC+StN0KpYOAIorajNTMxHRnthRFV3dZbPA==} peerDependencies: umi: 3.x dependencies: - esbuild-loader: 2.9.2 - umi: 3.5.37 + esbuild-loader: 2.9.2_webpack@5.75.0 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - webpack dev: true @@ -8284,7 +8218,7 @@ packages: dependencies: '@types/react-helmet': 6.1.6 react-helmet: 6.1.0_react@17.0.2 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - react dev: true @@ -8294,7 +8228,7 @@ packages: peerDependencies: umi: 3.x dependencies: - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 dev: true /@umijs/plugin-layout/0.18.4_x2xsycqelabcrdhnwcnad6hxfu: @@ -8308,7 +8242,7 @@ packages: umi: 3.x dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m - '@ant-design/pro-layout': 6.38.22_sfoxds7t5ydpegc3knd667wn6m + '@ant-design/pro-layout': 6.38.22_oxfzelaz5ynxsop2v2nu2h2m64 '@umijs/plugin-initial-state': 2.4.0_umi@3.5.37 '@umijs/plugin-locale': 0.16.0_ckeyyuxboctalpng47ty4dbnxi '@umijs/plugin-model': 2.6.2_umi@3.5.37 @@ -8316,7 +8250,7 @@ packages: antd: 4.24.8_sfoxds7t5ydpegc3knd667wn6m lodash: 4.17.21 path-to-regexp: 1.8.0 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - react - react-dom @@ -8333,7 +8267,7 @@ packages: intl: 1.2.5 moment: 2.29.4 react-intl: 3.12.1_react@17.0.2 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 warning: 4.0.3 transitivePeerDependencies: - react @@ -8346,7 +8280,7 @@ packages: umi: 3.x dependencies: fast-deep-equal: 3.1.1 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 dev: true /@umijs/plugin-openapi/1.3.3_umi@3.5.37: @@ -8357,7 +8291,7 @@ packages: '@umijs/openapi': 1.8.3 serve-static: 1.15.0 swagger-ui-dist: 4.18.1 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - chokidar - encoding @@ -8372,7 +8306,7 @@ packages: umi: 3.x dependencies: '@ahooksjs/use-request': 2.8.15_react@17.0.2 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 umi-request: 1.4.0 transitivePeerDependencies: - react @@ -8384,7 +8318,7 @@ packages: umi: 3.x dependencies: '@umijs/test': 3.5.37 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - bufferutil - canvas @@ -8399,7 +8333,7 @@ packages: umi: 3.x dependencies: '@umijs/plugin-block-devtool': 1.3.0_umi@3.5.37 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 umi-plugin-antd-icon-config: 2.0.4_ckeyyuxboctalpng47ty4dbnxi umi-plugin-pro-block: 2.0.3_umi@3.5.37 transitivePeerDependencies: @@ -8443,7 +8377,7 @@ packages: transitivePeerDependencies: - react-dom - /@umijs/preset-dumi/1.1.50_ecmibvayc5q244fp4oomiaq5cm: + /@umijs/preset-dumi/1.1.50_53qqx7b2shrwq76djpbbo5um3q: resolution: {integrity: sha512-HhKMGct5DEd+ZZxBLbCUvXxnMh4MYlMeFIQXf2Ei9tVaKCeNri4I+BYb93swAmEl2v+2PxrKHCCzXNv07C+9Uw==} peerDependencies: umi: ^3.0.0 @@ -8458,7 +8392,7 @@ packages: '@umijs/core': 3.5.37 '@umijs/plugin-analytics': 0.2.3_umi@3.5.37 '@umijs/runtime': 3.5.37_react@17.0.2 - '@umijs/types': 3.5.37_sfoxds7t5ydpegc3knd667wn6m + '@umijs/types': 3.5.37_disyt3kxvatipg3w7uldlrpcni '@umijs/utils': 3.5.37 codesandbox: 2.2.3 copy-text-to-clipboard: 2.2.0 @@ -8491,7 +8425,7 @@ packages: sitemap: 6.4.0 slash2: 2.0.0 terser: 5.16.6 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 unified: 8.4.2 unist-util-visit: 2.0.3 unist-util-visit-parents: 3.1.1 @@ -8506,7 +8440,7 @@ packages: - utf-8-validate dev: true - /@umijs/preset-react/2.1.6_e6livz6goerzjmkijrxjgjunae: + /@umijs/preset-react/2.1.6_cayxvmevf5npttiv65gtwojqym: resolution: {integrity: sha512-RsNUR3sVc4nrzaiG6fqmNOpKMwgp424XhD5zBdgH2H52fanXVNkL2URsei1WKP4T742zxvJ6ZwiWwM7rRdlVKQ==} peerDependencies: umi: 3.x @@ -8516,7 +8450,7 @@ packages: '@umijs/plugin-antd': 0.15.2_ckeyyuxboctalpng47ty4dbnxi '@umijs/plugin-antd-mobile': 1.2.0_ckeyyuxboctalpng47ty4dbnxi '@umijs/plugin-crossorigin': 1.2.1_umi@3.5.37 - '@umijs/plugin-dva': 0.13.2_ckeyyuxboctalpng47ty4dbnxi + '@umijs/plugin-dva': 0.13.2_uv4lp2qgiimythxylx6sv3y4hy '@umijs/plugin-helmet': 1.1.4_react@17.0.2+umi@3.5.37 '@umijs/plugin-initial-state': 2.4.0_umi@3.5.37 '@umijs/plugin-layout': 0.18.4_x2xsycqelabcrdhnwcnad6hxfu @@ -8524,7 +8458,7 @@ packages: '@umijs/plugin-model': 2.6.2_umi@3.5.37 '@umijs/plugin-request': 2.9.0_react@17.0.2+umi@3.5.37 '@umijs/plugin-test': 1.0.2_umi@3.5.37 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - '@ant-design/icons' - '@ant-design/pro-layout' @@ -8553,23 +8487,7 @@ packages: react: 16.14.0 react-dom: 16.14.0_react@16.14.0 - /@umijs/renderer-react/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: - resolution: {integrity: sha512-ULdWHl19GzZ/irUzElQCVR8EWvuBP59y5wRaI7ACWlRx85XCJ+DBj4fp9MzGgukCa93lPpdaHde1+/SJD+evww==} - peerDependencies: - react: 16.x || 17.x - react-dom: 16.x || 17.x - dependencies: - '@types/react': 16.14.35 - '@types/react-dom': 16.9.18 - '@types/react-router-config': 5.0.6 - '@umijs/runtime': 3.5.37_react@16.14.0 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 - react-router-config: 5.1.1_6flbfkch6crntn4ac2g723iqde - transitivePeerDependencies: - - react-router - - /@umijs/renderer-react/3.5.37_sfoxds7t5ydpegc3knd667wn6m: + /@umijs/renderer-react/3.5.37_disyt3kxvatipg3w7uldlrpcni: resolution: {integrity: sha512-ULdWHl19GzZ/irUzElQCVR8EWvuBP59y5wRaI7ACWlRx85XCJ+DBj4fp9MzGgukCa93lPpdaHde1+/SJD+evww==} peerDependencies: react: 16.x || 17.x @@ -8581,12 +8499,12 @@ packages: '@umijs/runtime': 3.5.37_react@17.0.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - react-router-config: 5.1.1_react@17.0.2 + react-router-config: 5.1.1_c5dskptqgm77tot7wxwymcydoi transitivePeerDependencies: - react-router dev: true - /@umijs/renderer-react/3.5.37_wcqkhtmu7mswc6yz4uyexck3ty: + /@umijs/renderer-react/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: resolution: {integrity: sha512-ULdWHl19GzZ/irUzElQCVR8EWvuBP59y5wRaI7ACWlRx85XCJ+DBj4fp9MzGgukCa93lPpdaHde1+/SJD+evww==} peerDependencies: react: 16.x || 17.x @@ -8598,7 +8516,7 @@ packages: '@umijs/runtime': 3.5.37_react@16.14.0 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 - react-router-config: 5.1.1_react@16.14.0 + react-router-config: 5.1.1_6flbfkch6crntn4ac2g723iqde transitivePeerDependencies: - react-router @@ -8669,28 +8587,13 @@ packages: - utf-8-validate dev: true - /@umijs/types/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: + /@umijs/types/3.5.37_disyt3kxvatipg3w7uldlrpcni: resolution: {integrity: sha512-KwHFr7KhIErgF5zcV+n/lpTNvXJCUyJJH0XD+KBKu13u6TTDfAzCl2j/YGb/x6VkD0zaXmNTUo7p337wnSihKg==} dependencies: '@umijs/babel-preset-umi': 3.5.37 '@umijs/core': 3.5.37 '@umijs/deps': 3.5.37 - '@umijs/renderer-react': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/server': 3.5.37 - '@umijs/utils': 3.5.37 - webpack-chain: 6.5.1 - transitivePeerDependencies: - - react - - react-dom - - react-router - - /@umijs/types/3.5.37_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-KwHFr7KhIErgF5zcV+n/lpTNvXJCUyJJH0XD+KBKu13u6TTDfAzCl2j/YGb/x6VkD0zaXmNTUo7p337wnSihKg==} - dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/renderer-react': 3.5.37_sfoxds7t5ydpegc3knd667wn6m + '@umijs/renderer-react': 3.5.37_disyt3kxvatipg3w7uldlrpcni '@umijs/server': 3.5.37 '@umijs/utils': 3.5.37 webpack-chain: 6.5.1 @@ -8700,13 +8603,13 @@ packages: - react-router dev: true - /@umijs/types/3.5.37_wcqkhtmu7mswc6yz4uyexck3ty: + /@umijs/types/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: resolution: {integrity: sha512-KwHFr7KhIErgF5zcV+n/lpTNvXJCUyJJH0XD+KBKu13u6TTDfAzCl2j/YGb/x6VkD0zaXmNTUo7p337wnSihKg==} dependencies: '@umijs/babel-preset-umi': 3.5.37 '@umijs/core': 3.5.37 '@umijs/deps': 3.5.37 - '@umijs/renderer-react': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty + '@umijs/renderer-react': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 '@umijs/server': 3.5.37 '@umijs/utils': 3.5.37 webpack-chain: 6.5.1 @@ -9611,7 +9514,6 @@ packages: dependencies: '@webassemblyjs/helper-numbers': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true /@webassemblyjs/ast/1.9.0: resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} @@ -9623,7 +9525,6 @@ packages: /@webassemblyjs/floating-point-hex-parser/1.11.1: resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true /@webassemblyjs/floating-point-hex-parser/1.9.0: resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} @@ -9631,7 +9532,6 @@ packages: /@webassemblyjs/helper-api-error/1.11.1: resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true /@webassemblyjs/helper-api-error/1.9.0: resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} @@ -9639,7 +9539,6 @@ packages: /@webassemblyjs/helper-buffer/1.11.1: resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true /@webassemblyjs/helper-buffer/1.9.0: resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} @@ -9667,11 +9566,9 @@ packages: '@webassemblyjs/floating-point-hex-parser': 1.11.1 '@webassemblyjs/helper-api-error': 1.11.1 '@xtuc/long': 4.2.2 - dev: true /@webassemblyjs/helper-wasm-bytecode/1.11.1: resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true /@webassemblyjs/helper-wasm-bytecode/1.9.0: resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} @@ -9684,7 +9581,6 @@ packages: '@webassemblyjs/helper-buffer': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 '@webassemblyjs/wasm-gen': 1.11.1 - dev: true /@webassemblyjs/helper-wasm-section/1.9.0: resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} @@ -9699,7 +9595,6 @@ packages: resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} dependencies: '@xtuc/ieee754': 1.2.0 - dev: true /@webassemblyjs/ieee754/1.9.0: resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} @@ -9711,7 +9606,6 @@ packages: resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} dependencies: '@xtuc/long': 4.2.2 - dev: true /@webassemblyjs/leb128/1.9.0: resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} @@ -9721,7 +9615,6 @@ packages: /@webassemblyjs/utf8/1.11.1: resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true /@webassemblyjs/utf8/1.9.0: resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} @@ -9738,7 +9631,6 @@ packages: '@webassemblyjs/wasm-opt': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 '@webassemblyjs/wast-printer': 1.11.1 - dev: true /@webassemblyjs/wasm-edit/1.9.0: resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} @@ -9761,7 +9653,6 @@ packages: '@webassemblyjs/ieee754': 1.11.1 '@webassemblyjs/leb128': 1.11.1 '@webassemblyjs/utf8': 1.11.1 - dev: true /@webassemblyjs/wasm-gen/1.9.0: resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} @@ -9780,7 +9671,6 @@ packages: '@webassemblyjs/helper-buffer': 1.11.1 '@webassemblyjs/wasm-gen': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 - dev: true /@webassemblyjs/wasm-opt/1.9.0: resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} @@ -9800,7 +9690,6 @@ packages: '@webassemblyjs/ieee754': 1.11.1 '@webassemblyjs/leb128': 1.11.1 '@webassemblyjs/utf8': 1.11.1 - dev: true /@webassemblyjs/wasm-parser/1.9.0: resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} @@ -9829,7 +9718,6 @@ packages: dependencies: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 - dev: true /@webassemblyjs/wast-printer/1.9.0: resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} @@ -9915,7 +9803,6 @@ packages: dependencies: acorn: 8.8.2 acorn-walk: 8.2.0 - dev: false /acorn-import-assertions/1.8.0_acorn@8.8.2: resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} @@ -9923,7 +9810,6 @@ packages: acorn: ^8 dependencies: acorn: 8.8.2 - dev: true /acorn-jsx/5.3.2_acorn@7.4.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -9938,7 +9824,6 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.8.2 - dev: true /acorn-node/1.8.2: resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} @@ -10851,10 +10736,12 @@ packages: webpack: 4.46.0 dev: false - /babel-plugin-dva-hmr/0.4.2: + /babel-plugin-dva-hmr/0.4.2_redbox-react@1.6.0: resolution: {integrity: sha512-QP5W0IT9LDFgoqkXD0g7wn/FMn7zO562P8qys23twXri4i3E1SGOQ3z7jqcPrqzfTZHx+Ufr+cXy9oI6OLMYZg==} peerDependencies: redbox-react: 1.x + dependencies: + redbox-react: 1.6.0_sfoxds7t5ydpegc3knd667wn6m dev: true /babel-plugin-dynamic-import-node/2.3.3: @@ -11710,7 +11597,7 @@ packages: mississippi: 2.0.0 mkdirp: 0.5.6 move-concurrently: 1.0.1 - promise-inflight: 1.0.1 + promise-inflight: 1.0.1_bluebird@3.7.2 rimraf: 2.7.1 ssri: 5.3.0 unique-filename: 1.1.1 @@ -11730,7 +11617,7 @@ packages: mississippi: 3.0.0 mkdirp: 0.5.6 move-concurrently: 1.0.1 - promise-inflight: 1.0.1 + promise-inflight: 1.0.1_bluebird@3.7.2 rimraf: 2.7.1 ssri: 6.0.2 unique-filename: 1.1.1 @@ -11801,7 +11688,7 @@ packages: mississippi: 1.3.1 mkdirp: 0.5.6 move-concurrently: 1.0.1 - promise-inflight: 1.0.1 + promise-inflight: 1.0.1_bluebird@3.7.2 rimraf: 2.7.1 ssri: 4.1.6 unique-filename: 1.1.1 @@ -12904,7 +12791,7 @@ packages: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} - /connected-react-router/6.5.2_j5b7tjjdtk3xla4itvpvfpamge: + /connected-react-router/6.5.2_3fo6w2s6rbxb2nfffngjothhhi: resolution: {integrity: sha512-qzsLPZCofSI80fwy+HgxtEgSGS4ndYUUZAWaw1dqaOGPLKX/FVwIOEb7q+hjHdnZ4v5pKZcNv5GG4urjujIoyA==} peerDependencies: history: ^4.7.2 @@ -12918,6 +12805,7 @@ packages: prop-types: 15.8.1 react: 17.0.2 react-redux: 7.2.9_sfoxds7t5ydpegc3knd667wn6m + react-router: 5.2.0_react@17.0.2 redux: 4.2.1 seamless-immutable: 7.1.4 dev: true @@ -13848,7 +13736,6 @@ packages: /cssom/0.5.0: resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: false /cssstyle/2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} @@ -14196,7 +14083,6 @@ packages: abab: 2.0.6 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - dev: false /datauri/3.0.0: resolution: {integrity: sha512-NeDFuUPV1YCpCn8MUIcDk1QnuyenUHs7f4Q5P0n9FFA0neKFrfEH9esR+YMW95BplbYfdmjbs0Pl/ZGAaM2QHQ==} @@ -14842,7 +14728,6 @@ packages: engines: {node: '>=12'} dependencies: webidl-conversions: 7.0.0 - dev: false /domhandler/2.4.2: resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} @@ -14972,7 +14857,7 @@ packages: '@umijs/preset-dumi': 1.x react: ^16.13.1 || ^17.0.0 dependencies: - '@umijs/preset-dumi': 1.1.50_ecmibvayc5q244fp4oomiaq5cm + '@umijs/preset-dumi': 1.1.50_53qqx7b2shrwq76djpbbo5um3q lodash.throttle: 4.1.1 prism-react-renderer: 1.3.5_react@17.0.2 prismjs: 1.29.0 @@ -15020,7 +14905,7 @@ packages: dva: ^2.5.0-0 dependencies: '@babel/runtime': 7.21.0 - dva: 2.6.0-beta.22_sfoxds7t5ydpegc3knd667wn6m + dva: 2.6.0-beta.22_disyt3kxvatipg3w7uldlrpcni immer: 8.0.4 dev: true @@ -15032,7 +14917,7 @@ packages: '@babel/runtime': 7.21.0 dev: true - /dva/2.6.0-beta.22_sfoxds7t5ydpegc3knd667wn6m: + /dva/2.6.0-beta.22_disyt3kxvatipg3w7uldlrpcni: resolution: {integrity: sha512-Q19fqiQxtl9L4a/woKoLTStagZR3QxTUEHuFhYBe0RLAf514HEuPmJXQrDz4p+QggNpTaI8lUzzId2TzntAFcQ==} peerDependencies: react: ^16.8.4 @@ -15042,7 +14927,7 @@ packages: '@types/isomorphic-fetch': 0.0.35 '@types/react-redux': 7.1.25 '@types/react-router-dom': 5.1.7 - connected-react-router: 6.5.2_j5b7tjjdtk3xla4itvpvfpamge + connected-react-router: 6.5.2_3fo6w2s6rbxb2nfffngjothhhi dva-core: 2.0.4_redux@4.2.1 global: 4.4.0 history: 4.10.1 @@ -15253,6 +15138,12 @@ packages: dependencies: is-arrayish: 0.2.1 + /error-stack-parser/1.3.6: + resolution: {integrity: sha512-xhuSYd8wLgOXwNgjcPeXMPL/IiiA1Huck+OPvClpJViVNNlJVtM41o+1emp7bPvlCJwCatFX2DWc05/DgfbWzA==} + dependencies: + stackframe: 0.3.1 + dev: true + /error-stack-parser/2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: @@ -15320,7 +15211,6 @@ packages: /es-module-lexer/0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true /es-set-tostringtag/2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -15482,7 +15372,7 @@ packages: dev: false optional: true - /esbuild-loader/2.9.2: + /esbuild-loader/2.9.2_webpack@5.75.0: resolution: {integrity: sha512-HpF+r/ES2aC40VDOIFsP8OIOM2y2vj8LyLwJ4G8DCMOi8Kov68TwCtxiMMTuSuxR/xKDu/ykgVyCEgps6BXpYw==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 @@ -15492,6 +15382,7 @@ packages: json5: 2.2.3 loader-utils: 2.0.4 type-fest: 0.20.2 + webpack: 5.75.0 webpack-sources: 2.3.1 dev: true @@ -15677,7 +15568,7 @@ packages: lodash.zip: 4.2.0 dev: true - /eslint-config-next/13.2.4_typescript@4.9.5: + /eslint-config-next/13.2.4_vgl77cfdswitgr47lm5swmv43m: resolution: {integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -15688,13 +15579,14 @@ packages: dependencies: '@next/eslint-plugin-next': 13.2.4 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.55.0_typescript@4.9.5 + '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_5rfvta7qn57kxm7ir36ta6fixq - eslint-plugin-import: 2.27.5_k4aarorcl7u5y6ippokdyiiweu - eslint-plugin-jsx-a11y: 6.7.1 - eslint-plugin-react: 7.32.2 - eslint-plugin-react-hooks: 4.6.0 + eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy + eslint-plugin-import: 2.27.5_eslint@8.36.0 + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.36.0 + eslint-plugin-react: 7.32.2_eslint@8.36.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.36.0 typescript: 4.9.5 transitivePeerDependencies: - eslint-import-resolver-webpack @@ -15743,7 +15635,7 @@ packages: - supports-color dev: false - /eslint-import-resolver-typescript/3.5.3_5rfvta7qn57kxm7ir36ta6fixq: + /eslint-import-resolver-typescript/3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy: resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -15752,7 +15644,8 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.12.0 - eslint-plugin-import: 2.27.5_k4aarorcl7u5y6ippokdyiiweu + eslint: 8.36.0 + eslint-plugin-import: 2.27.5_eslint@8.36.0 get-tsconfig: 4.4.0 globby: 13.1.3 is-core-module: 2.11.0 @@ -15762,7 +15655,7 @@ packages: - supports-color dev: false - /eslint-module-utils/2.7.4_waxm6ayljwuiy4pby2go5y5k64: + /eslint-module-utils/2.7.4_mynqafrekjmjm6w6lcthssrfee: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -15783,10 +15676,9 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.55.0_typescript@4.9.5 debug: 3.2.7 + eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_5rfvta7qn57kxm7ir36ta6fixq transitivePeerDependencies: - supports-color dev: false @@ -15801,7 +15693,7 @@ packages: eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-import/2.27.5_k4aarorcl7u5y6ippokdyiiweu: + /eslint-plugin-import/2.27.5_eslint@8.36.0: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -15811,14 +15703,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.55.0_typescript@4.9.5 array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 + eslint: 8.36.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_waxm6ayljwuiy4pby2go5y5k64 + eslint-module-utils: 2.7.4_mynqafrekjmjm6w6lcthssrfee has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -15851,7 +15743,7 @@ packages: - typescript dev: true - /eslint-plugin-jsx-a11y/6.7.1: + /eslint-plugin-jsx-a11y/6.7.1_eslint@8.36.0: resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -15866,6 +15758,7 @@ packages: axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 + eslint: 8.36.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -15901,23 +15794,25 @@ packages: eslint: 7.32.0 dev: true - /eslint-plugin-react-hooks/4.6.0: + /eslint-plugin-react-hooks/4.6.0_eslint@7.32.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dev: false + dependencies: + eslint: 7.32.0 + dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@7.32.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.36.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 7.32.0 - dev: true + eslint: 8.36.0 + dev: false - /eslint-plugin-react/7.32.2: + /eslint-plugin-react/7.32.2_eslint@7.32.0: resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -15927,6 +15822,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 + eslint: 7.32.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -15938,9 +15834,9 @@ packages: resolve: 2.0.0-next.4 semver: 6.3.0 string.prototype.matchall: 4.0.8 - dev: false + dev: true - /eslint-plugin-react/7.32.2_eslint@7.32.0: + /eslint-plugin-react/7.32.2_eslint@8.36.0: resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -15950,7 +15846,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 7.32.0 + eslint: 8.36.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -15962,7 +15858,7 @@ packages: resolve: 2.0.0-next.4 semver: 6.3.0 string.prototype.matchall: 4.0.8 - dev: true + dev: false /eslint-plugin-unicorn/20.1.0_eslint@7.32.0: resolution: {integrity: sha512-XQxLBJT/gnwyRR6cfYsIK1AdekQchAt5tmcsnldevGjgR2xoZsRUa5/i6e0seNHy2RoT57CkTnbVHwHF8No8LA==} @@ -16018,7 +15914,6 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true /eslint-template-visitor/2.3.2_eslint@7.32.0: resolution: {integrity: sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==} @@ -16158,7 +16053,6 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true /esm/3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} @@ -16179,7 +16073,6 @@ packages: acorn: 8.8.2 acorn-jsx: 5.3.2_acorn@8.8.2 eslint-visitor-keys: 3.3.0 - dev: true /esprima/1.0.4: resolution: {integrity: sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==} @@ -17137,6 +17030,18 @@ packages: debug: optional: true + /follow-redirects/1.15.2_debug@4.3.4: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4_supports-color@6.1.0 + dev: false + /follow-redirects/1.5.10: resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} engines: {node: '>=4.0'} @@ -17158,7 +17063,7 @@ packages: /forever-agent/0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - /fork-ts-checker-webpack-plugin/6.5.3_jofidmxrjzhj7l6vknpw5ecvfe: + /fork-ts-checker-webpack-plugin/6.5.3_e7unsjmvxtn2mdejqwafrsmwjq: resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -17187,6 +17092,7 @@ packages: semver: 7.3.8 tapable: 1.1.3 typescript: 4.9.5 + webpack: 5.75.0 dev: false /fork-ts-checker-webpack-plugin/7.3.0_hhrrucqyg4eysmfpujvov2ym5u: @@ -17788,7 +17694,6 @@ packages: engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - dev: true /glob-to-regexp/0.3.0: resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} @@ -17796,7 +17701,6 @@ packages: /glob-to-regexp/0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true /glob/7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} @@ -18019,10 +17923,12 @@ packages: minimist: 1.2.8 dev: true - /goober/2.1.12: + /goober/2.1.12_csstype@3.1.1: resolution: {integrity: sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==} peerDependencies: csstype: ^3.0.10 + dependencies: + csstype: 3.1.1 dev: false /gopd/1.0.1: @@ -18098,7 +18004,6 @@ packages: /grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true /gray-matter/4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} @@ -18634,7 +18539,6 @@ packages: engines: {node: '>=12'} dependencies: whatwg-encoding: 2.0.0 - dev: false /html-entities/1.4.0: resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==} @@ -18852,7 +18756,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.2_debug@4.3.4 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -19143,6 +19047,7 @@ packages: /inline-style-parser/0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: true /inline-style-prefixer/6.0.4: resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} @@ -19707,7 +19612,6 @@ packages: /is-path-inside/3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - dev: true /is-plain-obj/1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} @@ -20868,7 +20772,6 @@ packages: '@types/node': 18.15.3 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true /jest-worker/29.5.0: resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} @@ -20954,7 +20857,6 @@ packages: /js-sdsl/4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true /js-sha256/0.9.0: resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} @@ -20979,10 +20881,12 @@ packages: /jsbn/0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - /jsdom-global/3.0.2: + /jsdom-global/3.0.2_jsdom@21.1.0: resolution: {integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==} peerDependencies: jsdom: '>=10.0.0' + dependencies: + jsdom: 21.1.0 dev: true /jsdom/16.7.0: @@ -21066,7 +20970,6 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: false /jsesc/0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} @@ -21766,7 +21669,6 @@ packages: /loader-runner/4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - dev: true /loader-utils/0.2.17: resolution: {integrity: sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==} @@ -22106,6 +22008,14 @@ packages: fault: 1.0.4 highlight.js: 10.7.3 + /lowlight/2.8.1: + resolution: {integrity: sha512-HCaGL61RKc1MYzEYn3rFoGkK0yslzCVDFJEanR19rc2L0mb8i58XM55jSRbzp9jcQrFzschPlwooC0vuNitk8Q==} + dependencies: + '@types/hast': 2.3.4 + fault: 2.0.1 + highlight.js: 11.7.0 + dev: false + /lru-cache/4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: @@ -23399,7 +23309,6 @@ packages: prop-types: 15.8.1 react: 17.0.2 tiny-warning: 1.0.3 - dev: true /mini-css-extract-plugin/0.6.0_webpack@4.46.0: resolution: {integrity: sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==} @@ -23675,7 +23584,7 @@ packages: /moment/2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} - /monaco-editor-webpack-plugin/7.0.1_monaco-editor@0.34.1: + /monaco-editor-webpack-plugin/7.0.1_feckyf2jam7vk36gev3ykueqty: resolution: {integrity: sha512-M8qIqizltrPlIbrb73cZdTWfU9sIsUVFvAZkL3KGjAHmVWEJ0hZKa/uad14JuOckc0GwnCaoGHvMoYtJjVyCzw==} peerDependencies: monaco-editor: '>= 0.31.0' @@ -23683,6 +23592,7 @@ packages: dependencies: loader-utils: 2.0.4 monaco-editor: 0.34.1 + webpack: 5.75.0 dev: false /monaco-editor/0.34.1: @@ -25315,7 +25225,7 @@ packages: npm-package-arg: 5.1.2 npm-pick-manifest: 1.0.4 osenv: 0.1.5 - promise-inflight: 1.0.1 + promise-inflight: 1.0.1_bluebird@3.7.2 promise-retry: 1.1.1 protoduck: 4.0.0 safe-buffer: 5.2.1 @@ -26972,6 +26882,16 @@ packages: bluebird: optional: true + /promise-inflight/1.0.1_bluebird@3.7.2: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dependencies: + bluebird: 3.7.2 + /promise-retry/1.1.1: resolution: {integrity: sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==} engines: {node: '>=0.12'} @@ -28080,7 +28000,7 @@ packages: react: 17.0.2 dev: true - /react-dev-inspector/1.8.4_l5hyvwnnskx7g27xcaxotzm7m4: + /react-dev-inspector/1.8.4_x6lqoilzyzsasmsygdvtcuzivq: resolution: {integrity: sha512-+MpF43RHTKjkilQ4TgUfSgpVlJFKpL4uPc/0FBJAMNPICYxw27q81++AcBIThfxFmBgsFbMj3EKZwkaPZ43V7w==} engines: {node: '>=12.0.0'} peerDependencies: @@ -28095,7 +28015,7 @@ packages: loader-utils: 2.0.4 querystring: 0.2.1 react: 17.0.2 - react-dev-utils: 12.0.1_jofidmxrjzhj7l6vknpw5ecvfe + react-dev-utils: 12.0.1_e7unsjmvxtn2mdejqwafrsmwjq transitivePeerDependencies: - eslint - supports-color @@ -28104,7 +28024,7 @@ packages: - webpack dev: false - /react-dev-utils/12.0.1_jofidmxrjzhj7l6vknpw5ecvfe: + /react-dev-utils/12.0.1_e7unsjmvxtn2mdejqwafrsmwjq: resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -28123,7 +28043,7 @@ packages: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3_jofidmxrjzhj7l6vknpw5ecvfe + fork-ts-checker-webpack-plugin: 6.5.3_e7unsjmvxtn2mdejqwafrsmwjq global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -28139,6 +28059,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 4.9.5 + webpack: 5.75.0 transitivePeerDependencies: - eslint - supports-color @@ -28240,14 +28161,14 @@ packages: react-side-effect: 2.1.2_react@17.0.2 dev: true - /react-hot-toast/2.4.0_biqbaboplfbrettd7655fr4n2y: + /react-hot-toast/2.4.0_owo25xnefcwdq3zjgtohz6dbju: resolution: {integrity: sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==} engines: {node: '>=10'} peerDependencies: react: '>=16' react-dom: '>=16' dependencies: - goober: 2.1.12 + goober: 2.1.12_csstype@3.1.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 transitivePeerDependencies: @@ -28315,37 +28236,11 @@ packages: /react-is/18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true /react-lifecycles-compat/3.0.4: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - /react-markdown/8.0.5_pmekkgnqduwlme35zpnqhenc34: - resolution: {integrity: sha512-jGJolWWmOWAvzf+xMdB9zwStViODyyFQhNB/bwCerbBKmrTmgmA599CGiOlP58OId1IMoIRsA8UdI1Lod4zb5A==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - dependencies: - '@types/hast': 2.3.4 - '@types/prop-types': 15.7.5 - '@types/react': 18.0.28 - '@types/unist': 2.0.6 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 2.0.1 - prop-types: 15.8.1 - property-information: 6.2.0 - react: 18.2.0 - react-is: 18.2.0 - remark-parse: 10.0.1 - remark-rehype: 10.1.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.1 - unified: 10.1.2 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - dev: false - /react-monaco-editor/0.50.1_fzsbz3zrwiw5hg2xdmbsj3ayem: resolution: {integrity: sha512-qvYdJhQdkPIrPDMxCrEl0T2x9TfBB+aUbrpFv69FwoTybeyfAjxgJ219MYSsgn3c/g06BgyLX4ENrXM4niZ9ag==} peerDependencies: @@ -28439,18 +28334,9 @@ packages: dependencies: '@babel/runtime': 7.21.0 react: 16.14.0 - react-router: 5.2.0_react@16.14.0 - - /react-router-config/5.1.1_react@16.14.0: - resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} - peerDependencies: - react: '>=15' - react-router: '>=5' - dependencies: - '@babel/runtime': 7.21.0 - react: 16.14.0 + react-router: 5.2.0_react@17.0.2 - /react-router-config/5.1.1_react@17.0.2: + /react-router-config/5.1.1_c5dskptqgm77tot7wxwymcydoi: resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} peerDependencies: react: '>=15' @@ -28458,6 +28344,7 @@ packages: dependencies: '@babel/runtime': 7.21.0 react: 17.0.2 + react-router: 5.2.0_react@17.0.2 dev: true /react-router-dom/5.2.0_react@16.14.0: @@ -28522,7 +28409,6 @@ packages: react-is: 16.13.1 tiny-invariant: 1.3.1 tiny-warning: 1.0.3 - dev: true /react-side-effect/2.1.2_react@17.0.2: resolution: {integrity: sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==} @@ -28532,9 +28418,10 @@ packages: react: 17.0.2 dev: true - /react-sortable-hoc/2.0.0_sfoxds7t5ydpegc3knd667wn6m: + /react-sortable-hoc/2.0.0_oxfzelaz5ynxsop2v2nu2h2m64: resolution: {integrity: sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==} peerDependencies: + prop-types: ^15.5.7 react: ^16.3.0 || ^17.0.0 react-dom: ^16.3.0 || ^17.0.0 dependencies: @@ -28843,6 +28730,20 @@ packages: minimatch: 3.1.2 dev: false + /redbox-react/1.6.0_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-mLjM5eYR41yOp5YKHpd3syFeGq6B4Wj5vZr64nbLvTZW5ZLff4LYk7VE4ITpVxkZpCY6OZuqh0HiP3A3uEaCpg==} + peerDependencies: + react: ^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0 + react-dom: ^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0 + dependencies: + error-stack-parser: 1.3.6 + object-assign: 4.1.1 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + sourcemapped-stacktrace: 1.1.11 + dev: true + /redent/3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -29008,6 +28909,16 @@ packages: unist-util-visit: 2.0.3 dev: true + /rehype-highlight/6.0.0: + resolution: {integrity: sha512-q7UtlFicLhetp7K48ZgZiJgchYscMma7XjzX7t23bqEJF8m6/s+viXQEe4oHjrATTIZpX7RG8CKD7BlNZoh9gw==} + dependencies: + '@types/hast': 2.3.4 + hast-util-to-text: 3.1.2 + lowlight: 2.8.1 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + /rehype-katex/6.0.2: resolution: {integrity: sha512-C4gDAlS1+l0hJqctyiU64f9CvT00S03qV1T6HiMzbSuLBgWUtcqydWHY9OpKrm0SpkK16FNd62CDKyWLwV2ppg==} dependencies: @@ -29096,14 +29007,6 @@ packages: unist-util-visit: 4.1.2 dev: false - /remark-directive-rehype/0.4.2: - resolution: {integrity: sha512-T6e+IG+BwqU4++MK54vFb+KDFjs3a+tHeK6E0T0ctR1FSyngolfDtAEzqxHWlRzQZqGi2sB4DFXry6oqH87D/g==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - hastscript: 7.2.0 - unist-util-map: 3.1.3 - dev: false - /remark-directive/2.0.1: resolution: {integrity: sha512-oosbsUAkU/qmUE78anLaJePnPis4ihsE7Agp0T/oqTzvTea8pOiaYEtfInU/+xMOVTS9PN5AhGOiaIVe4GD8gw==} dependencies: @@ -29870,7 +29773,6 @@ packages: engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 - dev: false /scheduler/0.19.1: resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} @@ -30682,7 +30584,6 @@ packages: /source-map/0.5.6: resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} engines: {node: '>=0.10.0'} - dev: false /source-map/0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} @@ -30707,6 +30608,12 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead + /sourcemapped-stacktrace/1.1.11: + resolution: {integrity: sha512-O0pcWjJqzQFVsisPlPXuNawJHHg9N9UgpJ/aDmvi9+vnS3x1C0NhwkVFzzZ1VN0Xo+bekyweoqYvBw5ZBKiNnQ==} + dependencies: + source-map: 0.5.6 + dev: true + /space-separated-tokens/1.1.5: resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} @@ -30921,6 +30828,10 @@ packages: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true + /stackframe/0.3.1: + resolution: {integrity: sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw==} + dev: true + /stackframe/1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -31373,12 +31284,6 @@ packages: inline-style-parser: 0.1.1 dev: true - /style-to-object/0.4.1: - resolution: {integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==} - dependencies: - inline-style-parser: 0.1.1 - dev: false - /styled-jsx/5.1.1_react@18.2.0: resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} @@ -31593,7 +31498,6 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true /supports-hyperlinks/1.0.1: resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} @@ -32014,7 +31918,6 @@ packages: serialize-javascript: 6.0.1 terser: 5.16.6 webpack: 5.75.0 - dev: true /terser/4.8.1: resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} @@ -32046,7 +31949,6 @@ packages: acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 - dev: true /test-exclude/6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} @@ -32640,7 +32542,6 @@ packages: engines: {node: '>=12'} dependencies: punycode: 2.3.0 - dev: false /traverse/0.6.7: resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} @@ -33055,11 +32956,11 @@ packages: dependencies: '@lukeed/csprng': 1.0.1 - /umi-core/1.9.10: + /umi-core/1.9.10_@babel+core@7.21.0: resolution: {integrity: sha512-3THxpVXtdTyJfpGBb4WQnxy+Gv+LjHo+RFCmLRNl7fJ/XBT4otjAb33g9eoV5zLAK64LYzZ+f/qxKYo0ilzaMQ==} dependencies: - '@babel/preset-typescript': 7.3.3 - '@babel/register': 7.4.4 + '@babel/preset-typescript': 7.3.3_@babel+core@7.21.0 + '@babel/register': 7.4.4_@babel+core@7.21.0 '@umijs/error-code-map': 1.0.1 babel-preset-umi: 1.8.4 chalk: 2.4.2 @@ -33095,7 +32996,7 @@ packages: umi: 3.x dependencies: '@ant-design/icons': 4.8.0_sfoxds7t5ydpegc3knd667wn6m - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - react - react-dom @@ -33107,7 +33008,7 @@ packages: umi: 3.x dependencies: debug: 4.3.4 - umi: 3.5.37 + umi: 3.5.37_react-router@5.2.0 transitivePeerDependencies: - supports-color dev: true @@ -33119,12 +33020,12 @@ packages: qs: 6.11.1 dev: true - /umi-serve/1.9.11: + /umi-serve/1.9.11_@babel+core@7.21.0: resolution: {integrity: sha512-k/4ivrRiwHeuhyHczoEDuEEy0FNC74ITqr77CtAB5EWmluqxosBqW80O5j5bu3ZeLw53WUPprTcTgh/5Zx7+Tw==} hasBin: true dependencies: - '@babel/preset-typescript': 7.3.3 - '@babel/register': 7.4.4 + '@babel/preset-typescript': 7.3.3_@babel+core@7.21.0 + '@babel/register': 7.4.4_@babel+core@7.21.0 babel-plugin-module-resolver: 3.1.1 babel-preset-umi: 1.8.4 boxen: 2.1.0 @@ -33133,7 +33034,7 @@ packages: compression: 1.7.4 express: 4.17.1 serve-static: 1.14.1 - umi-core: 1.9.10 + umi-core: 1.9.10_@babel+core@7.21.0 umi-mock: 2.1.5 umi-utils: 1.7.3 update-notifier: 3.0.0 @@ -33154,16 +33055,16 @@ packages: slash2: 2.0.0 dev: true - /umi/3.5.37: + /umi/3.5.37_react-router@5.2.0: resolution: {integrity: sha512-OVguoKbZdIHe3qVAvvn/ELRsg/jDtlsr5T+xJq3sGwik7r5lQqU4bkiBJ9KoJ42i59cIYPiB0eqyZiWQm4D6yA==} hasBin: true dependencies: - '@umijs/bundler-webpack': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty + '@umijs/bundler-webpack': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 '@umijs/core': 3.5.37 '@umijs/deps': 3.5.37 '@umijs/preset-built-in': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty '@umijs/runtime': 3.5.37_react@16.14.0 - '@umijs/types': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty + '@umijs/types': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 '@umijs/utils': 3.5.37 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 @@ -33356,12 +33257,6 @@ packages: '@types/unist': 2.0.6 dev: false - /unist-util-map/3.1.3: - resolution: {integrity: sha512-4/mDauoxqZ6geK97lJ6n2kDk6JK88Vh+hWMSJqyaaP/7eqN1dDhjcjnNxKNm3YU6Sw7PVJtcFMUbnmHvYzb6Vg==} - dependencies: - '@types/unist': 2.0.6 - dev: false - /unist-util-position/3.1.0: resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} dev: true @@ -35079,7 +34974,6 @@ packages: engines: {node: '>=14'} dependencies: xml-name-validator: 4.0.0 - dev: false /walk-up-path/1.0.0: resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==} @@ -35130,7 +35024,6 @@ packages: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.10 - dev: true /wbuf/1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} @@ -35184,7 +35077,6 @@ packages: /webidl-conversions/7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - dev: false /webpack-bundle-analyzer/4.7.0: resolution: {integrity: sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==} @@ -35320,7 +35212,6 @@ packages: /webpack-sources/3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - dev: true /webpack/4.46.0: resolution: {integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==} @@ -35400,7 +35291,6 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true /webpackbar/3.2.0_webpack@4.46.0: resolution: {integrity: sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==} @@ -35448,7 +35338,6 @@ packages: engines: {node: '>=12'} dependencies: iconv-lite: 0.6.3 - dev: false /whatwg-fetch/3.6.2: resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} @@ -35460,7 +35349,6 @@ packages: /whatwg-mimetype/3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} - dev: false /whatwg-url/11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} @@ -35468,7 +35356,6 @@ packages: dependencies: tr46: 3.0.0 webidl-conversions: 7.0.0 - dev: false /whatwg-url/5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -35897,7 +35784,6 @@ packages: optional: true utf-8-validate: optional: true - dev: false /xdg-basedir/3.0.0: resolution: {integrity: sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==} @@ -35932,7 +35818,6 @@ packages: /xml-name-validator/4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} - dev: false /xml-parse-from-string/1.0.1: resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}