diff --git a/website/.eslintrc.js b/website/.eslintrc.js new file mode 100644 index 0000000000..3b4873c0b9 --- /dev/null +++ b/website/.eslintrc.js @@ -0,0 +1,16 @@ +module.exports = { + env: { + browser: true, + es2021: true + }, + extends: ['plugin:react/recommended', 'standard'], + parserOptions: { + ecmaFeatures: { + jsx: true + }, + ecmaVersion: 'latest', + sourceType: 'module' + }, + plugins: ['react'], + rules: {} +} diff --git a/website/gatsby-browser.js b/website/gatsby-browser.js index 40e540b7fe..f161bd0dff 100644 --- a/website/gatsby-browser.js +++ b/website/gatsby-browser.js @@ -3,7 +3,9 @@ * * See: https://www.gatsbyjs.com/docs/browser-apis/ */ +require("antd/lib/menu/style/index.css") require("./src/styles/global.css") +require("./src/styles/normal.css") const React = require("react") // const { default: AppHeader } = require("./src/components/AppHeader") @@ -11,6 +13,7 @@ const Layout = require("./src/components/documentsMenu/menu").default const JsonLayout = require("./src/components/jsonMenu/menu").default const SqlLayout = require("./src/components/sqlMenu/menu").default const SpaceLayout = require("./src/components/space/spaceLayout").default +const Context = require("./src/components/Context/index").default // const AppFooter = require("./src/components/AppFooter").default // You can delete this file if you're not using it @@ -22,17 +25,19 @@ exports.wrapPageElement = ({ element, props }) => { const flag = element.key.includes("documents") || element.key.includes("examples") || element.key.includes("download") console.log(element.key) return ( -
- {flag ? ( - <> - {element.key.includes("documents") && {element}} - {element.key.includes("examples/json") && {element}} - {element.key.includes("examples/sql") && {element}} - - ) : ( - {element} - )} -
+ + <> + {flag ? ( + <> + {element.key.includes("documents") && {element}} + {element.key.includes("examples/json") && {element}} + {element.key.includes("examples/sql") && {element}} + + ) : ( + {element} + )} + + ) } diff --git a/website/gatsby-config.js b/website/gatsby-config.js index 87e7310fe3..2e39093658 100644 --- a/website/gatsby-config.js +++ b/website/gatsby-config.js @@ -1,5 +1,6 @@ const path = require("path") module.exports = { + pathPrefix: `/chunjun`, siteMetadata: { title: `Gatsby Default Starter`, description: `Kick off your next, great Gatsby project with this default starter. This barebones starter ships with the main Gatsby configuration files you might need.`, @@ -34,7 +35,15 @@ module.exports = { path: path.resolve(__dirname, "src/images"), }, }, - + { + resolve: `gatsby-plugin-nprogress`, + options: { + // Setting a color is optional. + color: `tomato`, + // Disable the loading spinner. + showSpinner: false, + }, + }, `gatsby-transformer-sharp`, `gatsby-plugin-sharp`, `json-content`, @@ -62,21 +71,7 @@ module.exports = { ], }, }, - - { - resolve: `gatsby-plugin-manifest`, - options: { - name: `gatsby-starter-default`, - short_name: `starter`, - start_url: `/`, - background_color: `#663399`, - // This will impact how browsers show your PWA/website - // https://css-tricks.com/meta-theme-color-and-trickery/ - // theme_color: `#663399`, - display: `minimal-ui`, - icon: `src/images/logo-dark.svg`, // This path is relative to the root of the site. - }, - }, + // this (optional) plugin enables Progressive Web App + Offline functionality // To learn more, visit: https://gatsby.dev/offline // `gatsby-plugin-offline`, diff --git a/website/gatsby-node.js b/website/gatsby-node.js index b3e9dd8cca..74c38ada90 100644 --- a/website/gatsby-node.js +++ b/website/gatsby-node.js @@ -7,3 +7,17 @@ exports.createPages = async ({ actions }) => { defer: true, }) } +exports.onCreateWebpackConfig = ({ stage, loaders, actions }) => { + if (stage === "build-html" || stage === "develop-html") { + actions.setWebpackConfig({ + module: { + rules: [ + { + test: /react-json-view|gatsby-plugin-mantine|gatsby-link|gatsby-plugin-manifest/, + use: loaders.null(), + }, + ], + }, + }) + } +} \ No newline at end of file diff --git a/website/gatsby-ssr.js b/website/gatsby-ssr.js index 01d83255f4..e5201e1f54 100644 --- a/website/gatsby-ssr.js +++ b/website/gatsby-ssr.js @@ -1,7 +1,11 @@ -/** - * Implement Gatsby's SSR (Server Side Rendering) APIs in this file. - * - * See: https://www.gatsbyjs.com/docs/ssr-apis/ - */ +import React from 'react'; +import { renderToString } from 'react-dom/server'; +import { createStylesServer, ServerStyles } from '@mantine/ssr'; -// You can delete this file if you're not using it +const stylesServer = createStylesServer(); + +export const replaceRenderer = ({ bodyComponent, replaceBodyHTMLString, setHeadComponents }) => { + const html = renderToString(bodyComponent); + setHeadComponents([]); + replaceBodyHTMLString(html); +}; \ No newline at end of file diff --git a/website/githubInfo/build.js b/website/githubInfo/build.js new file mode 100644 index 0000000000..7bdb9722cb --- /dev/null +++ b/website/githubInfo/build.js @@ -0,0 +1,18 @@ +/** + * @description 获取chunjun repo 成员的脚步 + * 使用node 执行后 成员信息会保存在同级目录的 member.json下 + */ +const axios = require('axios'); +const contributorsApi = 'https://api.github.com/repos/DTStack/chunjun/contributors' +const fs = require('fs') +const path = require('path') +const fileName = 'members.json' +axios + .get(contributorsApi) + .then(res => { + fs.writeFileSync(path.resolve(__dirname, './' + fileName), JSON.stringify(res.data, null, '\t')) + }) + .catch(error => { + console.error(error); + }); + diff --git a/website/package.json b/website/package.json index 6337db69cb..67e4d19359 100644 --- a/website/package.json +++ b/website/package.json @@ -5,18 +5,24 @@ "version": "0.1.0", "author": "Kyle Mathews ", "dependencies": { + "@ant-design/icons": "^4.7.0", "@icon-park/react": "^1.3.5", "@mantine/core": "^4.2.5", "@mantine/hooks": "^4.2.5", - "antd": "^4.21.0", + "@mantine/ssr": "^4.2.11", + "@octokit/core": "^4.0.4", + "antd": "^4.21.5", "aos": "^2.3.4", "autoprefixer": "^10.4.7", + "axios": "^0.27.2", + "eslint-plugin-react": "^7.30.1", "gatsby": "^4.17.2", "gatsby-link": "^4.17.0", "gatsby-plugin-gatsby-cloud": "^4.17.0", "gatsby-plugin-image": "^2.17.0", "gatsby-plugin-manifest": "^4.17.0", "gatsby-plugin-mantine": "^4.0.0", + "gatsby-plugin-nprogress": "^4.17.0", "gatsby-plugin-offline": "^5.17.0", "gatsby-plugin-postcss": "^5.16.0", "gatsby-plugin-react-helmet": "^5.17.0", @@ -32,6 +38,9 @@ "gatsby-transformer-plaintext": "^2.0.0", "gatsby-transformer-remark": "^5.14.0", "gatsby-transformer-sharp": "^4.17.0", + "gh-pages": "^4.0.0", + "highlight.js": "^11.5.1", + "lodash": "^4.17.21", "node-sass": "^6.0.1", "postcss": "^8.4.14", "prop-types": "^15.8.1", @@ -39,10 +48,19 @@ "react-dom": "^18.1.0", "react-helmet": "^6.1.0", "react-highlight": "^0.14.0", + "react-icons": "^4.4.0", + "react-json-tree": "^0.17.0", "react-json-view": "^1.21.3", + "react-spring": "^9.4.5", + "react-transition-group": "^4.4.2", "tailwindcss": "^3.1.0" }, "devDependencies": { + "eslint": "^8.0.1", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0", "prettier": "^2.6.2" }, "keywords": [ @@ -50,10 +68,11 @@ ], "license": "0BSD", "scripts": { + "deploy": "node githubInfo/build && gatsby build --prefix-paths && gh-pages -d public", "build": "gatsby build", - "develop": "gatsby develop", + "develop": "node githubInfo/build && gatsby develop ", "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md,css}\"", - "start": "gatsby develop", + "start": "node githubInfo/build && gatsby develop", "serve": "gatsby serve", "clean": "gatsby clean", "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" diff --git a/website/src/assets/sass/index.scss b/website/src/assets/sass/index.scss index c8c75635b3..653c087125 100644 --- a/website/src/assets/sass/index.scss +++ b/website/src/assets/sass/index.scss @@ -1,20 +1,3 @@ -:root { - --white-color: #fff; - --hover-text-color: #5f27cd; - - --dark-bg: #11081f; - --white-bg: #fff; - - --light-gray-bg: #fef9f4; - --medium-gray-bg: #fef9f4; - - --black-text-color: #333; - --second-text-color: #666; - --blue: #5352ed; - - --font-size-base: 14px; - --font-size-lg: 16px; -} *, *::before, *::after { diff --git a/website/src/assets/svg/apacheflink.svg b/website/src/assets/svg/apacheflink.svg new file mode 100644 index 0000000000..e1c705bc64 --- /dev/null +++ b/website/src/assets/svg/apacheflink.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/code.svg b/website/src/assets/svg/code.svg new file mode 100644 index 0000000000..59a145acd7 --- /dev/null +++ b/website/src/assets/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/collect.svg b/website/src/assets/svg/collect.svg new file mode 100644 index 0000000000..34309722cd --- /dev/null +++ b/website/src/assets/svg/collect.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/datav.svg b/website/src/assets/svg/datav.svg new file mode 100644 index 0000000000..0be64d8e8b --- /dev/null +++ b/website/src/assets/svg/datav.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/docker.svg b/website/src/assets/svg/docker.svg new file mode 100644 index 0000000000..06807c6756 --- /dev/null +++ b/website/src/assets/svg/docker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/flex.svg b/website/src/assets/svg/flex.svg new file mode 100644 index 0000000000..b34d073723 --- /dev/null +++ b/website/src/assets/svg/flex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/hcs_sgw.svg b/website/src/assets/svg/hcs_sgw.svg new file mode 100644 index 0000000000..f10e95d47b --- /dev/null +++ b/website/src/assets/svg/hcs_sgw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/hero-1.svg b/website/src/assets/svg/hero-1.svg deleted file mode 100644 index 33e3688841..0000000000 --- a/website/src/assets/svg/hero-1.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - 编组 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/src/assets/svg/hero-2.svg b/website/src/assets/svg/hero-2.svg deleted file mode 100644 index ae64f805e8..0000000000 --- a/website/src/assets/svg/hero-2.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - 编组 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/src/assets/svg/hero-3.svg b/website/src/assets/svg/hero-3.svg deleted file mode 100644 index 8363cc6504..0000000000 --- a/website/src/assets/svg/hero-3.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - 编组 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/src/assets/svg/hero-4.svg b/website/src/assets/svg/hero-4.svg deleted file mode 100644 index 09dde33307..0000000000 --- a/website/src/assets/svg/hero-4.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - 编组 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/src/assets/svg/hero-5.svg b/website/src/assets/svg/hero-5.svg deleted file mode 100644 index f6580dea78..0000000000 --- a/website/src/assets/svg/hero-5.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - 编组 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/src/assets/svg/hero-6.svg b/website/src/assets/svg/hero-6.svg deleted file mode 100644 index eb9345f919..0000000000 --- a/website/src/assets/svg/hero-6.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - 编组 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/website/src/assets/svg/sync.svg b/website/src/assets/svg/sync.svg new file mode 100644 index 0000000000..9cdff6c006 --- /dev/null +++ b/website/src/assets/svg/sync.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/assets/svg/trans.svg b/website/src/assets/svg/trans.svg new file mode 100644 index 0000000000..7267fc5bf5 --- /dev/null +++ b/website/src/assets/svg/trans.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/components/AppBannner/index.jsx b/website/src/components/AppBannner/index.jsx index 649dc35fe2..2546b93b1c 100644 --- a/website/src/components/AppBannner/index.jsx +++ b/website/src/components/AppBannner/index.jsx @@ -1,21 +1,34 @@ import React from "react" import { Github } from "@icon-park/react" -import { Link } from "gatsby" +import Link from "../Link" const AppBanner = () => { return ( -
+

- ChunJun 纯钧 + + ChunJun + {" "} + 纯钧 +

+

+ 基于Flink之上提供稳定,高效,易用的 批流一体的数据集成工具

-

基于Flink之上提供稳定,高效,易用的 批流一体的数据集成工具

- + github - + 快速开始
diff --git a/website/src/components/AppCards/index.jsx b/website/src/components/AppCards/index.jsx index 1498cfaba1..b669f751d5 100644 --- a/website/src/components/AppCards/index.jsx +++ b/website/src/components/AppCards/index.jsx @@ -1,50 +1,42 @@ -import React, { useEffect } from "react" -import Aos from "aos" -import { Text } from "@mantine/core" +import React, { useEffect } from 'react' +import Aos from 'aos' +import { Text } from '@mantine/core' const AppCards = () => { useEffect(() => { Aos.init({ - duration: 1000, + duration: 1000 }) }, []) return ( -
-
-
- source &  - sink -
- -
-
-

- ChunJun 纯钧 核心特性 +
+
+

Core features

-
-
- +
+
+ code 基于json、sql 构建任务
-
- +
+ trans 支持多种异构数据源之间数据传输
-
- +
+ sync 支持断点续传、增量同步
-
- +
+ dirty-data 支持任务脏数据存储管理
-
- +
+ schema 支持Schema同步
-
- +
+ collect 支持RDBS数据源实时采集
diff --git a/website/src/components/AppContainer/darkMenu.scss b/website/src/components/AppContainer/darkMenu.scss new file mode 100644 index 0000000000..bacd82c003 --- /dev/null +++ b/website/src/components/AppContainer/darkMenu.scss @@ -0,0 +1,6 @@ +.dark { + .ant-menu, + .ant-menu-submenu { + background-color: #1a1b1e !important; + } +} diff --git a/website/src/components/AppContainer/index.jsx b/website/src/components/AppContainer/index.jsx index b749598682..8f027266f2 100644 --- a/website/src/components/AppContainer/index.jsx +++ b/website/src/components/AppContainer/index.jsx @@ -1,15 +1,19 @@ import AppHeader from "../AppHeader" import AppFooter from "../AppFooter" -import { AppShell, Accordion, Navbar } from "@mantine/core" -import { Link } from "gatsby" +import { Accordion } from "@mantine/core" +import { Link, navigate } from "gatsby" import React from "react" import Seo from "../seo" +import "./darkMenu.scss" +import { Menu } from "antd" +import { ModeContext } from "../Context/index" +import { useContext } from "react" const AppContainer = ({ children, data, category }) => { - //nodes 是文档list的相关信息, 文档的详细路由是 /documents/{name} + let id = 0 - function buildMenu(nodes) { - let id = 1 + //nodes 是文档list的相关信息, 文档的详细路由是 /documents/{name} + function buildMenu(nodes, deep = 0) { const root = { children: [] } function linkToRoot(structrue, node) { let rootRef = root @@ -21,7 +25,9 @@ const AppContainer = ({ children, data, category }) => { nextRef = { type: "dir", name: dirname, + label: dirname, id: id++, + key: id, children: [], parent: rootRef, } @@ -29,9 +35,13 @@ const AppContainer = ({ children, data, category }) => { } rootRef = nextRef } + rootRef.children.push({ type: "file", name: node.name, + label: node.name, + id: node.id, + key: node.id, data: node, parent: rootRef, }) @@ -43,28 +53,40 @@ const AppContainer = ({ children, data, category }) => { root.children.push({ type: "file", name: node.name, + label: node.name, data: node, + key: node.id, parent: root, }) } else { linkToRoot(structrue, node) } } - return root + return deep ? root.children[0] : root } - const menuData = buildMenu(data.allFile.edges.map(item => item.node)) + const menuData = buildMenu( + data.allFile.edges.map(item => item.node), + data.deep + ) const buildChildren = children => { return children.map(c => { if (c.type === "dir") { return ( - {buildChildren(c.children)} + + {buildChildren(c.children)} + ) } else { return ( - + {c.name} ) @@ -72,51 +94,56 @@ const AppContainer = ({ children, data, category }) => { }) } - const asideMenu = menu => { - const { children } = menu + const AsideMenu = menu => { + const [key, setKey] = React.useState([]) + const [submenu, setsubmenu] = React.useState([]) + function click(ob) { + if (ob.key && navigate) { + navigate(`${category}/${ob.key}`) + setKey([ob.key]) + } else { + console.log(ob) + } + } + function menuClick(params) { + setsubmenu(params) + } + const { mode } = useContext(ModeContext) return ( - - {children.map(item => { - return item.type === "file" ? ( - - {item.name} - - ) : ( - - - {buildChildren(item.children)} - - - ) - })} - +
+ +
) } - return ( <> - } - header={} - padding={"sm"} - navbar={menuData.children.length > 0 && asideMenu(menuData)} - > + +
+ {menuData.children && + menuData.children.length > 0 && + AsideMenu(menuData)} {children} - +
+ ) } diff --git a/website/src/components/AppCustomers/index.css b/website/src/components/AppCustomers/index.css new file mode 100644 index 0000000000..e560da4fb1 --- /dev/null +++ b/website/src/components/AppCustomers/index.css @@ -0,0 +1,18 @@ + .item-enter { + opacity: 0; + transform: translateY(10px); + } + .item-enter-active { + opacity: 1; + transform: translateY(0); + transition: all 500ms ease-in; + } + .item-exit { + opacity: 1; + } + .item-exit-active { + opacity: 0; + transform: translateY(-60px); + transition: all 500ms ease-in; + } + \ No newline at end of file diff --git a/website/src/components/AppCustomers/index.jsx b/website/src/components/AppCustomers/index.jsx new file mode 100644 index 0000000000..257ea10523 --- /dev/null +++ b/website/src/components/AppCustomers/index.jsx @@ -0,0 +1,175 @@ +import { chunk } from 'lodash' +import './index.css' +import React, { useLayoutEffect, useState } from 'react' +import { CSSTransition, TransitionGroup } from 'react-transition-group' +const AppCustomers = () => { + const imgs = [ + { + img: require('../../assets/img/fudan.png').default, + id: 'fuda' + }, + { + img: require('../../assets/img/API.png').default, + id: 'API' + }, + { + img: require('../../assets/img/nat-4.png').default, + id: 'nat-4' + }, + { + img: require('../../assets/img/nat-5.png').default, + id: 'nat-5' + }, + { + img: require('../../assets/img/nat-6.png').default, + id: 'nat-6' + }, + { + img: require('../../assets/img/nat-7.png').default, + id: 'nat-7' + }, + { + img: require('../../assets/img/nat-8.png').default, + id: 'nat-8' + }, + { + img: require('../../assets/img/nat-9.png').default, + id: 'nat-9' + }, + { + img: require('../../assets/img/nat-10.png').default, + id: 'nat-10' + }, + { + img: require('../../assets/img/pufa.png').default, + id: 'pufa' + }, + { + img: require('../../assets/img/union.png').default, + id: 'union' + }, + { + img: require('../../assets/img/zheda.png').default, + id: 'zheda' + }, + { + img: require('../../assets/img/zhongxin.png').default, + id: 'zhongxin' + }, + { + img: require('../../assets/img/nat-11.png').default, + id: 'nat-11' + }, + { + img: require('../../assets/img/nat-12.png').default, + id: 'nat-12' + }, + { + img: require('../../assets/img/nat-13.png').default, + id: 'nat-13' + }, + { + img: require('../../assets/img/nat-14.png').default, + id: 'nat-14' + }, + { + img: require('../../assets/img/nat-15.png').default, + id: 'nat-15' + }, + { + img: require('../../assets/img/nat-16.png').default, + id: 'nat-16' + }, + { + img: require('../../assets/img/nat-17.png').default, + id: 'nat-17' + }, + { + img: require('../../assets/img/nat-18.png').default, + id: 'nat-18' + }, + { + img: require('../../assets/img/nat-19.png').default, + id: 'nat-19' + }, + { + img: require('../../assets/img/nat-20.png').default, + id: 'nat-20' + }, + { + img: require('../../assets/img/nat-21.png').default, + id: 'nat-21' + }, + { + img: require('../../assets/img/nat-22.png').default, + id: 'nat-22' + }, + { + img: require('../../assets/img/nat-23.png').default, + id: 'nat-23' + }, + { + img: require('../../assets/img/nat-24.png').default, + id: 'nat-24' + }, + { + img: require('../../assets/img/nat-25.png').default, + id: 'nat-25' + }, + { + img: require('../../assets/img/nat-26.png').default, + id: 'nat-26' + }, + { + img: require('../../assets/img/nat-27.png').default, + id: 'nat-27' + }, + { + img: require('../../assets/img/nat-28.png').default, + id: 'nat-28' + }, + { + img: require('../../assets/img/nat-30.png').default, + id: 'nat-30' + } + ] + const imagesList = chunk(imgs, 5) + const [activeList, setActive] = useState([...imagesList[0]]) + useLayoutEffect(() => { + const timer = setInterval(() => { + imagesList.push(imagesList.shift()) + setActive(origin => []) + setTimeout(() => { + setActive(origin => [...origin, ...imagesList[0]]) + }, 500) + }, 3000) + + return () => { + clearInterval(timer) + } + }, []) + return ( +
+

+ + 合作伙伴 + +

+
+ + {activeList.map(item => { + return ( + +
+ +
+
+ ) + })} +
+
+
+ ) +} + +export default AppCustomers diff --git a/website/src/components/AppFooter/index.jsx b/website/src/components/AppFooter/index.jsx index 00aef18379..b71fdd6d07 100644 --- a/website/src/components/AppFooter/index.jsx +++ b/website/src/components/AppFooter/index.jsx @@ -1,30 +1,30 @@ import React from "react" import { Card, Text, Image } from "@mantine/core" -import { Link } from "gatsby" +import Link from "../Link" const AppFooter = () => { return ( -
-
-
+
+
+
No way! - + 联系我们 - + 在这里你可以获取到最新的技术及产品知识
-
+
-

文档

+

文档

    快速上手 @@ -32,7 +32,7 @@ const AppFooter = () => {
-

更多

+

更多

    博客 diff --git a/website/src/components/AppGithubMember/index.jsx b/website/src/components/AppGithubMember/index.jsx new file mode 100644 index 0000000000..3e9dfcb7f6 --- /dev/null +++ b/website/src/components/AppGithubMember/index.jsx @@ -0,0 +1,35 @@ +import React from 'react' +import members from '../../../githubInfo/members.json' + +const AppMembers = () => { + return ( + <> +
    +

    + + 贡献者 + +

    +
    +
    + + ) +} + +export default AppMembers diff --git a/website/src/components/AppHeader/index.jsx b/website/src/components/AppHeader/index.jsx index 676ab0aa35..ea35d52ec5 100644 --- a/website/src/components/AppHeader/index.jsx +++ b/website/src/components/AppHeader/index.jsx @@ -1,18 +1,19 @@ import React, { useState } from "react" -import { Link } from "gatsby" +import Link from "../Link" import { Burger, Popover, Text } from "@mantine/core" import AppDrawer from "../AppDrawer" import { headerList } from "../../util" - +// import { useContext } from "react" +// import { ModeContext } from "../Context" const AppHeader = () => { const [opened, setOpened] = useState(false) const [visible, setVisible] = useState(false) const [show, setShow] = useState(false) const links = headerList - + // const { mode } = useContext(ModeContext) return ( -
    - +
    + ChunJun @@ -20,7 +21,7 @@ const AppHeader = () => { {links.map(l => l.path ? ( !Array.isArray(l.path) ? ( - + {l.name} ) : ( @@ -30,7 +31,7 @@ const AppHeader = () => { withArrow={false} onClose={() => setVisible(false)} target={ - setVisible(v => !v)} className="header-link font-medium hover:text-indigo-600 h-full flex items-center cursor-pointer justify-center relative w-[88px]"> + setVisible(v => !v)} className=" text-black header-link font-medium hover:text-blue-600 h-full flex items-center cursor-pointer justify-center relative w-[60px]"> {l.name} } @@ -39,7 +40,7 @@ const AppHeader = () => { >
    {l.path.map(i => ( - + {i.name} ))} @@ -47,7 +48,7 @@ const AppHeader = () => { ) ) : ( - + {l.name} ) @@ -56,6 +57,7 @@ const AppHeader = () => {
    setOpened(!opened)} />
    + setOpened(false)} @@ -93,7 +95,7 @@ const AppHeader = () => { >
    {link.path.map(i => ( - + {i.name} ))} diff --git a/website/src/components/AppInteract/data.js b/website/src/components/AppInteract/data.js index e159a6c313..32243f4dd1 100644 --- a/website/src/components/AppInteract/data.js +++ b/website/src/components/AppInteract/data.js @@ -1,197 +1,196 @@ -import icon from "./icon.png" -import doris from "./image/doris-logo.png" -import elasticsearch from "./image/elasticsearch-logo.png" -import emqx from "./image/emqx-logo.png" -import ftp from "./image/ftp-logo.png" -import hbase from "./image/hbase-logo.png" -import hive from "./image/hive-logo.jpeg" -import kafka from "./image/kafka-logo.png" -import kudu from "./image/kudu-logo.png" -import mongodb from "./image/mongodb-logo.png" -import mysql from "./image/mysql-logo.png" -import oracle from "./image/oracle-logo.png" -import solr from "./image/solr-logo.png" -import starrocks from "./image/starrocks-logo.png" -import center from "./image/chunjun.png" +import doris from './image/doris-logo.png' +import elasticsearch from './image/elasticsearch-logo.png' +import emqx from './image/emqx-logo.png' +import ftp from './image/ftp-logo.png' +import hbase from './image/hbase-logo.png' +import hive from './image/hive-logo.jpeg' +import kafka from './image/kafka-logo.png' +import kudu from './image/kudu-logo.png' +import mongodb from './image/mongodb-logo.png' +import mysql from './image/mysql-logo.png' +import oracle from './image/oracle-logo.png' +import solr from './image/solr-logo.png' +import starrocks from './image/starrocks-logo.png' +import center from './image/chunjun.png' const leftList = [emqx, ftp, hbase, hive, kafka, kudu, elasticsearch] const leftMap = { - 0: "emqx", - 1: "ftp", - 2: "hbase", - 3: "hive", - 4: "kafka", - 5: "kudu", - 6: "elasticsearch", + 0: 'emqx', + 1: 'ftp', + 2: 'hbase', + 3: 'hive', + 4: 'kafka', + 5: 'kudu', + 6: 'elasticsearch' } const rightList = [mongodb, mysql, oracle, solr, starrocks, doris] const rightMap = { - 0: "mongodb", - 1: "mysql", - 2: "oracle", - 3: "solr", - 4: "starrocks", - 5: "doris", + 0: 'mongodb', + 1: 'mysql', + 2: 'oracle', + 3: 'solr', + 4: 'starrocks', + 5: 'doris' } export const getData = ({ width, height }) => { - let nodes = getNodes({ width, height }) - let edges = getEdges(nodes) + const nodes = getNodes({ width, height }) + const edges = getEdges(nodes) return { - nodes: nodes, - edges: edges, + nodes, + edges } } -function getEdges(nodes) { - let res = [] - let centerNode = nodes.find(node => node.center) +function getEdges (nodes) { + const res = [] + const centerNode = nodes.find(node => node.center) nodes.forEach(node => { if (!node.center) { res.push({ head: node.key, - tail: centerNode.key, + tail: centerNode.key }) } }) return res } -function getNodes({ width, height }) { +function getNodes ({ width, height }) { const nodes = [ { - key: "22", - text: "binLog", - poper: "binLog", + key: '22', + text: 'binLog', + poper: 'binLog', width: 50, height: 50, x: 100, - y: 250, + y: 250 }, { - key: "g", + key: 'g', img: rightList[0], poper: rightMap[5], width: 50, height: 50, x: 240, - y: 400, + y: 400 }, { - key: "222", - text: "logMiner", - poper: "logMiner", + key: '222', + text: 'logMiner', + poper: 'logMiner', width: 50, height: 50, x: 64, - y: 164, + y: 164 }, { - key: "b", + key: 'b', img: leftList[1], poper: leftMap[1], width: 50, height: 50, x: 688, y: 98, - size: "big", + size: 'big' }, { - key: "c", + key: 'c', img: leftList[2], poper: leftMap[2], width: 50, height: 50, x: 201, y: 32, - size: "big", + size: 'big' }, { - key: "d", + key: 'd', img: leftList[3], poper: leftMap[3], width: 50, height: 50, x: 20, - y: 340, + y: 340 }, { - key: "e", + key: 'e', img: leftList[4], poper: leftMap[4], width: 50, height: 50, x: 52, y: 451, - size: "big", + size: 'big' }, { - key: "333", + key: '333', img: leftList[5], poper: leftMap[5], width: 50, height: 50, x: 665, - y: 500, + y: 500 }, { - key: "f", + key: 'f', img: center, width: 100, height: 100, x: 377, y: 274, - center: true, + center: true }, { - key: "h", + key: 'h', img: rightList[1], poper: rightMap[1], width: 50, height: 50, x: 603, - y: 52, + y: 52 }, { - key: "i", + key: 'i', img: rightList[2], poper: rightMap[2], width: 50, height: 50, x: 191, - y: 550, + y: 550 }, { - key: "j", + key: 'j', img: rightList[3], poper: rightMap[3], width: 50, height: 50, x: 701, y: 245, - size: "big", + size: 'big' }, { - key: "2", + key: '2', img: rightList[4], poper: rightMap[4], width: 50, height: 50, x: 600, y: 300, - size: "big", + size: 'big' }, { - key: "a", + key: 'a', img: leftList[0], width: 50, height: 50, poper: leftMap[0], x: 539, - y: 600, - }, + y: 600 + } ].map(node => { - if (node.size == "big") { + if (node.size === 'big') { node.width = 200 node.height = 100 } else if (!node.center) { @@ -201,7 +200,7 @@ function getNodes({ width, height }) { return { ...node, x: (node.x / 835) * width, - y: (node.y / 696) * height, + y: (node.y / 696) * height } }) diff --git a/website/src/components/AppInteract/index.jsx b/website/src/components/AppInteract/index.jsx index cfc0a3c761..f0c96c54b7 100644 --- a/website/src/components/AppInteract/index.jsx +++ b/website/src/components/AppInteract/index.jsx @@ -3,7 +3,6 @@ import { useCallback, useEffect, useLayoutEffect, useState } from "react" import "./index.css" import { getData } from "./data" import { Popover } from "antd" -import "antd/dist/antd.css" function getPath({ head, tail }) { let startNode = JSON.parse(JSON.stringify(head)) diff --git a/website/src/components/AppMedium/index.jsx b/website/src/components/AppMedium/index.jsx index e7aa62999a..74816be80e 100644 --- a/website/src/components/AppMedium/index.jsx +++ b/website/src/components/AppMedium/index.jsx @@ -1,28 +1,71 @@ -import Aos from "aos" -import React, { useEffect } from "react" +import React, { useEffect } from 'react' +import Aos from 'aos' +import { Card, Text, Button, Group } from '@mantine/core' +import { navigate } from 'gatsby-link' const AppMedium = () => { useEffect(() => { Aos.init({ - duration: 1000, + duration: 1000 }) }, []) + // data-aos="fade-up" + return
    +

    easy to learn. easy to use.

    +
    + + + flink + - return ( -
    -

    - 加入纯钧 -

    - -
    - ) + + 基于Flink + + + + 兼容Flink SQL语法,如果您使用过Flink,那么您可以很快的上手chunjun! + + + +
    + + + flink + + + + 部署支持 + + + + 支持Docker一键部署、K8S 部署运行,在您所青睐的平台上部署chunjun应用。 + + + + + + + flink + + + + 易拓展,高灵活 + + + + 插件开发者无需关心其他插件的代码逻辑,新拓展的数据源插件可以与现有数据源插件即时互通。 + + + + +
    +
    } export default AppMedium diff --git a/website/src/components/AppShowCase/index.jsx b/website/src/components/AppShowCase/index.jsx new file mode 100644 index 0000000000..7ae657877d --- /dev/null +++ b/website/src/components/AppShowCase/index.jsx @@ -0,0 +1,29 @@ +import React, { useEffect } from 'react' +import members from '../../../githubInfo/members.json' +import Aos from 'aos' + +const AppShowCase = () => { + useEffect(() => { + Aos.init({ + duration: 1000 + }) + }, []) + return
    +

    Become a contributor to Chunjun

    +
    + {members.map((item, index) =>
    + {' '} + + {item.login} + +
    )} +
    +
    +} + +export default AppShowCase diff --git a/website/src/components/AppShowcase/index.jsx b/website/src/components/AppShowcase/index.jsx deleted file mode 100644 index 66d463cc55..0000000000 --- a/website/src/components/AppShowcase/index.jsx +++ /dev/null @@ -1,148 +0,0 @@ -import React, { useEffect } from "react" -import Aos from "aos" - -const AppShowcase = () => { - const imgs = [ - { - img: require("../../assets/img/fudan.png").default, - id: "fuda", - }, - { - img: require("../../assets/img/API.png").default, - id: "API", - }, - { - img: require("../../assets/img/nat-4.png").default, - id: "nat-4", - }, - { - img: require("../../assets/img/nat-5.png").default, - id: "nat-5", - }, - { - img: require("../../assets/img/nat-6.png").default, - id: "nat-6", - }, - { - img: require("../../assets/img/nat-7.png").default, - id: "nat-7", - }, - { - img: require("../../assets/img/nat-8.png").default, - id: "nat-8", - }, - { - img: require("../../assets/img/nat-9.png").default, - id: "nat-9", - }, - { - img: require("../../assets/img/nat-10.png").default, - id: "nat-10", - }, - { - img: require("../../assets/img/pufa.png").default, - id: "pufa", - }, - { - img: require("../../assets/img/union.png").default, - id: "union", - }, - { - img: require("../../assets/img/zheda.png").default, - id: "zheda", - }, - { - img: require("../../assets/img/zhongxin.png").default, - id: "zhongxin", - }, - { - img: require("../../assets/img/nat-11.png").default, - id: "nat-11", - }, - { - img: require("../../assets/img/nat-12.png").default, - id: "nat-12", - }, - { - img: require("../../assets/img/nat-13.png").default, - id: "nat-13", - }, - { - img: require("../../assets/img/nat-14.png").default, - id: "nat-14", - }, - { - img: require("../../assets/img/nat-15.png").default, - id: "nat-15", - }, - { - img: require("../../assets/img/nat-16.png").default, - id: "nat-16", - }, - { - img: require("../../assets/img/nat-17.png").default, - id: "nat-17", - }, - { - img: require("../../assets/img/nat-18.png").default, - id: "nat-18", - }, - { - img: require("../../assets/img/nat-19.png").default, - id: "nat-19", - }, - { - img: require("../../assets/img/nat-20.png").default, - id: "nat-20", - }, - { - img: require("../../assets/img/nat-21.png").default, - id: "nat-21", - }, - { - img: require("../../assets/img/nat-22.png").default, - id: "nat-22", - }, - { - img: require("../../assets/img/nat-23.png").default, - id: "nat-23", - }, - { - img: require("../../assets/img/nat-24.png").default, - id: "nat-24", - }, - { - img: require("../../assets/img/nat-25.png").default, - id: "nat-25", - }, - { - img: require("../../assets/img/nat-26.png").default, - id: "nat-26", - }, - { - img: require("../../assets/img/nat-27.png").default, - id: "nat-27", - }, - ] - useEffect(() => { - Aos.init({ - duration: 1000, - }) - }, []) - return ( -
    -

    成为我们的客户

    -
    - {imgs.map(i => { - return ( -
    - -
    - ) - })} -
    -
    - ) -} - -export default AppShowcase diff --git a/website/src/components/Context/index.jsx b/website/src/components/Context/index.jsx new file mode 100644 index 0000000000..e5a3f1127f --- /dev/null +++ b/website/src/components/Context/index.jsx @@ -0,0 +1,18 @@ +import React from "react" +import { createContext, useState } from "react" + +export const ModeContext = createContext({ + mode: "dark", + setmode: "", +}) + +const ProviderContext = ({ children }) => { + const [mode, setmode] = useState("light") + return ( + +
    {children}
    +
    + ) +} + +export default ProviderContext diff --git a/website/src/components/LInk/index.jsx b/website/src/components/LInk/index.jsx new file mode 100644 index 0000000000..89693f2d25 --- /dev/null +++ b/website/src/components/LInk/index.jsx @@ -0,0 +1,23 @@ +import React from "react" +import { navigate } from "gatsby" +import { useContext } from "react" +import { ModeContext } from "../Context/index" +const IndexCom = ({ children, className, to, clickfn }) => { + const m = useContext(ModeContext) + function go(params) { + navigate(params) + } + function onClick() { + if (clickfn && m) { + m.setmode(m.mode === "dark" ? "light" : "dark") + } else { + go(to) + } + } + return ( + + {children} + + ) +} +export default IndexCom diff --git a/website/src/components/documentsMenu/menu.jsx b/website/src/components/documentsMenu/menu.jsx index 40eed8c192..7118c66180 100644 --- a/website/src/components/documentsMenu/menu.jsx +++ b/website/src/components/documentsMenu/menu.jsx @@ -33,91 +33,6 @@ const MenuLayout = ({ children }) => { } `) - // function buildMenu(nodes) { - // let id = 1 - // const root = { children: [] } - // function linkToRoot(structrue, node) { - // let rootRef = root - - // for (let i = 0; i < structrue.length - 1; i++) { - // let dirname = structrue[i] - // let nextRef = rootRef.children.find(item => item.name === dirname) - // if (!nextRef) { - // nextRef = { - // type: "dir", - // name: dirname, - // id: id++, - // children: [], - // parent: rootRef, - // } - // rootRef.children.push(nextRef) - // } - // rootRef = nextRef - // } - // rootRef.children.push({ - // type: "file", - // name: node.name, - // data: node, - // parent: rootRef, - // }) - // } - // for (let i = 0; i < nodes.length; i++) { - // let node = nodes[i] - // let structrue = node.relativePath.split("/") - // if (structrue.length === 1) { - // root.children.push({ - // type: "file", - // name: node.name, - // data: node, - // parent: root, - // }) - // } else { - // linkToRoot(structrue, node) - // } - // } - // return root - // } - - // const menuData = buildMenu(data.allFile.edges.map(item => item.node)) - // const currentPage = window.location.href.split("/").pop() - - // const buildChildren = children => { - // return children.map(c => { - // if (c.type === "dir") { - // return ( - // - // {buildChildren(c.children)} - // - // ) - // } else { - // return ( - // - // {c.name} - // - // ) - // } - // }) - // } - - // const asideMenu = menu => { - // const { children } = menu - // return ( - // - // {children.map(item => { - // return item.type === "file" ? ( - // - // {item.name} - // - // ) : ( - // - // {buildChildren(item.children)} - // - // ) - // })} - // - // ) - // } - return ( {children} diff --git a/website/src/components/header.js b/website/src/components/header.js index fee21a6943..be76f602b3 100644 --- a/website/src/components/header.js +++ b/website/src/components/header.js @@ -1,22 +1,22 @@ -import * as React from "react" -import PropTypes from "prop-types" -import { Link } from "gatsby" +import * as React from 'react' +import PropTypes from 'prop-types' +import { Link } from 'gatsby' const Header = ({ siteTitle }) => (
    {siteTitle} @@ -31,11 +31,11 @@ const Header = ({ siteTitle }) => ( ) Header.propTypes = { - siteTitle: PropTypes.string, + siteTitle: PropTypes.string } Header.defaultProps = { - siteTitle: ``, + siteTitle: '' } export default Header diff --git a/website/src/components/jsonMenu/menu.jsx b/website/src/components/jsonMenu/menu.jsx index 248171eab6..a535c5cbf6 100644 --- a/website/src/components/jsonMenu/menu.jsx +++ b/website/src/components/jsonMenu/menu.jsx @@ -12,7 +12,13 @@ const MenuLayout = ({ children }) => { //nodes 是文档list的相关信息, 文档的详细路由是 /documents/{name} const data = useStaticQuery(graphql` query MyQuery2 { - allFile(filter: { sourceInstanceName: { eq: "examples" }, extension: { eq: "json" }, ctime: {} }) { + allFile( + filter: { + sourceInstanceName: { eq: "examples" } + extension: { eq: "json" } + ctime: {} + } + ) { edges { node { id @@ -32,7 +38,8 @@ const MenuLayout = ({ children }) => { } } `) - + console.log(data, "sql") + data.deep = 1 return ( {children} diff --git a/website/src/components/layout.js b/website/src/components/layout.js index 24976f5547..d682d7e66a 100644 --- a/website/src/components/layout.js +++ b/website/src/components/layout.js @@ -5,12 +5,12 @@ * See: https://www.gatsbyjs.com/docs/use-static-query/ */ -import * as React from "react" -import PropTypes from "prop-types" -import { useStaticQuery, graphql } from "gatsby" +import * as React from 'react' +import PropTypes from 'prop-types' +import { useStaticQuery, graphql } from 'gatsby' -import Header from "./header" -import "./layout.css" +import Header from './header' +import './layout.css' const Layout = ({ children }) => { const data = useStaticQuery(graphql` @@ -25,23 +25,23 @@ const Layout = ({ children }) => { return ( <> -
    +
    {children}
    © {new Date().getFullYear()} · Built with - {` `} + {' '} Gatsby
    @@ -50,7 +50,7 @@ const Layout = ({ children }) => { } Layout.propTypes = { - children: PropTypes.node.isRequired, + children: PropTypes.node.isRequired } export default Layout diff --git a/website/src/components/seo.js b/website/src/components/seo.js index 9a55dbe705..2cfb201b9c 100644 --- a/website/src/components/seo.js +++ b/website/src/components/seo.js @@ -5,12 +5,12 @@ * See: https://www.gatsbyjs.com/docs/use-static-query/ */ -import * as React from "react" -import PropTypes from "prop-types" -import { Helmet } from "react-helmet" -import { useStaticQuery, graphql } from "gatsby" - -function Seo({ description, lang, meta, title }) { +import * as React from 'react' +import PropTypes from 'prop-types' +import { Helmet } from 'react-helmet' +import { useStaticQuery, graphql } from 'gatsby' +import favicon from '../images/favicon.png' +function Seo ({ description, lang, meta, title }) { const { site } = useStaticQuery( graphql` query { @@ -31,59 +31,61 @@ function Seo({ description, lang, meta, title }) { return ( + > + + ) } Seo.defaultProps = { - lang: `en`, + lang: 'en', meta: [], - description: ``, + description: '' } Seo.propTypes = { description: PropTypes.string, lang: PropTypes.string, meta: PropTypes.arrayOf(PropTypes.object), - title: PropTypes.string.isRequired, + title: PropTypes.string.isRequired } export default Seo diff --git a/website/src/components/space/spaceLayout.jsx b/website/src/components/space/spaceLayout.jsx index 42667ddabb..b3d09ac3fe 100644 --- a/website/src/components/space/spaceLayout.jsx +++ b/website/src/components/space/spaceLayout.jsx @@ -8,7 +8,6 @@ import * as React from "react" const MenuLayout = ({ children }) => { //nodes 是文档list的相关信息, 文档的详细路由是 /documents/{name} - console.log("spacelayout") return <>{children} } diff --git a/website/src/components/sqlMenu/menu.jsx b/website/src/components/sqlMenu/menu.jsx index d19b72db91..4378fc8af4 100644 --- a/website/src/components/sqlMenu/menu.jsx +++ b/website/src/components/sqlMenu/menu.jsx @@ -12,7 +12,13 @@ const MenuLayout = ({ children }) => { //nodes 是文档list的相关信息, 文档的详细路由是 /documents/{name} const data = useStaticQuery(graphql` query MyQuery5 { - allFile(filter: { sourceInstanceName: { eq: "examples" }, extension: { eq: "sql" }, ctime: {} }) { + allFile( + filter: { + sourceInstanceName: { eq: "examples" } + extension: { eq: "sql" } + ctime: {} + } + ) { edges { node { id @@ -32,7 +38,7 @@ const MenuLayout = ({ children }) => { } } `) - + data.deep = 1 return ( {children} diff --git a/website/src/font/iconfont.js b/website/src/font/iconfont.js index 6b6c9a4e0f..134c8ca340 100644 --- a/website/src/font/iconfont.js +++ b/website/src/font/iconfont.js @@ -1 +1 @@ -!function(c){var l,a,h,t,o,i='',s=(s=document.getElementsByTagName("script"))[s.length-1].getAttribute("data-injectcss"),p=function(c,l){l.parentNode.insertBefore(c,l)};if(s&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function d(){o||(o=!0,h())}function e(){try{t.documentElement.doScroll("left")}catch(c){return void setTimeout(e,50)}d()}l=function(){var c,l=document.createElement("div");l.innerHTML=i,i=null,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(c=document.body).firstChild?p(l,c.firstChild):c.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),l()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(h=l,t=c.document,o=!1,e(),t.onreadystatechange=function(){"complete"==t.readyState&&(t.onreadystatechange=null,d())})}(window); \ No newline at end of file +!(function (c) { let l; let a; let h; let t; let o; let i = ''; var s = (s = document.getElementsByTagName('script'))[s.length - 1].getAttribute('data-injectcss'); const p = function (c, l) { l.parentNode.insertBefore(c, l) }; if (s && !c.__iconfont__svg__cssinject__) { c.__iconfont__svg__cssinject__ = !0; try { document.write('') } catch (c) { console && console.log(c) } } function d () { o || (o = !0, h()) } function e () { try { t.documentElement.doScroll('left') } catch (c) { return void setTimeout(e, 50) }d() }l = function () { let c; let l = document.createElement('div'); l.innerHTML = i, i = null, (l = l.getElementsByTagName('svg')[0]) && (l.setAttribute('aria-hidden', 'true'), l.style.position = 'absolute', l.style.width = 0, l.style.height = 0, l.style.overflow = 'hidden', l = l, (c = document.body).firstChild ? p(l, c.firstChild) : c.appendChild(l)) }, document.addEventListener ? ~['complete', 'loaded', 'interactive'].indexOf(document.readyState) ? setTimeout(l, 0) : (a = function () { document.removeEventListener('DOMContentLoaded', a, !1), l() }, document.addEventListener('DOMContentLoaded', a, !1)) : document.attachEvent && (h = l, t = c.document, o = !1, e(), t.onreadystatechange = function () { t.readyState == 'complete' && (t.onreadystatechange = null, d()) }) }(window)) diff --git a/website/src/images/favicon.png b/website/src/images/favicon.png new file mode 100644 index 0000000000..467d5cb4cc Binary files /dev/null and b/website/src/images/favicon.png differ diff --git a/website/src/pages/404.js b/website/src/pages/404.js deleted file mode 100644 index b98b1ba58f..0000000000 --- a/website/src/pages/404.js +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react" - -import Layout from "../components/layout" -import Seo from "../components/seo" - -const NotFoundPage = () => ( - - -

    404: Not Found

    -

    You just hit a route that doesn't exist... the sadness.

    -
    -) - -export default NotFoundPage diff --git a/website/src/pages/blogs.js b/website/src/pages/blogs.js deleted file mode 100644 index 7d532a6214..0000000000 --- a/website/src/pages/blogs.js +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from "react" -import "./blog.scss" -// import AppHeaderWhite from "../components/AppHeaderWhite" -import AppFooter from "../components/AppFooter" -const Blogs = () => { - return ( -
    - {/* */} -
    开发中
    - -
    - ) -} - -export default Blogs diff --git a/website/src/pages/documents/hljs.scss b/website/src/pages/documents/hljs.scss new file mode 100644 index 0000000000..e61f37e720 --- /dev/null +++ b/website/src/pages/documents/hljs.scss @@ -0,0 +1,239 @@ +.dark { + .container-content { + + /*! + Theme: 3024 + Author: Jan T. Sott (http://github.com/idleberg) + License: ~ MIT (or more permissive) [via base16-schemes-source] + Maintainer: @highlightjs/core-team + Version: 2021.09.0 + */ + pre code.hljs { + display: block; + overflow-x: auto; + padding: 1em + } + + code.hljs { + padding: 3px 5px + } + + .hljs { + color: #a5a2a2; + background: #090300 + } + + .hljs ::selection, + .hljs::selection { + background-color: #4a4543; + color: #a5a2a2 + } + + .hljs-comment { + color: #5c5855 + } + + .hljs-tag { + color: #807d7c + } + + .hljs-operator, + .hljs-punctuation, + .hljs-subst { + color: #a5a2a2 + } + + .hljs-operator { + opacity: .7 + } + + .hljs-bullet, + .hljs-deletion, + .hljs-name, + .hljs-selector-tag, + .hljs-template-variable, + .hljs-variable { + color: #db2d20 + } + + .hljs-attr, + .hljs-link, + .hljs-literal, + .hljs-number, + .hljs-symbol, + .hljs-variable.constant_ { + color: #e8bbd0 + } + + .hljs-class .hljs-title, + .hljs-title, + .hljs-title.class_ { + color: #fded02 + } + + .hljs-strong { + font-weight: 700; + color: #fded02 + } + + .hljs-addition, + .hljs-code, + .hljs-string, + .hljs-title.class_.inherited__ { + color: #01a252 + } + + .hljs-built_in, + .hljs-doctag, + .hljs-keyword.hljs-atrule, + .hljs-quote, + .hljs-regexp { + color: #b5e4f4 + } + + .hljs-attribute, + .hljs-function .hljs-title, + .hljs-section, + .hljs-title.function_, + .ruby .hljs-property { + color: #01a0e4 + } + + .diff .hljs-meta, + .hljs-keyword, + .hljs-template-tag, + .hljs-type { + color: #a16a94 + } + + .hljs-emphasis { + color: #a16a94; + font-style: italic + } + + .hljs-meta, + .hljs-meta .hljs-keyword, + .hljs-meta .hljs-string { + color: #cdab53 + } + + .hljs-meta .hljs-keyword, + .hljs-meta-keyword { + font-weight: 700 + } + } +} + +.container-content { + pre code.hljs { + display: block; + overflow-x: auto; + padding: 1em + } + + code.hljs { + padding: 3px 5px + } + + /*! + Theme: GitHub + Description: Light theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-light + Current colors taken from GitHub's CSS +*/ + .hljs { + color: #24292e; + background: #fff + } + + .hljs-doctag, + .hljs-keyword, + .hljs-meta .hljs-keyword, + .hljs-template-tag, + .hljs-template-variable, + .hljs-type, + .hljs-variable.language_ { + color: #d73a49 + } + + .hljs-title, + .hljs-title.class_, + .hljs-title.class_.inherited__, + .hljs-title.function_ { + color: #6f42c1 + } + + .hljs-attr, + .hljs-attribute, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-operator, + .hljs-selector-attr, + .hljs-selector-class, + .hljs-selector-id, + .hljs-variable { + color: #005cc5 + } + + .hljs-meta .hljs-string, + .hljs-regexp, + .hljs-string { + color: #032f62 + } + + .hljs-built_in, + .hljs-symbol { + color: #e36209 + } + + .hljs-code, + .hljs-comment, + .hljs-formula { + color: #6a737d + } + + .hljs-name, + .hljs-quote, + .hljs-selector-pseudo, + .hljs-selector-tag { + color: #22863a + } + + .hljs-subst { + color: #24292e + } + + .hljs-section { + color: #005cc5; + font-weight: 700 + } + + .hljs-bullet { + color: #735c0f + } + + .hljs-emphasis { + color: #24292e; + font-style: italic + } + + .hljs-strong { + color: #24292e; + font-weight: 700 + } + + .hljs-addition { + color: #22863a; + background-color: #f0fff4 + } + + .hljs-deletion { + color: #b31d28; + background-color: #ffeef0 + } +} \ No newline at end of file diff --git a/website/src/pages/documents/index.jsx b/website/src/pages/documents/index.jsx index 556d81e4d5..4614b4f369 100644 --- a/website/src/pages/documents/index.jsx +++ b/website/src/pages/documents/index.jsx @@ -2,11 +2,17 @@ import React from "react" import { graphql, navigate } from "gatsby" import { Skeleton } from "@mantine/core" + + import { buildMenu, getFileArr } from "../../util" + const IndexPage = props => { const menuData = buildMenu(props.data.allFile.edges.map(item => item.node)) const fileList = getFileArr(menuData.children) - if (fileList[0]) navigate(`/documents/${fileList.find(page => page.name === "快速开始").data.id}`) + if (fileList[0] && navigate) + navigate( + `/documents/${fileList.find(page => page.name === "快速开始").data.id}` + ) return } @@ -24,7 +30,13 @@ export const query = graphql` } } } - allFile(filter: { sourceInstanceName: { eq: "docs" }, extension: { eq: "md" }, ctime: {} }) { + allFile( + filter: { + sourceInstanceName: { eq: "docs" } + extension: { eq: "md" } + ctime: {} + } + ) { edges { node { id diff --git a/website/src/pages/documents/index.scss b/website/src/pages/documents/index.scss index 397aca7d37..f349874a5e 100644 --- a/website/src/pages/documents/index.scss +++ b/website/src/pages/documents/index.scss @@ -1,4 +1,12 @@ -.container { +.container-content { + * { + max-width: 100%; + } + + table { + overflow-x: auto; + } + & span.gatsby-resp-image-background-image { .gatsby-resp-image-image { max-width: 90%; @@ -9,16 +17,19 @@ & ul { list-style: none; + & li { list-style-type: none; display: block; margin-bottom: 4px; } } + a { color: #0984e3; max-width: 100vw; } + h1 { display: block; font-size: 2em; @@ -26,6 +37,7 @@ margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; + &:first-child { margin: 0 0 20px 0; } @@ -71,7 +83,7 @@ } pre { - background-color: #eee; + padding: 10px; margin: 20px 0; overflow: auto; @@ -81,7 +93,8 @@ margin: 20px 0; border-collapse: collapse; display: block; - & > tr { + + &>tr { vertical-align: middle; } } @@ -90,13 +103,16 @@ th { border: 0.1px solid #535c68; padding: 12px; + & a { display: block; } + &:nth-child(odd) { background-color: #dfe6e9; } } + td { display: table-cell; vertical-align: inherit; @@ -110,6 +126,7 @@ margin-inline-end: 0px; padding-inline-start: 40px; } + li { list-style-type: disc; } @@ -125,6 +142,7 @@ color: #999; padding: 5px 10px; position: relative; + &::before { content: ""; position: absolute; @@ -136,3 +154,197 @@ } } } + +.dark { + .container-content { + + background-color: #1a1b1e; + + p, + ul, + li { + color: rgb(166, 167, 171); + ; + } + + & span.gatsby-resp-image-background-image { + .gatsby-resp-image-image { + max-width: 90%; + margin: auto; + display: block; + } + } + + & ul { + list-style: none; + + & li { + list-style-type: none; + display: block; + margin-bottom: 4px; + } + } + + a { + color: rgb(166, 167, 171); + ; + max-width: 100vw; + } + + h1 { + display: block; + font-size: 2em; + margin-block-start: 0.67em; + margin-block-end: 0.67em; + margin-inline-start: 0px; + margin-inline-end: 0px; + + &:first-child { + margin: 0 0 20px 0; + } + } + + h2 { + font-size: 25px; + } + + h3 { + display: block; + font-size: 1.17em; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + } + + h4 { + font-size: 16px; + margin-block-start: 1.33em; + margin-block-end: 1.33em; + margin-inline-start: 0px; + margin-inline-end: 0px; + } + + h1, + h2, + h3, + h4, + h5 { + text-transform: capitalize; + font-weight: 550; + color: rgb(166, 167, 171); + ; + } + + h1, + h2 { + color: white + } + + p { + display: block; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + overflow-wrap: break-word; + } + + + table { + margin: 20px 0; + border-collapse: collapse; + display: block; + + &>tr { + vertical-align: middle; + } + } + + td, + th { + border: 0.1px solid #535c68; + padding: 12px; + color: white; + + & a { + display: block; + } + + &:nth-child(odd) { + background-color: #7676771c; + } + + &:nth-child(even) { + background-color: #7676771c; + } + } + + td { + display: table-cell; + vertical-align: inherit; + } + + ul { + display: block; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + padding-inline-start: 40px; + } + + li { + list-style-type: disc; + } + + blockquote p { + display: block; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + padding: 0 20px; + background-color: rgb(42, 42, 42); + color: #ccc; + padding: 5px 10px; + position: relative; + + &::before { + content: ""; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 2px; + background-color: #999; + } + } + + } +} + +.container-content-toc { + + & ul { + list-style: none; + border-left: 1px solid rgb(222, 226, 230); + + & li { + list-style-type: none; + display: block; + margin-bottom: 4px; + + & a { + height: 30px; + display: block; + } + } + } + + a { + color: rgb(73, 80, 87); + max-width: 100vw; + + } +} \ No newline at end of file diff --git a/website/src/pages/documents/{MarkdownRemark.parent__(File)__id}.jsx b/website/src/pages/documents/{MarkdownRemark.parent__(File)__id}.jsx index feff82e29b..978471d526 100644 --- a/website/src/pages/documents/{MarkdownRemark.parent__(File)__id}.jsx +++ b/website/src/pages/documents/{MarkdownRemark.parent__(File)__id}.jsx @@ -1,16 +1,20 @@ import React from "react" import { graphql, navigate } from "gatsby" import { buildMenu, getFileArr } from "../../util" -import { Left, Right } from "@icon-park/react" import "./index.scss" - +import "./hljs.scss" +import { useLocation } from "@reach/router" +import { useSpring, animated } from "react-spring" +import { MenuUnfoldOutlined } from "@ant-design/icons" +import { BsArrowLeft, BsArrowRight } from "react-icons/bs" +import hljs from "highlight.js" const BlogPost = props => { const menuData = buildMenu(props.data.allFile.edges.map(item => item.node)) const fileList = getFileArr(menuData.children) const html = props.data.markdownRemark.html - const tableOfContents = props.data.markdownRemark.tableOfContents - - const location = window.location.pathname.split("/").pop() + const tableOfContents = props.data.markdownRemark.tableOfContents.replace(new RegExp(" item.data.id).indexOf(location) const [preName, setPre] = React.useState("(无)") @@ -24,6 +28,10 @@ const BlogPost = props => { setNext(fileList[fileIndex + 1].name) } }, []) + React.useLayoutEffect(() => { + if (window) window.scrollTo(0, 0) + hljs.highlightAll() + }, []) function goPre() { if (fileIndex === 0) return @@ -46,32 +54,41 @@ const BlogPost = props => { }, }) } + const aprops = useSpring({ + to: { opacity: 1, left: 0 }, + from: { opacity: 0, left: 100 }, + }) return ( -
    -
    -
    - -
    -
    - - -
    -
    + <> + +
    + +
    + + +
    + + + + ) } diff --git a/website/src/pages/download.js b/website/src/pages/download.js deleted file mode 100644 index 48a88f19b4..0000000000 --- a/website/src/pages/download.js +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from "react" -import "./blog.scss" -// import AppHeaderWhite from "../components/AppHeaderWhite" -import AppFooter from "../components/AppFooter" -const DlownLoad = () => { - return ( -
    - {/* */} -
    开发中
    - -
    - ) -} - -export default DlownLoad diff --git a/website/src/pages/examples/json/index.jsx b/website/src/pages/examples/json/index.jsx index d19903f68b..69e42935db 100644 --- a/website/src/pages/examples/json/index.jsx +++ b/website/src/pages/examples/json/index.jsx @@ -6,7 +6,7 @@ import { Skeleton } from "@mantine/core" const IndexPage = props => { const menuData = buildMenu(props.data.allFile.edges.map(item => item.node)) const fileList = getFileArr(menuData.children) - if (fileList[0]) navigate(`/examples/json/${fileList[0].data.id}`) + if (fileList[0] && navigate ) navigate(`/examples/json/${fileList[0].data.id}`) return } diff --git a/website/src/pages/examples/json/{jsonContent.parent__(File)__id}.jsx b/website/src/pages/examples/json/{jsonContent.parent__(File)__id}.jsx index 8b27f03ed9..fd09a40c93 100644 --- a/website/src/pages/examples/json/{jsonContent.parent__(File)__id}.jsx +++ b/website/src/pages/examples/json/{jsonContent.parent__(File)__id}.jsx @@ -1,17 +1,54 @@ import React from "react" import { graphql } from "gatsby" -import ReactJson from "react-json-view" - +import { JSONTree } from "react-json-tree" +import { useSpring, animated } from "react-spring" +import { useContext } from "react" +import { ModeContext } from "../../../components/Context" const BlogPost = props => { let json = {} try { json = JSON.parse(props.data.jsonContent.content) - } catch {} - + } catch { } + const theme = { + scheme: "monokai", + author: "wimer hazenberg (http://www.monokai.nl)", + base00: "#272822", + base01: "#383830", + base02: "#49483e", + base03: "#75715e", + base04: "#a59f85", + base05: "#f8f8f2", + base06: "#f5f4f1", + base07: "#f9f8f5", + base08: "#f92672", + base09: "#fd971f", + base0A: "#f4bf75", + base0B: "#a6e22e", + base0C: "#a1efe4", + base0D: "#66d9ef", + base0E: "#ae81ff", + base0F: "#cc6633", + } + const aprops = useSpring({ + to: { opacity: 1, left: 0 }, + from: { opacity: 0, left: 100 }, + }) + const { mode } = useContext(ModeContext) return ( -
    - -
    + + {raw}} + labelRenderer={([key]) => {key}} + shouldExpandNode={() => true} + hideRoot={() => true} + theme={theme} + data={json} + invertTheme={mode !== "dark"} + /> + ) } diff --git a/website/src/pages/examples/sql/index.jsx b/website/src/pages/examples/sql/index.jsx index ea3f10c8dc..65dfb17863 100644 --- a/website/src/pages/examples/sql/index.jsx +++ b/website/src/pages/examples/sql/index.jsx @@ -6,7 +6,7 @@ import { Skeleton } from "@mantine/core" const IndexPage = props => { const menuData = buildMenu(props.data.allFile.edges.map(item => item.node)) const fileList = getFileArr(menuData.children) - if (fileList[0]) navigate(`/examples/sql/${fileList[0].data.id}`) + if (fileList[0] && navigate) navigate(`/examples/sql/${fileList[0].data.id}`) return } @@ -16,7 +16,13 @@ export const query = graphql` id content } - allFile(filter: { sourceInstanceName: { eq: "examples" }, extension: { eq: "sql" }, ctime: {} }) { + allFile( + filter: { + sourceInstanceName: { eq: "examples" } + extension: { eq: "sql" } + ctime: {} + } + ) { edges { node { id diff --git a/website/src/pages/examples/sql/index.scss b/website/src/pages/examples/sql/index.scss index 01e4232779..4941adc6b9 100644 --- a/website/src/pages/examples/sql/index.scss +++ b/website/src/pages/examples/sql/index.scss @@ -1,7 +1,6 @@ .hljs-keyword { color: rgb(193, 120, 218); } - .hljs-type { color: rgb(193, 120, 218); } @@ -30,3 +29,7 @@ } } } + +#text { + color: #333; +} diff --git a/website/src/pages/examples/sql/{jsonContent.parent__(File)__id}.jsx b/website/src/pages/examples/sql/{jsonContent.parent__(File)__id}.jsx index 0ff18d1896..8a400e57b6 100644 --- a/website/src/pages/examples/sql/{jsonContent.parent__(File)__id}.jsx +++ b/website/src/pages/examples/sql/{jsonContent.parent__(File)__id}.jsx @@ -2,19 +2,25 @@ import React from "react" import { graphql } from "gatsby" import Highlight from "react-highlight" import "./index.scss" - +import { useSpring, animated } from "react-spring" const BlogPost = props => { let sql = "" try { sql = props.data.jsonContent.content - } catch {} - + } catch { } + const aprops = useSpring({ + to: { opacity: 1, left: 0 }, + from: { opacity: 0, left: 100 }, + }) return ( -
    + {sql} -
    + ) } diff --git a/website/src/pages/index.js b/website/src/pages/index.js index e05ca8d667..b36985243e 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -4,17 +4,24 @@ import AppBanner from "../components/AppBannner" import AppFooter from "../components/AppFooter" import AppCards from "../components/AppCards" import AppMedium from "../components/AppMedium" -// import AppShowcase from "../components/AppShowcase" +import AppShowCase from "../components/AppShowCase" import Seo from "../components/seo" import "aos/dist/aos.css" +import AppCustomers from "../components/AppCustomers" const IndexPage = () => ( <> - - - - - +
    + + + + + + + + + +
    ) diff --git a/website/src/pages/page-2.js b/website/src/pages/page-2.js deleted file mode 100644 index 74b96e08c0..0000000000 --- a/website/src/pages/page-2.js +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react" -import { Link } from "gatsby" - -import Layout from "../components/layout" -import Seo from "../components/seo" - -const SecondPage = () => ( - - -

    Hi from the second page

    -

    Welcome to page 2

    - Go back to the homepage -
    -) - -export default SecondPage diff --git a/website/src/pages/roadmap.js b/website/src/pages/roadmap.js index b1abd7c922..c4df612eea 100644 --- a/website/src/pages/roadmap.js +++ b/website/src/pages/roadmap.js @@ -1,7 +1,7 @@ -import * as React from "react" -import "./blog.scss" +import * as React from 'react' +import './blog.scss' // import AppHeaderWhite from "../components/AppHeaderWhite" -import AppFooter from "../components/AppFooter" +import AppFooter from '../components/AppFooter' const RoadMap = () => { return (
    diff --git a/website/src/pages/using-ssr.js b/website/src/pages/using-ssr.js deleted file mode 100644 index 6bbcff16ee..0000000000 --- a/website/src/pages/using-ssr.js +++ /dev/null @@ -1,54 +0,0 @@ -import * as React from "react" -import { Link } from "gatsby" - -import Layout from "../components/layout" -import Seo from "../components/seo" - -const UsingSSR = ({ serverData }) => { - return ( - - -

    - This page is rendered server-side -

    -

    - This page is rendered server side every time the page is requested. - Reload it to see a(nother) random photo from{" "} - dog.ceo/api/breed/shiba/images/random: -

    - A random dog -

    - To learn more, head over to our{" "} - - documentation about Server Side Rendering - - . -

    - Go back to the homepage -
    - ) -} - -export default UsingSSR - -export async function getServerData() { - try { - const res = await fetch(`https://dog.ceo/api/breed/shiba/images/random`) - if (!res.ok) { - throw new Error(`Response failed`) - } - return { - props: await res.json(), - } - } catch (error) { - return { - status: 500, - headers: {}, - props: {}, - } - } -} diff --git a/website/src/pages/using-typescript.tsx b/website/src/pages/using-typescript.tsx deleted file mode 100644 index 8018c1c905..0000000000 --- a/website/src/pages/using-typescript.tsx +++ /dev/null @@ -1,55 +0,0 @@ -// If you don't want to use TypeScript you can delete this file! -import * as React from "react" -import { PageProps, Link, graphql } from "gatsby" - -import Layout from "../components/layout" -import Seo from "../components/seo" - -type DataProps = { - site: { - buildTime: string - } -} - -const UsingTypescript: React.FC> = ({ - data, - location, -}) => ( - - -

    - Gatsby supports TypeScript by default -

    -

    - This means that you can create and write .ts/.tsx files for - your pages, components, and gatsby-* configuration files (for - example gatsby-config.ts). -

    -

    - For type checking you'll want to install typescript via npm - and run tsc --init to create a tsconfig file. -

    -

    - You're currently on the page {location.pathname} which was - built on {data.site.buildTime}. -

    -

    - To learn more, head over to our{" "} - - documentation about TypeScript - - . -

    - Go back to the homepage -
    -) - -export default UsingTypescript - -export const query = graphql` - { - site { - buildTime(formatString: "YYYY-MM-DD hh:mm a z") - } - } -` diff --git a/website/src/styles/global.css b/website/src/styles/global.css index cae8e9e280..ea08c8efc0 100644 --- a/website/src/styles/global.css +++ b/website/src/styles/global.css @@ -42,7 +42,7 @@ outline: none; position: relative; padding: 12px 45px; - border-radius: 100px; + border-radius: 10px; text-transform: capitalize; border: 0; cursor: pointer; @@ -56,7 +56,7 @@ content: ""; position: absolute; z-index: -1; - border-radius: 100px; + border-radius: 10px; width: 100%; height: 100%; left: 0; @@ -138,15 +138,16 @@ .flex-padding { @apply lg:px-[180px] md:px-[60px] px-[20px]; } + .footer-link { - @apply text-gray-500 inline-block text-base hover:text-indigo-600; + @apply text-gray-500 inline-block text-base hover:text-indigo-600 dark:text-[#797a7d]; } .active { @apply bg-gray-50 text-indigo-600 font-medium rounded-sm; } .card { - @apply lg:w-1/3 md:w-1/2 w-4/5; + @apply lg:w-1/5 md:w-1/4 w-2/5; } .card-text { diff --git a/website/src/styles/img/cube.svg b/website/src/styles/img/cube.svg new file mode 100644 index 0000000000..01c753b0b8 --- /dev/null +++ b/website/src/styles/img/cube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/styles/img/radar.svg b/website/src/styles/img/radar.svg new file mode 100644 index 0000000000..6c0a0b152a --- /dev/null +++ b/website/src/styles/img/radar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/styles/img/wave.svg b/website/src/styles/img/wave.svg new file mode 100644 index 0000000000..f38aa3263a --- /dev/null +++ b/website/src/styles/img/wave.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/styles/img/wave2.svg b/website/src/styles/img/wave2.svg new file mode 100644 index 0000000000..caf2e5bd0a --- /dev/null +++ b/website/src/styles/img/wave2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/styles/normal.css b/website/src/styles/normal.css new file mode 100644 index 0000000000..c45a85f898 --- /dev/null +++ b/website/src/styles/normal.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type="button"], + [type="reset"], + [type="submit"] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } \ No newline at end of file diff --git a/website/src/templates/using-dsg.js b/website/src/templates/using-dsg.js index f2306afec4..0e36715efd 100644 --- a/website/src/templates/using-dsg.js +++ b/website/src/templates/using-dsg.js @@ -1,8 +1,8 @@ -import * as React from "react" -import { Link } from "gatsby" +import * as React from 'react' +import { Link } from 'gatsby' -import Layout from "../components/layout" -import Seo from "../components/seo" +import Layout from '../components/layout' +import Seo from '../components/seo' const UsingDSG = () => ( @@ -12,7 +12,7 @@ const UsingDSG = () => (

This page is not created until requested by a user.

- To learn more, head over to our{" "} + To learn more, head over to our{' '} documentation about Deferred Static Generation diff --git a/website/src/util/index.js b/website/src/util/index.js index 37e87693da..8696f36e21 100644 --- a/website/src/util/index.js +++ b/website/src/util/index.js @@ -1,26 +1,26 @@ export const headerList = [ { - name: "首页", - path: "/", + name: '首页', + path: '/' }, { - name: "文档", - path: "/documents", - key: "documents", + name: '文档', + path: '/documents', + key: 'documents' }, { - name: "案例", + name: '案例', path: [ { - name: "sql", - link: "/examples/sql", + name: 'sql', + link: '/examples/sql' }, { - name: "json", - link: "/examples/json", - }, + name: 'json', + link: '/examples/json' + } ], - key: "examples", + key: 'examples' }, // { // name: "博客", @@ -28,11 +28,25 @@ export const headerList = [ // key: "blogs", // }, { - name: "下载", + name: '下载', path: null, - url: "https://github.com/DTStack/chunjun/releases", - key: "download", - }, + url: 'https://github.com/DTStack/chunjun/releases', + key: 'download' + } + // { + // name: '主题', + // path: '//', + // renderIcon: ({ mode }) => { + // return ( + // <> + // + // {mode === 'dark' ? : } + // + // + // ) + // }, + // clickfn: 'themeToggle' + // } // { // name: "Roadmap", // path: "/roadmap", @@ -40,43 +54,43 @@ export const headerList = [ // }, ] -export function buildMenu(nodes) { +export function buildMenu (nodes) { let id = 1 const root = { children: [] } - function linkToRoot(structrue, node) { + function linkToRoot (structrue, node) { let rootRef = root for (let i = 0; i < structrue.length - 1; i++) { - let dirname = structrue[i] + const dirname = structrue[i] let nextRef = rootRef.children.find(item => item.name === dirname) if (!nextRef) { nextRef = { - type: "dir", + type: 'dir', name: dirname, id: id++, children: [], - parent: rootRef, + parent: rootRef } rootRef.children.push(nextRef) } rootRef = nextRef } rootRef.children.push({ - type: "file", + type: 'file', name: node.name, data: node, - parent: rootRef, + parent: rootRef }) } for (let i = 0; i < nodes.length; i++) { - let node = nodes[i] - let structrue = node.relativePath.split("/") + const node = nodes[i] + const structrue = node.relativePath.split('/') if (structrue.length === 1) { root.children.push({ - type: "file", + type: 'file', name: node.name, data: node, - parent: root, + parent: root }) } else { linkToRoot(structrue, node) @@ -86,12 +100,12 @@ export function buildMenu(nodes) { return root } -export function getFileArr(list) { +export function getFileArr (list) { const res = [] travel(list) - function travel(list) { + function travel (list) { list.forEach(item => { - if (item.type === "file") { + if (item.type === 'file') { res.push(item) } else { travel(item.children || []) diff --git a/website/tailwind.config.js b/website/tailwind.config.js index 1c07e1af2d..31100a71e7 100644 --- a/website/tailwind.config.js +++ b/website/tailwind.config.js @@ -1,11 +1,15 @@ module.exports = { content: ["./src/**/*.{jsx,ts,tsx}"], + darkMode: "class", theme: { extend: { backgroundImage: { "hero-pattern": "url('./img/bg.png')", block: "url('./img/block2x.png')", block2: "url('./img/block2@2x.png')", + wave: "url(./img/wave2.svg)", + radar: "url(./img/radar.svg)", + cube: "url(./img/cube.svg)", }, }, }, diff --git a/website/yarn.lock b/website/yarn.lock index 7e01b13fec..9fe6468951 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -1048,13 +1048,20 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.3.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.3.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.18.3" resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.16.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" + integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.npmmirror.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1225,6 +1232,21 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^1.3.0": + version "1.3.0" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" + integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.3.2" + globals "^13.15.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + "@gatsbyjs/parcel-namer-relative-to-cwd@^1.2.0": version "1.2.0" resolved "https://registry.npmmirror.com/@gatsbyjs/parcel-namer-relative-to-cwd/-/parcel-namer-relative-to-cwd-1.2.0.tgz#3ebc0e5bbe90e7a897d5427c2b67ffe26730228f" @@ -1621,7 +1643,16 @@ debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.0": +"@humanwhocodes/config-array@^0.9.2": + version "0.9.5" + resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" + integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -2046,6 +2077,32 @@ csstype "3.0.9" html-react-parser "1.3.0" +"@mantine/ssr@^4.2.11": + version "4.2.12" + resolved "https://registry.npmmirror.com/@mantine/ssr/-/ssr-4.2.12.tgz#86e86243f7c3e010ad4ae0a2f0f6ce6f7154434a" + integrity sha512-PhM+nYzKs7ooPgMyJGPrdE0KaBB1T72yln3K/3ydkJBAMb/gl08Gm8gpzInzfn2kB7bdRVNwuF0i8Ba0pDbvJg== + dependencies: + "@emotion/cache" "11.7.1" + "@emotion/react" "11.7.1" + "@emotion/serialize" "1.0.2" + "@emotion/server" "11.4.0" + "@emotion/utils" "1.0.0" + "@mantine/styles" "4.2.12" + csstype "3.0.9" + html-react-parser "1.3.0" + +"@mantine/styles@4.2.12": + version "4.2.12" + resolved "https://registry.npmmirror.com/@mantine/styles/-/styles-4.2.12.tgz#298ceb87114928916fb69e14efd99958379adf4f" + integrity sha512-9q1DzW0UNW/ORMGLHfN2XABOSEm0ZQebhNlLD757R6OQouoLuUf9elUwgGOXSyogMlsAYoy84XbJ3ZbbTm4YCA== + dependencies: + "@emotion/cache" "11.7.1" + "@emotion/react" "11.7.1" + "@emotion/serialize" "1.0.2" + "@emotion/utils" "1.0.0" + clsx "^1.1.1" + csstype "3.0.9" + "@mantine/styles@4.2.9": version "4.2.9" resolved "https://registry.npmmirror.com/@mantine/styles/-/styles-4.2.9.tgz#97fbc96be5ea970218aab0ad62a8f7c736bc6225" @@ -2123,6 +2180,77 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@octokit/auth-token@^3.0.0": + version "3.0.0" + resolved "https://registry.npmmirror.com/@octokit/auth-token/-/auth-token-3.0.0.tgz#6f22c5fc56445c496628488ba6810131558fa4a9" + integrity sha512-MDNFUBcJIptB9At7HiV7VCvU3NcL4GnfCQaP8C5lrxWrRPMJBnemYtehaKSOlaM7AYxeRyj9etenu8LVpSpVaQ== + dependencies: + "@octokit/types" "^6.0.3" + +"@octokit/core@^4.0.4": + version "4.0.4" + resolved "https://registry.npmmirror.com/@octokit/core/-/core-4.0.4.tgz#335d9b377691e3264ce57a9e5a1f6cda783e5838" + integrity sha512-sUpR/hc4Gc7K34o60bWC7WUH6Q7T6ftZ2dUmepSyJr9PRF76/qqkWjE2SOEzCqLA5W83SaISymwKtxks+96hPQ== + dependencies: + "@octokit/auth-token" "^3.0.0" + "@octokit/graphql" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/@octokit/endpoint/-/endpoint-7.0.0.tgz#be758a1236d68d6bbb505e686dd50881c327a519" + integrity sha512-Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ== + dependencies: + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^5.0.0": + version "5.0.0" + resolved "https://registry.npmmirror.com/@octokit/graphql/-/graphql-5.0.0.tgz#2cc6eb3bf8e0278656df1a7d0ca0d7591599e3b3" + integrity sha512-1ZZ8tX4lUEcLPvHagfIVu5S2xpHYXAmgN0+95eAOPoaVPzCfUXJtA5vASafcpWcO86ze0Pzn30TAx72aB2aguQ== + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^12.7.0": + version "12.8.0" + resolved "https://registry.npmmirror.com/@octokit/openapi-types/-/openapi-types-12.8.0.tgz#f4708cf948724d6e8f7d878cfd91584c1c5c0523" + integrity sha512-ydcKLs2KKcxlhpdWLzJxEBDEk/U5MUeqtqkXlrtAUXXFPs6vLl1PEGghFC/BbpleosB7iXs0Z4P2DGe7ZT5ZNg== + +"@octokit/request-error@^3.0.0": + version "3.0.0" + resolved "https://registry.npmmirror.com/@octokit/request-error/-/request-error-3.0.0.tgz#f527d178f115a3b62d76ce4804dd5bdbc0270a81" + integrity sha512-WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w== + dependencies: + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^6.0.0": + version "6.1.0" + resolved "https://registry.npmmirror.com/@octokit/request/-/request-6.1.0.tgz#80bdac78dff583a8fa0978baeda139a71d98d10c" + integrity sha512-36V+sP4bJli31TRq8sea3d/Q1XGgZ9cnqpsegkLCnvpu+hoYephSkxGlWg4KB6dyUM1IWPXVrLFOKYzObQ+MZg== + dependencies: + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1": + version "6.39.0" + resolved "https://registry.npmmirror.com/@octokit/types/-/types-6.39.0.tgz#46ce28ca59a3d4bac0e487015949008302e78eee" + integrity sha512-Mq4N9sOAYCitTsBtDdRVrBE80lIrMBhL9Jbrw0d+j96BAzlq4V+GLHFJbHokEsVvO/9tQupQdoFdgVYhD2C8UQ== + dependencies: + "@octokit/openapi-types" "^12.7.0" + "@parcel/bundler-default@2.6.0": version "2.6.0" resolved "https://registry.npmmirror.com/@parcel/bundler-default/-/bundler-default-2.6.0.tgz#3b091d2f6ebdb333558fc25c1fb98e28b854ace3" @@ -2573,6 +2701,92 @@ dependencies: "@babel/runtime" "^7.13.10" +"@react-spring/animated@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/animated/-/animated-9.4.5.tgz#dd9921c716a4f4a3ed29491e0c0c9f8ca0eb1a54" + integrity sha512-KWqrtvJSMx6Fj9nMJkhTwM9r6LIriExDRV6YHZV9HKQsaolUFppgkOXpC+rsL1JEtEvKv6EkLLmSqHTnuYjiIA== + dependencies: + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/core@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/core/-/core-9.4.5.tgz#4616e1adc18dd10f5731f100ebdbe9518b89ba3c" + integrity sha512-83u3FzfQmGMJFwZLAJSwF24/ZJctwUkWtyPD7KYtNagrFeQKUH1I05ZuhmCmqW+2w1KDW1SFWQ43RawqfXKiiQ== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/rafz" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/konva@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/konva/-/konva-9.4.5.tgz#28e6f6e0dfb7f7a93c6ba4f91295f3f7d5557f06" + integrity sha512-b3wTs7YT5102+Gs488r2JCNBoyZQd+SWg35AdxmiI6FARBFvBjIA0z7VJx8ILAlmTVBows5UwiDWvk2vmWmLLw== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/core" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/native@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/native/-/native-9.4.5.tgz#c8ec950cae02eb28a0246b912df844f526aab64c" + integrity sha512-11GcqFZfIhOOVQI25FcDLdeJLOSVOgIh2AF6WMXpCNWguhIv6N33zLL8d4cYfhYhsLOVXprU/8uefNorj7/h3g== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/core" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/rafz@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/rafz/-/rafz-9.4.5.tgz#84f809f287f2a66bbfbc66195db340482f886bd7" + integrity sha512-swGsutMwvnoyTRxvqhfJBtGM8Ipx6ks0RkIpNX9F/U7XmyPvBMGd3GgX/mqxZUpdlsuI1zr/jiYw+GXZxAlLcQ== + +"@react-spring/shared@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/shared/-/shared-9.4.5.tgz#4c3ad817bca547984fb1539204d752a412a6d829" + integrity sha512-JhMh3nFKsqyag0KM5IIM8BQANGscTdd0mMv3BXsUiMZrcjQTskyfnv5qxEeGWbJGGar52qr5kHuBHtCjQOzniA== + dependencies: + "@react-spring/rafz" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/three@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/three/-/three-9.4.5.tgz#bd5b7844fde3338b05920654d81f127a5760f057" + integrity sha512-mArxfIhg9kyFL/8Y09TarS/ZKLd/qAWS4T3Ro/B46ILPfPnoPywDdw9/rknZihy/tslnviCgMrB4pZ29X1Dfxw== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/core" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/types@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/types/-/types-9.4.5.tgz#9c71e5ff866b5484a7ef3db822bf6c10e77bdd8c" + integrity sha512-mpRIamoHwql0ogxEUh9yr4TP0xU5CWyZxVQeccGkHHF8kPMErtDXJlxyo0lj+telRF35XNihtPTWoflqtyARmg== + +"@react-spring/web@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/web/-/web-9.4.5.tgz#b92f05b87cdc0963a59ee149e677dcaff09f680e" + integrity sha512-NGAkOtKmOzDEctL7MzRlQGv24sRce++0xAY7KlcxmeVkR7LRSGkoXHaIfm9ObzxPMcPHQYQhf3+X9jepIFNHQA== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/core" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + +"@react-spring/zdog@~9.4.5": + version "9.4.5" + resolved "https://registry.npmmirror.com/@react-spring/zdog/-/zdog-9.4.5.tgz#66e35db08f93a0ef949f1fa1303513157c450f91" + integrity sha512-STrePM34ZK1T3oK8mo71pvKxvIzELJTpVi0U0qDh0s15e9rmN6XYkd406LqFtuchhmLoy24lD4ds7LAqhIEraw== + dependencies: + "@react-spring/animated" "~9.4.5" + "@react-spring/core" "~9.4.5" + "@react-spring/shared" "~9.4.5" + "@react-spring/types" "~9.4.5" + "@sideway/address@^4.1.3": version "4.1.4" resolved "https://registry.npmmirror.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" @@ -2659,6 +2873,11 @@ resolved "https://registry.npmmirror.com/@turist/time/-/time-0.0.2.tgz#32fe0ce708ea0f4512776bd313409f1459976dda" integrity sha512-qLOvfmlG2vCVw5fo/oz8WAZYlpe5a5OurgTj3diIxJCdjRHpapC+vQCz3er9LV79Vcat+DifBjeAhOAdmndtDQ== +"@types/base16@^1.0.2": + version "1.0.2" + resolved "https://registry.npmmirror.com/@types/base16/-/base16-1.0.2.tgz#eb3a07db52309bfefb9ba010dfdb3c0784971f65" + integrity sha512-oYO/U4VD1DavwrKuCSQWdLG+5K22SLPem2OQaHmFcQuwHoVeGC+JGVRji2MUqZUAIQZHEonOeVfAX09hYiLsdg== + "@types/cacheable-request@^6.0.1": version "6.0.2" resolved "https://registry.npmmirror.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" @@ -2790,7 +3009,7 @@ dependencies: "@types/node" "*" -"@types/lodash@^4.14.92": +"@types/lodash@^4.14.178", "@types/lodash@^4.14.182", "@types/lodash@^4.14.92": version "4.14.182" resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== @@ -2857,7 +3076,7 @@ resolved "https://registry.npmmirror.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== -"@types/prop-types@*": +"@types/prop-types@*", "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== @@ -3163,12 +3382,17 @@ accepts@^1.3.7, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" +accessible-nprogress@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/accessible-nprogress/-/accessible-nprogress-2.1.2.tgz#8e65ebf4936db1752638e1cd2e8730f9bef311e9" + integrity sha512-reIwMbbt+ZGOmQLWPXGcPf5X1F4fzsZAekY9alCxpekxizRhQMAd/QInaA8k7WtwTcGMzD9hnYswGLcaJDRY/A== + acorn-import-assertions@^1.7.6: version "1.8.0" resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3192,7 +3416,7 @@ acorn@^7.0.0, acorn@^7.4.0: resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0: +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: version "8.7.1" resolved "https://registry.npmmirror.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== @@ -3318,15 +3542,15 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -antd@^4.21.0: - version "4.21.2" - resolved "https://registry.npmmirror.com/antd/-/antd-4.21.2.tgz#07cf60b3100cca0484ed2eee3f7068785d670a20" - integrity sha512-DmxCMoA0IQKdeLVdHZjrHlsiXGDGHBvN62Y/+S0PfMrcQo7HW4Ps7RxVayobsCMovbrhX3Fx+u1/ES292me5WQ== +antd@^4.21.5: + version "4.21.5" + resolved "https://registry.npmmirror.com/antd/-/antd-4.21.5.tgz#32a6c604b9153f6fe69d3d5aa154de0da00165a4" + integrity sha512-S6L29rmbiQvE4/kn1hPBscHFZ405Pbtuw3DCpXVnMt409JtY6sDaUbUcWfl4i21XkABEogKzqxjYVGogf1QIWQ== dependencies: "@ant-design/colors" "^6.0.0" "@ant-design/icons" "^4.7.0" "@ant-design/react-slick" "~0.29.1" - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.18.3" "@ctrl/tinycolor" "^3.4.0" classnames "^2.2.6" copy-to-clipboard "^3.2.0" @@ -3365,7 +3589,7 @@ antd@^4.21.0: rc-tree-select "~5.4.0" rc-trigger "^5.2.10" rc-upload "~4.3.0" - rc-util "^5.20.0" + rc-util "^5.22.5" scroll-into-view-if-needed "^2.2.25" any-base@^1.1.0: @@ -3435,6 +3659,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + aria-query@^4.2.2: version "4.2.2" resolved "https://registry.npmmirror.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" @@ -3474,11 +3703,23 @@ array-tree-filter@^2.1.0: resolved "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmmirror.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + array.prototype.flat@^1.2.5: version "1.3.0" resolved "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" @@ -3565,15 +3806,22 @@ async-retry-ng@^2.0.1: integrity sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw== async-validator@^4.1.0: - version "4.1.1" - resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.1.1.tgz#3cd1437faa2de64743f7d56649dd904c946a18fe" - integrity sha512-p4DO/JXwjs8klJyJL8Q2oM4ks5fUTze/h5k10oPPKMiLe1fj3G1QMzPHNmN1Py4ycOk7WlO2DcGXv1qiESJCZA== + version "4.2.5" + resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== async@1.5.2: version "1.5.2" resolved "https://registry.npmmirror.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== +async@^2.6.1: + version "2.6.4" + resolved "https://registry.npmmirror.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + async@^3.2.3: version "3.2.4" resolved "https://registry.npmmirror.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -3633,6 +3881,14 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.npmmirror.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -3863,6 +4119,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +before-after-hook@^2.2.0: + version "2.2.2" + resolved "https://registry.npmmirror.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== + better-opn@^2.1.1: version "2.1.1" resolved "https://registry.npmmirror.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" @@ -4006,6 +4267,13 @@ buffer@^5.2.0, buffer@^5.5.0, buffer@^5.7.0: base64-js "^1.3.1" ieee754 "^1.1.13" +builtins@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + busboy@^0.2.11: version "0.2.14" resolved "https://registry.npmmirror.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" @@ -4393,7 +4661,7 @@ code-point-at@^1.0.0: resolved "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -4417,7 +4685,7 @@ color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.9.0: +color-string@^1.6.0, color-string@^1.9.0: version "1.9.1" resolved "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== @@ -4425,6 +4693,14 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" +color@^3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + color@^4.2.3: version "4.2.3" resolved "https://registry.npmmirror.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" @@ -4460,7 +4736,7 @@ command-exists@^1.2.4: resolved "https://registry.npmmirror.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@^2.20.0, commander@^2.20.3: +commander@^2.18.0, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4957,7 +5233,7 @@ csstype@3.0.9: resolved "https://registry.npmmirror.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== -csstype@^3.0.2: +csstype@^3.0.10, csstype@^3.0.2: version "3.1.0" resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== @@ -5011,7 +5287,7 @@ debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1: +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1: version "4.3.4" resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -5118,6 +5394,11 @@ dependency-graph@^0.11.0: resolved "https://registry.npmmirror.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + destroy@1.2.0: version "1.2.0" resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -5243,6 +5524,14 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@0: version "0.2.2" resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -5403,6 +5692,11 @@ electron-to-chromium@^1.4.147: resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.156.tgz#fc398e1bfbe586135351ebfaf198473a82923af5" integrity sha512-/Wj5NC7E0wHaMCdqxWz9B0lv7CcycDTiHyXCtbbu3pXM9TV2AOp8BtMqkVuqvJNdEvltBG6LxT2Q+BxY4LUCIA== +email-addresses@^3.0.1: + version "3.1.0" + resolved "https://registry.npmmirror.com/email-addresses/-/email-addresses-3.1.0.tgz#cabf7e085cbdb63008a70319a74e6136188812fb" + integrity sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -5663,6 +5957,11 @@ eslint-config-react-app@^6.0.0: dependencies: confusing-browser-globals "^1.0.10" +eslint-config-standard@^17.0.0: + version "17.0.0" + resolved "https://registry.npmmirror.com/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz#fd5b6cf1dcf6ba8d29f200c461de2e19069888cf" + integrity sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg== + eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" @@ -5679,6 +5978,14 @@ eslint-module-utils@^2.7.3: debug "^3.2.7" find-up "^2.1.0" +eslint-plugin-es@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" + integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + eslint-plugin-flowtype@^5.10.0: version "5.10.0" resolved "https://registry.npmmirror.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz#7764cc63940f215bf3f0bd2d9a1293b2b9b2b4bb" @@ -5697,7 +6004,7 @@ eslint-plugin-graphql@^4.0.0: lodash.flatten "^4.4.0" lodash.without "^4.4.0" -eslint-plugin-import@^2.26.0: +eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.26.0: version "2.26.0" resolved "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== @@ -5734,6 +6041,25 @@ eslint-plugin-jsx-a11y@^6.5.1: language-tags "^1.0.5" minimatch "^3.0.4" +eslint-plugin-n@^15.0.0: + version "15.2.4" + resolved "https://registry.npmmirror.com/eslint-plugin-n/-/eslint-plugin-n-15.2.4.tgz#d62021a0821ae650701ed459756aaf478a9b6056" + integrity sha512-tjnVMv2fiXYMnuiIFI8QMtyUFI42SckEEWvi8h68SWGWshfqO6SSCASy24dGMGAiy7NUk6DZt90DM0iNUsmQ5w== + dependencies: + builtins "^5.0.1" + eslint-plugin-es "^4.1.0" + eslint-utils "^3.0.0" + ignore "^5.1.1" + is-core-module "^2.9.0" + minimatch "^3.1.2" + resolve "^1.10.1" + semver "^7.3.7" + +eslint-plugin-promise@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz#017652c07c9816413a41e11c30adc42c3d55ff18" + integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw== + eslint-plugin-react-hooks@^4.5.0: version "4.6.0" resolved "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" @@ -5759,6 +6085,26 @@ eslint-plugin-react@^7.29.4: semver "^6.3.0" string.prototype.matchall "^4.0.7" +eslint-plugin-react@^7.30.1: + version "7.30.1" + resolved "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22" + integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg== + dependencies: + array-includes "^3.1.5" + array.prototype.flatmap "^1.3.0" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.1" + object.values "^1.1.5" + prop-types "^15.8.1" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.7" + eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -5767,7 +6113,15 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.1.0: +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== @@ -5791,6 +6145,11 @@ eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + eslint-webpack-plugin@^2.6.0: version "2.6.0" resolved "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.6.0.tgz#3bd4ada4e539cb1f6687d2f619073dbb509361cd" @@ -5849,6 +6208,47 @@ eslint@^7.32.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^8.0.1: + version "8.19.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-8.19.0.tgz#7342a3cbc4fbc5c106a1eefe0fd0b50b6b1a7d28" + integrity sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw== + dependencies: + "@eslint/eslintrc" "^1.3.0" + "@humanwhocodes/config-array" "^0.9.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.2" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.15.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.npmmirror.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -5858,6 +6258,15 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" +espree@^9.3.2: + version "9.3.2" + resolved "https://registry.npmmirror.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" + integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== + dependencies: + acorn "^8.7.1" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + esprima@^4.0.0: version "4.0.1" resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -6282,7 +6691,7 @@ flux@^4.0.1: fbemitter "^3.0.0" fbjs "^3.0.1" -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.14.9: version "1.15.1" resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== @@ -6311,7 +6720,7 @@ fork-ts-checker-webpack-plugin@^6.5.0: semver "^7.3.2" tapable "^1.0.0" -form-data@4.0.0: +form-data@4.0.0, form-data@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== @@ -6381,6 +6790,15 @@ fs-extra@^4.0.2: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.0.0: version "9.1.0" resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -6643,6 +7061,14 @@ gatsby-plugin-mantine@^4.0.0: dependencies: "@mantine/ssr" ">=3.6.14" +gatsby-plugin-nprogress@^4.17.0: + version "4.18.0" + resolved "https://registry.npmmirror.com/gatsby-plugin-nprogress/-/gatsby-plugin-nprogress-4.18.0.tgz#24530e9d38ff253d5a33eebb8b22615908d052a8" + integrity sha512-tWO6wchjv0L42RlDjeOCEJ5z9lGio0tNlOgUDf7PMJ//V/Xm1cZ5cQjsc7uW3y1e0knm5ZeJoZjMMZ4CBKNuug== + dependencies: + "@babel/runtime" "^7.15.4" + accessible-nprogress "^2.1.2" + gatsby-plugin-offline@^5.17.0: version "5.17.0" resolved "https://registry.npmmirror.com/gatsby-plugin-offline/-/gatsby-plugin-offline-5.17.0.tgz#e615c31b2522de5e9cade2a2f975e4c0310e113d" @@ -7170,6 +7596,19 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +gh-pages@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/gh-pages/-/gh-pages-4.0.0.tgz#bd7447bab7eef008f677ac8cc4f6049ab978f4a6" + integrity sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ== + dependencies: + async "^2.6.1" + commander "^2.18.0" + email-addresses "^3.0.1" + filenamify "^4.3.0" + find-cache-dir "^3.3.1" + fs-extra "^8.1.0" + globby "^6.1.0" + gifwrap@^0.9.2: version "0.9.4" resolved "https://registry.npmmirror.com/gifwrap/-/gifwrap-0.9.4.tgz#f4eb6169ba027d61df64aafbdcb1f8ae58ccc0c5" @@ -7203,7 +7642,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -7275,6 +7714,13 @@ globals@^11.1.0: resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^13.15.0: + version "13.16.0" + resolved "https://registry.npmmirror.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a" + integrity sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q== + dependencies: + type-fest "^0.20.2" + globals@^13.2.0, globals@^13.6.0, globals@^13.9.0: version "13.15.0" resolved "https://registry.npmmirror.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" @@ -7306,6 +7752,17 @@ globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + globule@^1.0.0: version "1.3.3" resolved "https://registry.npmmirror.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" @@ -7628,6 +8085,11 @@ highlight.js@^10.5.0: resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== +highlight.js@^11.5.1: + version "11.5.1" + resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.5.1.tgz#027c24e4509e2f4dcd00b4a6dda542ce0a1f7aea" + integrity sha512-LKzHqnxr4CrD2YsNoIf/o5nJ09j4yi/GcH5BnYz9UnVpZdS4ucMgvP61TDty5xJcFGRjnH4DpujkS9bHT3hq0Q== + hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -7813,7 +8275,7 @@ ignore@^4.0.6: resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -8013,7 +8475,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1: +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== @@ -8176,6 +8638,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-promise@4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" @@ -8411,6 +8878,13 @@ js-yaml@^3.13.1, js-yaml@^3.14.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -8768,7 +9242,7 @@ lodash.clonedeep@4.5.0: resolved "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== -lodash.curry@^4.0.1: +lodash.curry@^4.0.1, lodash.curry@^4.1.1: version "4.1.1" resolved "https://registry.npmmirror.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== @@ -8878,7 +9352,7 @@ lodash.without@^4.4.0: resolved "https://registry.npmmirror.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha512-M3MefBwfDhgKgINVuBJCO1YR3+gf6s9HNJsIiZ/Ru77Ws6uTb9eBuvrkpzO+9iLoAaRodGuq7tyrPCx+74QYGQ== -lodash@4.17.21, lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.0, lodash@~4.17.10: +lodash@4.17.21, lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.0, lodash@~4.17.10: version "4.17.21" resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9441,7 +9915,12 @@ mkdirp@^1.0.3: resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -moment@^2.24.0, moment@^2.29.1, moment@^2.29.2: +moment@^2.24.0, moment@^2.29.2: + version "2.29.4" + resolved "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +moment@^2.29.1: version "2.29.3" resolved "https://registry.npmmirror.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== @@ -9804,7 +10283,7 @@ oauth-sign@~0.9.0: resolved "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -10322,11 +10801,23 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^2.3.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + pixelmatch@^4.0.2: version "4.0.2" resolved "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" @@ -10763,7 +11254,7 @@ prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.6.1, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -10933,9 +11424,9 @@ rc-align@^4.0.0: resize-observer-polyfill "^1.5.1" rc-cascader@~3.6.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.6.0.tgz#7db0d373edf4c276bba4b68b7de57fad1486c908" - integrity sha512-p9qwt8E8ZICzPIzyfXF5y7/lbJhRowFj8YhWpdytMomHUZ568duFNwA4H5QVqdC6hg/HIV1YEawOE5jlxSpeww== + version "3.6.1" + resolved "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.6.1.tgz#2e94fb3ed770ffd71d87ebcf17a9b44a6442e76f" + integrity sha512-+GmN2Z0IybKT45t0Z94jkjmsOHGxAliobR2tzt05/Gw0AKBYLHX5bdvsVXR7abPnarYyYzZ/cWe8CoFgDjAFNw== dependencies: "@babel/runtime" "^7.12.5" array-tree-filter "^2.1.0" @@ -10953,9 +11444,9 @@ rc-checkbox@~2.3.0: classnames "^2.2.1" rc-collapse@~3.3.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.3.0.tgz#ecde33a06ca53c6c672c6a46c701052b88723950" - integrity sha512-nkxjhpYAAwEVbBvZ/qoatLecD0PpRtQ5ja9G+FP1QmsWhs/4VCruhjvRdSpMn9vfluKUnePe3PEy8eeqTeuE0g== + version "3.3.1" + resolved "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.3.1.tgz#fc66d4c9cfeaf41e932b2de6da2d454874aee55a" + integrity sha512-cOJfcSe3R8vocrF8T+PgaHDrgeA1tX+lwfhwSj60NX9QVRidsILIbRNDLD6nAzmcvVC5PWiIRiR4S1OobxdhCg== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -11084,17 +11575,17 @@ rc-overflow@^1.0.0, rc-overflow@^1.2.0: rc-util "^5.19.2" rc-pagination@~3.1.16: - version "3.1.16" - resolved "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-3.1.16.tgz#b0082108cf027eded18ed61d818d31897c343e81" - integrity sha512-GFcHXJ7XxeJDf9B+ndP4PRDt46maSSgYhiwofBMiIGKIlBhJ0wfu8DMCEvaWJJLpI2u4Gb6zF1dHpiqPFrosPg== + version "3.1.17" + resolved "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-3.1.17.tgz#91e690aa894806e344cea88ea4a16d244194a1bd" + integrity sha512-/BQ5UxcBnW28vFAcP2hfh+Xg15W0QZn8TWYwdCApchMH1H0CxiaUUcULP8uXcFM1TygcdKWdt3JqsL9cTAfdkQ== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" rc-picker@~2.6.8: - version "2.6.9" - resolved "https://registry.npmmirror.com/rc-picker/-/rc-picker-2.6.9.tgz#2f2f82c5340adbe3b30875a25e015c120eb88c9c" - integrity sha512-yH3UYXCADf7REtOAB5cwe1cyFKtB0p204RCN8JdZGG4uuSOZ1IPTkk/GJS6HOpxspZeJCLGzzajuQMDwck9dsw== + version "2.6.10" + resolved "https://registry.npmmirror.com/rc-picker/-/rc-picker-2.6.10.tgz#8d0a473c079388bdb2d7358a2a54c7d5095893b4" + integrity sha512-9wYtw0DFWs9FO92Qh2D76P0iojUr8ZhLOtScUeOit6ks/F+TBLrOC1uze3IOu+u9gbDAjmosNWLKbBzx/Yuv2w== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" @@ -11144,9 +11635,9 @@ rc-segmented@~2.1.0: rc-util "^5.17.0" rc-select@~14.1.0, rc-select@~14.1.1: - version "14.1.5" - resolved "https://registry.npmmirror.com/rc-select/-/rc-select-14.1.5.tgz#9e40dfdfd207d1d90c93121d86c6fbeb4ec0281c" - integrity sha512-CvcmylICKSrPWCJMgGiHqozVhco9kJpQSj/x5wqLN9JStpDFD1oMNYiJYfkMjQ1LxZkN/eZpL1D2KUXJhXd8rw== + version "14.1.8" + resolved "https://registry.npmmirror.com/rc-select/-/rc-select-14.1.8.tgz#986dc9194212ea56c1acd8317a956c7c88e94f4a" + integrity sha512-1kU/7ZCggyR5r5jVEQfAiN6Sq3LGLD2b6FNz5GWel3TOEQZYyDn0o4FAoIRqS6Y5ldWmkFxtd834ilPnG6NV6w== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -11186,9 +11677,9 @@ rc-switch@~3.2.0: rc-util "^5.0.1" rc-table@~7.24.0: - version "7.24.2" - resolved "https://registry.npmmirror.com/rc-table/-/rc-table-7.24.2.tgz#fbccf5ef4b84cdb38c8a0b416365de157483bf51" - integrity sha512-yefqhtc4V3BeWG2bnDhWYxWX1MOckvW2KU1J55pntZmIGrov5Hx8tQn2gcs6OM0fJ6NgEwUvVEknsCsWI24zUg== + version "7.24.3" + resolved "https://registry.npmmirror.com/rc-table/-/rc-table-7.24.3.tgz#5a3f05037a6c36e8dd9345b4d7c0308f4952ee8c" + integrity sha512-3Z74jeIpQ2t0i/PQ3iSKXsl1WGT809yzq3KzIDzEB7SIA0zat+rqwI+OnrwfhJVRp7GTjeT7sJyCatXpw1YJdg== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" @@ -11269,10 +11760,10 @@ rc-upload@~4.3.0: classnames "^2.2.5" rc-util "^5.2.0" -rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: - version "5.21.5" - resolved "https://registry.npmmirror.com/rc-util/-/rc-util-5.21.5.tgz#6e2a5699f820ba915f43f11a4b7dfb0b0672d0fa" - integrity sha512-ip7HqX37Cy/RDl9MlrFp+FbcKnsWZ22sF5MS5eSpYLtg5MpC0TMqGb5ukBatoOhgjnLL+eJGR6e7YAJ/dhK09A== +rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.22.5, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: + version "5.22.5" + resolved "https://registry.npmmirror.com/rc-util/-/rc-util-5.22.5.tgz#d4d6d886c5ecb6a2a51dde1840d780a2b70f5179" + integrity sha512-awD2TGMGU97OZftT2R3JwrHWjR8k/xIwqjwcivPskciweUdgXE7QsyXkBKVSBHXS+c17AWWMDWuKWsJSheQy8g== dependencies: "@babel/runtime" "^7.18.3" react-is "^16.12.0" @@ -11307,6 +11798,19 @@ react-base16-styling@^0.6.0: lodash.flow "^3.3.0" pure-color "^1.2.0" +react-base16-styling@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/react-base16-styling/-/react-base16-styling-0.9.1.tgz#4906b4c0a51636f2dca2cea8b682175aa8bd0c92" + integrity sha512-1s0CY1zRBOQ5M3T61wetEpvQmsYSNtWEcdYzyZNxKa8t7oDvaOn9d21xrGezGAHFWLM7SHcktPuPTrvoqxSfKw== + dependencies: + "@babel/runtime" "^7.16.7" + "@types/base16" "^1.0.2" + "@types/lodash" "^4.14.178" + base16 "^1.0.0" + color "^3.2.1" + csstype "^3.0.10" + lodash.curry "^4.1.1" + react-dev-utils@^12.0.1: version "12.0.1" resolved "https://registry.npmmirror.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" @@ -11377,11 +11881,27 @@ react-highlight@^0.14.0: dependencies: highlight.js "^10.5.0" +react-icons@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/react-icons/-/react-icons-4.4.0.tgz#a13a8a20c254854e1ec9aecef28a95cdf24ef703" + integrity sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg== + react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-json-tree@^0.17.0: + version "0.17.0" + resolved "https://registry.npmmirror.com/react-json-tree/-/react-json-tree-0.17.0.tgz#aca02cb8c2d3d944e128763c5d814bafa92511d4" + integrity sha512-hcWjibI/fAvsKnfYk+lka5OrE1Lvb1jH5pSnFhIU5T8cCCxB85r6h/NOzDPggSSgErjmx4rl3+2EkeclIKBOhg== + dependencies: + "@babel/runtime" "^7.18.3" + "@types/lodash" "^4.14.182" + "@types/prop-types" "^15.7.5" + prop-types "^15.8.1" + react-base16-styling "^0.9.1" + react-json-view@^1.21.3: version "1.21.3" resolved "https://registry.npmmirror.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" @@ -11420,6 +11940,18 @@ react-side-effect@^2.1.0: resolved "https://registry.npmmirror.com/react-side-effect/-/react-side-effect-2.1.1.tgz#66c5701c3e7560ab4822a4ee2742dee215d72eb3" integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ== +react-spring@^9.4.5: + version "9.4.5" + resolved "https://registry.npmmirror.com/react-spring/-/react-spring-9.4.5.tgz#a2a56e72a7ad5075af4ee606f0b2ca9ee2474df0" + integrity sha512-FRIXQGR+jG+Fx4UcqhF0b5jMEU3Q5QcZ8rEVWKqZgrrn92C1HcqtuZy7dH+rZ6uNGjnlV7HBf8iprJaJ+350LA== + dependencies: + "@react-spring/core" "~9.4.5" + "@react-spring/konva" "~9.4.5" + "@react-spring/native" "~9.4.5" + "@react-spring/three" "~9.4.5" + "@react-spring/web" "~9.4.5" + "@react-spring/zdog" "~9.4.5" + react-textarea-autosize@^8.3.2: version "8.3.4" resolved "https://registry.npmmirror.com/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz#270a343de7ad350534141b02c9cb78903e553524" @@ -11429,6 +11961,16 @@ react-textarea-autosize@^8.3.2: use-composed-ref "^1.3.0" use-latest "^1.2.1" +react-transition-group@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@^18.1.0: version "18.2.0" resolved "https://registry.npmmirror.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -11595,7 +12137,7 @@ regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -regexpp@^3.1.0: +regexpp@^3.0.0, regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -11822,6 +12364,15 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.10.1: + version "1.22.1" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" @@ -12046,7 +12597,7 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.7" resolved "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -13356,6 +13907,11 @@ unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: unist-util-is "^4.0.0" unist-util-visit-parents "^3.0.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"