Homepage update

This commit is contained in:
francesco
2021-07-30 13:00:51 +02:00
parent 0fee67fcc7
commit d3c6d7b535
6 changed files with 156 additions and 425 deletions

View File

@@ -25,13 +25,11 @@
"postcss-import": "^12.0.0",
"postprocessing": "^6.19.1",
"react": "^16.8.4",
"react-code-blocks": "^0.0.8",
"react-dom": "^16.8.4",
"react-syntax-highlighter": "^15.4.4",
"react-transition-group": "^4.4.1",
"tailwindcss": "npm:@tailwindcss/postcss7-compat",
"three": "^0.126.1",
"three-bas": "^2.12.0",
"three-buffer-geometry-utils": "^1.0.0",
"ts-easing": "^0.2.0"
},
"browserslist": {

View File

@@ -42,6 +42,14 @@ a.btn {
text-decoration: none;
}
pre{
overflow: inherit !important;
}
/* Tailwind does not compute this properly on buttons */
.font-bold {
font-weight: 700 !important;
}
.header-github-link:hover {
opacity: 0.6;

View File

@@ -1,5 +1,4 @@
import React, { useEffect, useRef, useState } from "react";
import Transition from "./utils/Transition";
import React from "react";
// @ts-ignore
import featuresBg from "@site/static/img/features-bg.png";
@@ -17,54 +16,17 @@ import pricePreview from "@site/static/img/price.png";
// @ts-ignore
import cmsPreview from "@site/static/img/editing.mp4";
import { atomOneLight, CodeBlock, vs2015 } from "react-code-blocks";
import useThemeContext from "@theme/hooks/useThemeContext";
import SyntaxHighlighter from "react-syntax-highlighter";
import {
atomOneLight,
vs2015
} from "react-syntax-highlighter/dist/esm/styles/hljs";
function Features() {
const { isDarkTheme } = useThemeContext();
const [tab, setTab] = useState(0);
const tabsRef = useRef<any>();
const heightFix = () => {
if (tabsRef.current && tabsRef.current.children[tab]) {
// @ts-ignore
tabsRef.current.style.height = tabsRef.current.children[tab].offsetHeight + "px";
}
};
useEffect(() => {
heightFix();
}, [tab]);
function buildFeature(title: string, text: string, icon: React.ReactNode, thisTab: number) {
return <div
className={`flex items-center text-black text-lg p-5 rounded border transition duration-300 ease-in-out mb-3 cursor-pointer ${
tab !== thisTab
? "bg-white shadow-md border-gray-200 hover:shadow-lg"
: "bg-gray-200 border-transparent"
}`}
onClick={e => {
e.preventDefault();
setTab(thisTab);
}}
>
<div>
<div
className="font-bold leading-snug tracking-tight mb-1">
{title}
</div>
<div className="text-gray-600">
{text}
</div>
</div>
<div
className="flex justify-center items-center w-8 h-8 bg-white rounded-full shadow flex-shrink-0 ml-3">
{icon}
</div>
</div>;
}
const tab0 = (
<div className={"p-4"}>
@@ -80,8 +42,13 @@ function Features() {
<div
className="relative flex-col font-mono">
<CodeBlock
text={`const price = buildProperty({
<SyntaxHighlighter
language={"typescript"}
showLineNumbers={false}
style={isDarkTheme ? vs2015 : atomOneLight}
>
{
`const price = buildProperty({
title: "Price",
description: "Price with range validation",
dataType: "number",
@@ -92,14 +59,8 @@ function Features() {
min: 0,
max: 1000
}
});
`
}
language={"typescript"}
showLineNumbers={false}
theme={isDarkTheme ? vs2015 : atomOneLight}
/>
});`}
</SyntaxHighlighter>
<div
className={"p-1 flex justify-center"}>
<img
@@ -115,8 +76,12 @@ function Features() {
const tab2 = (
<div
className="relative flex-col font-mono">
<CodeBlock
text={`const productSchema: EntitySchema = buildSchema({
<SyntaxHighlighter
language={"typescript"}
showLineNumbers={false}
style={isDarkTheme ? vs2015 : atomOneLight}
>
{`const productSchema: EntitySchema = buildSchema({
name: "Product",
onPreSave: ({ values }) => {
values.uppercase = values.name.toUpperCase();
@@ -136,112 +101,118 @@ function Features() {
defaultValues: {
name: "Default name",
}
});
`
}
language={"typescript"}
showLineNumbers={false}
theme={isDarkTheme ? vs2015 : atomOneLight}
/>
});`}
</SyntaxHighlighter>
</div>
);
return (
<section className="relative">
<div className="relative max-w-6xl mx-auto px-4 sm:px-6">
<div className="pt-12 md:pt-20">
<div className="md:grid md:grid-cols-12 md:gap-6">
<div
className="flex items-center max-w-xl md:max-w-none md:w-full mx-auto md:col-span-7 lg:col-span-6 md:mt-6"
data-aos="fade-right"
>
<div className="md:pr-4 lg:pr-12 xl:pr-16 mb-8">
<h3 className="h3 mb-3">Powerful editing</h3>
<p className="text-xl text-gray-600">
Map your collections and document schemas to
beautiful tables and forms
</p>
<p className="text-xl text-gray-600">
Edit your collections and entities using
both a spreadsheet
view and powerful forms.
</p>
</div>
</div>
<div
className="max-w-xl md:max-w-none md:w-full mx-auto md:col-span-5 lg:col-span-6 mb-8 md:mb-0 md:order-1"
data-aos="fade-left"
>
<div
className="relative flex flex-col">
{tab0}
</div>
</div>
</div>
</div>
</div>
<div className="relative max-w-6xl mx-auto px-4 sm:px-6">
<div className="pt-12 md:pt-20">
<div
className="flex flex-col-reverse md:grid md:grid-cols-12 md:gap-6">
<div
className=" max-w-xl md:max-w-none md:w-full mx-auto md:col-span-7 lg:col-span-6 md:mt-6"
data-aos="fade-right"
data-aos-delay="90"
>
<div
className="relative flex flex-col">
{tab1}
</div>
</div>
<div
className="flex items-center max-w-xl md:max-w-none md:w-full mx-auto md:col-span-5 lg:col-span-6 mb-8 md:mb-0 md:order-1"
data-aos="fade-left"
data-aos-delay="190"
>
<div className="md:pr-4 lg:pr-12 xl:pr-16 mb-8">
<h3 className="md:text-right h3 mb-3">Easy schema
definition</h3>
<p className="md:text-right text-xl text-gray-600">
Define your entity schemas and choose from
multiple
form widgets and validation options.
</p>
</div>
</div>
</div>
</div>
</div>
<div className="relative max-w-6xl mx-auto px-4 sm:px-6">
<div className="pt-12 md:pt-20">
<div className="md:grid md:grid-cols-12 md:gap-6">
<div
className="max-w-xl md:max-w-none md:w-full mx-auto md:col-span-7 lg:col-span-6 md:mt-6"
className="flex items-center max-w-xl md:max-w-none md:w-full mx-auto md:col-span-7 lg:col-span-6 md:mt-6"
data-aos="fade-right"
data-aos-delay="120"
>
<div className="md:pr-4 lg:pr-12 xl:pr-16 mb-8">
<h3 className="h3 mb-3">Ready out of the
box</h3>
<h3 className="h3 mb-3">Customization</h3>
<p className="text-xl text-gray-600">
Map your collections and document schemas to
beautiful tables and forms
Integrate your own custom form fields as
React components,
value previews or save callbacks.
</p>
</div>
<div className="mb-8 md:mb-0">
{buildFeature("Powerful editing",
`
Edit your collections and entities using both a spreadsheet
view and powerful forms.
`,
arrowIcon, 0)}
{buildFeature("Easy schema definition",
`
Define your entity schemas and choose from multiple
form widgets and validation options.
`,
lightningIcon, 1)}
{buildFeature("Customization",
`
Integrate your own custom form fields as React components,
value previews or save callbacks.
`,
settingsIcon, 2)}
</div>
</div>
<div
className="max-w-xl md:max-w-none md:w-full mx-auto md:col-span-5 lg:col-span-6 mb-8 md:mb-0 md:order-1"
data-aos="zoom-y-out"
ref={tabsRef}
data-aos="fade-left"
data-aos-delay="220"
>
<div
className="relative flex flex-col">
<Transition
show={tab === 0}
appear={true}
className="w-full"
enter="transition ease-in-out duration-700 transform order-first"
enterStart="opacity-0 translate-y-16"
enterEnd="opacity-100 translate-y-0"
leave="transition ease-in-out duration-300 transform absolute"
leaveStart="opacity-100 translate-y-0"
leaveEnd="opacity-0 -translate-y-16"
>
{tab0}
</Transition>
<Transition
show={tab === 1}
appear={true}
className="w-full"
enter="transition ease-in-out duration-700 transform order-first"
enterStart="opacity-0 translate-y-16"
enterEnd="opacity-100 translate-y-0"
leave="transition ease-in-out duration-300 transform absolute"
leaveStart="opacity-100 translate-y-0"
leaveEnd="opacity-0 -translate-y-16"
>
{tab1}
</Transition>
<Transition
show={tab === 2}
appear={true}
className="w-full"
enter="transition ease-in-out duration-700 transform order-first"
enterStart="opacity-0 translate-y-16"
enterEnd="opacity-100 translate-y-0"
leave="transition ease-in-out duration-300 transform absolute"
leaveStart="opacity-100 translate-y-0"
leaveEnd="opacity-0 -translate-y-16"
>
{tab2}
</Transition>
{tab2}
</div>
</div>

View File

@@ -1,134 +0,0 @@
import React, {useContext, useEffect, useRef} from "react";
import {CSSTransition as ReactCSSTransition} from "react-transition-group";
const TransitionContext = React.createContext<any>({
parent: {}
});
function useIsInitialRender() {
const isInitialRender = useRef(true);
useEffect(() => {
isInitialRender.current = false;
}, []);
return isInitialRender.current;
}
function CSSTransition({
show,
enter = "",
enterStart = "",
enterEnd = "",
leave = "",
leaveStart = "",
leaveEnd = "",
appear,
unmountOnExit,
tag = "div",
children,
...rest
}) {
const enterClasses = enter.split(" ").filter(s => s.length);
const enterStartClasses = enterStart.split(" ").filter(s => s.length);
const enterEndClasses = enterEnd.split(" ").filter(s => s.length);
const leaveClasses = leave.split(" ").filter(s => s.length);
const leaveStartClasses = leaveStart.split(" ").filter(s => s.length);
const leaveEndClasses = leaveEnd.split(" ").filter(s => s.length);
const removeFromDom = unmountOnExit;
function addClasses(node, classes) {
classes.length && node.classList.add(...classes);
}
function removeClasses(node, classes) {
classes.length && node.classList.remove(...classes);
}
const nodeRef = React.useRef<HTMLElement>();
const Component = tag as any;
return (
<ReactCSSTransition
appear={appear}
nodeRef={nodeRef}
unmountOnExit={removeFromDom}
in={show}
addEndListener={(done) => {
if (nodeRef.current)
nodeRef.current.addEventListener("transitionend", done, false);
}}
onEnter={() => {
if (!removeFromDom && nodeRef.current) nodeRef.current.style.display = "";
addClasses(nodeRef.current, [...enterClasses, ...enterStartClasses]);
}}
onEntering={() => {
removeClasses(nodeRef.current, enterStartClasses);
addClasses(nodeRef.current, enterEndClasses);
}}
onEntered={() => {
removeClasses(nodeRef.current, [...enterEndClasses, ...enterClasses]);
}}
onExit={() => {
addClasses(nodeRef.current, [...leaveClasses, ...leaveStartClasses]);
}}
onExiting={() => {
removeClasses(nodeRef.current, leaveStartClasses);
addClasses(nodeRef.current, leaveEndClasses);
}}
onExited={() => {
removeClasses(nodeRef.current, [...leaveEndClasses, ...leaveClasses]);
if (!removeFromDom && nodeRef.current) nodeRef.current.style.display = "none";
}}
>
<Component
ref={nodeRef}
{...rest}
style={{display: !removeFromDom ? "none" : null}}
>
{children}
</Component>
</ReactCSSTransition>
);
}
function Transition({show, appear, ...rest}:
{
id: any;
show: boolean;
appear: boolean;
className: string;
enter: string;
enterStart: string;
enterEnd: string;
leave: string;
leaveStart: string;
leaveEnd: string;
} & any
) {
const {parent} = useContext(TransitionContext);
const isInitialRender = useIsInitialRender();
const isChild = show === undefined;
if (isChild) {
return (
<CSSTransition
appear={parent.appear || !parent.isInitialRender}
show={parent.show}
{...rest}
/>
);
}
return (
<TransitionContext.Provider
value={{
parent: {
show,
isInitialRender,
appear
}
}}
>
<CSSTransition appear={appear} show={show} {...rest} />
</TransitionContext.Provider>
);
}
export default Transition;

View File

@@ -300,7 +300,7 @@
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13":
"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==
@@ -396,7 +396,7 @@
dependencies:
"@babel/types" "^7.13.12"
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12":
"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
@@ -1207,7 +1207,7 @@
core-js-pure "^3.0.0"
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.10.4", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4":
"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d"
integrity sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==
@@ -1230,7 +1230,7 @@
"@babel/parser" "^7.12.13"
"@babel/types" "^7.12.13"
"@babel/traverse@^7.12.13", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.4.5":
"@babel/traverse@^7.12.13", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15":
version "7.13.15"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.15.tgz#c38bf7679334ddd4028e8e1f7b3aa5019f0dada7"
integrity sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==
@@ -1670,28 +1670,6 @@
resolve-pathname "^3.0.0"
tslib "^2.2.0"
"@emotion/is-prop-valid@^0.8.8":
version "0.8.8"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
dependencies:
"@emotion/memoize" "0.7.4"
"@emotion/memoize@0.7.4":
version "0.7.4"
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
"@emotion/stylis@^0.8.4":
version "0.8.5"
resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
"@emotion/unitless@^0.7.4":
version "0.7.5"
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
"@fullhuman/postcss-purgecss@^3.1.3":
version "3.1.3"
resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz#47af7b87c9bfb3de4bc94a38f875b928fffdf339"
@@ -2646,21 +2624,6 @@ babel-plugin-polyfill-regenerator@^0.2.0:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.2.0"
"babel-plugin-styled-components@>= 1.12.0":
version "1.12.0"
resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9"
integrity sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.0.0"
"@babel/helper-module-imports" "^7.0.0"
babel-plugin-syntax-jsx "^6.18.0"
lodash "^4.17.11"
babel-plugin-syntax-jsx@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
babel-runtime@^6.23.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
@@ -2967,11 +2930,6 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
camelize@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -3521,11 +3479,6 @@ crypto-random-string@^2.0.0:
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
css-color-keywords@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -3621,15 +3574,6 @@ css-select@~1.2.0:
domutils "1.5.1"
nth-check "~1.0.1"
css-to-react-native@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756"
integrity sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==
dependencies:
camelize "^1.0.0"
css-color-keywords "^1.0.0"
postcss-value-parser "^4.0.2"
css-tree@1.0.0-alpha.37:
version "1.0.0-alpha.37"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
@@ -4492,7 +4436,7 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
fault@^1.0.2:
fault@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
@@ -5125,10 +5069,10 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
highlight.js@~9.15.0, highlight.js@~9.15.1:
version "9.15.10"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.10.tgz#7b18ed75c90348c045eef9ed08ca1319a2219ad2"
integrity sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==
highlight.js@^10.4.1, highlight.js@~10.7.0:
version "10.7.3"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
history@^4.9.0:
version "4.10.1"
@@ -5142,7 +5086,7 @@ history@^4.9.0:
tiny-warning "^1.0.0"
value-equal "^1.0.1"
hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0:
hoist-non-react-statics@^3.1.0:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -6206,13 +6150,13 @@ lowercase-keys@^2.0.0:
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
lowlight@1.12.1:
version "1.12.1"
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.12.1.tgz#014acf8dd73a370e02ff1cc61debcde3bb1681eb"
integrity sha512-OqaVxMGIESnawn+TU/QMV5BJLbUghUfjDWPAtFqDYDmDtr4FnB+op8xM+pR7nKlauHNUHXGt0VgWatFB8voS5w==
lowlight@^1.17.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
dependencies:
fault "^1.0.2"
highlight.js "~9.15.0"
fault "^1.0.0"
highlight.js "~10.7.0"
lru-cache@^5.1.1:
version "5.1.1"
@@ -6919,18 +6863,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
parse-entities@^1.1.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
dependencies:
character-entities "^1.0.0"
character-entities-legacy "^1.0.0"
character-reference-invalid "^1.0.0"
is-alphanumerical "^1.0.0"
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
@@ -7810,20 +7742,18 @@ prism-react-renderer@^1.0.1, prism-react-renderer@^1.2.1:
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz#392460acf63540960e5e3caa699d851264e99b89"
integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==
prismjs@^1.23.0, prismjs@^1.8.4:
prismjs@^1.22.0, prismjs@~1.24.0:
version "1.24.1"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036"
integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==
prismjs@^1.23.0:
version "1.23.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33"
integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==
optionalDependencies:
clipboard "^2.0.0"
prismjs@~1.17.0:
version "1.17.1"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"
integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==
optionalDependencies:
clipboard "^2.0.0"
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -8003,17 +7933,6 @@ react-base16-styling@^0.6.0:
lodash.flow "^3.3.0"
pure-color "^1.2.0"
react-code-blocks@^0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/react-code-blocks/-/react-code-blocks-0.0.8.tgz#3bb70b9b60510dba6c6b7ef350d1977cf022ff15"
integrity sha512-xGw05QLvaEteWnlmPKr7pe/F7WrhUT7GbL5h+Yf3zmErVDmZJbQgJVxSnDSEw30V32fo4EFb8wo/3mhO4pZSsw==
dependencies:
"@babel/runtime" "^7.10.4"
react-syntax-highlighter "^12.2.1"
styled-components "^5.1.1"
tslib "^2.0.0"
typescript-plugin-styled-components "^1.4.4"
react-dev-utils@^11.0.1:
version "11.0.4"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a"
@@ -8167,16 +8086,16 @@ react-simple-code-editor@^0.10.0:
resolved "https://registry.yarnpkg.com/react-simple-code-editor/-/react-simple-code-editor-0.10.0.tgz#73e7ac550a928069715482aeb33ccba36efe2373"
integrity sha512-bL5W5mAxSW6+cLwqqVWY47Silqgy2DKDTR4hDBrLrUqC5BXc29YVx17l2IZk5v36VcDEq1Bszu2oHm1qBwKqBA==
react-syntax-highlighter@^12.2.1:
version "12.2.1"
resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-12.2.1.tgz#14d78352da1c1c3f93c6698b70ec7c706b83493e"
integrity sha512-CTsp0ZWijwKRYFg9xhkWD4DSpQqE4vb2NKVMdPAkomnILSmsNBHE0n5GuI5zB+PU3ySVvXvdt9jo+ViD9XibCA==
react-syntax-highlighter@^15.4.4:
version "15.4.4"
resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.4.4.tgz#dc9043f19e7bd063ff3ea78986d22a6eaa943b2a"
integrity sha512-PsOFHNTzkb3OroXdoR897eKN5EZ6grht1iM+f1lJSq7/L0YVnkJaNVwC3wEUYPOAmeyl5xyer1DjL6MrumO6Zw==
dependencies:
"@babel/runtime" "^7.3.1"
highlight.js "~9.15.1"
lowlight "1.12.1"
prismjs "^1.8.4"
refractor "^2.4.1"
highlight.js "^10.4.1"
lowlight "^1.17.0"
prismjs "^1.22.0"
refractor "^3.2.0"
react-textarea-autosize@^8.3.2:
version "8.3.2"
@@ -8278,14 +8197,14 @@ reduce-css-calc@^2.1.8:
css-unit-converter "^1.1.1"
postcss-value-parser "^3.3.0"
refractor@^2.4.1:
version "2.10.1"
resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.1.tgz#166c32f114ed16fd96190ad21d5193d3afc7d34e"
integrity sha512-Xh9o7hQiQlDbxo5/XkOX6H+x/q8rmlmZKr97Ie1Q8ZM32IRRd3B/UxuA/yXDW79DBSXGWxm2yRTbcTVmAciJRw==
refractor@^3.2.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.4.0.tgz#62bd274b06c942041f390c371b676eb67cb0a678"
integrity sha512-dBeD02lC5eytm9Gld2Mx0cMcnR+zhSnsTfPpWqFaMgUMJfC9A6bcN3Br/NaXrnBJcuxnLFR90k1jrkaSyV8umg==
dependencies:
hastscript "^5.0.0"
parse-entities "^1.1.2"
prismjs "~1.17.0"
hastscript "^6.0.0"
parse-entities "^2.0.0"
prismjs "~1.24.0"
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
@@ -8823,11 +8742,6 @@ shallow-clone@^3.0.0:
dependencies:
kind-of "^6.0.2"
shallowequal@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -9205,22 +9119,6 @@ style-to-object@0.3.0, style-to-object@^0.3.0:
dependencies:
inline-style-parser "0.1.1"
styled-components@^5.1.1:
version "5.2.3"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.2.3.tgz#752669fd694aac10de814d96efc287dde0d11385"
integrity sha512-BlR+KrLW3NL1yhvEB+9Nu9Dt51CuOnHoxd+Hj+rYPdtyR8X11uIW9rvhpy3Dk4dXXBsiW1u5U78f00Lf/afGoA==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/traverse" "^7.4.5"
"@emotion/is-prop-valid" "^0.8.8"
"@emotion/stylis" "^0.8.4"
"@emotion/unitless" "^0.7.4"
babel-plugin-styled-components ">= 1.12.0"
css-to-react-native "^3.0.0"
hoist-non-react-statics "^3.0.0"
shallowequal "^1.1.0"
supports-color "^5.5.0"
stylehacks@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb"
@@ -9229,7 +9127,7 @@ stylehacks@^5.0.1:
browserslist "^4.16.0"
postcss-selector-parser "^6.0.4"
supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
supports-color@^5.3.0, supports-color@^5.4.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -9491,7 +9389,7 @@ tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0:
tslib@^2.0.3, tslib@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
@@ -9555,11 +9453,6 @@ typedoc@^0.20.36:
shiki "^0.9.3"
typedoc-default-themes "^0.12.10"
typescript-plugin-styled-components@^1.4.4:
version "1.5.0"
resolved "https://registry.yarnpkg.com/typescript-plugin-styled-components/-/typescript-plugin-styled-components-1.5.0.tgz#39d345102a236e304a4e9a37c7b1c8a752a46072"
integrity sha512-5x/30WvzlrD0h5MOlp/pFVQFNWCupeG6QqHvsYlsg9Qg1hxG614kf3p4FmgJ35UxKz0mREX7+4S1Li46gsM3eQ==
typescript@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c"

View File

@@ -11340,11 +11340,6 @@ react-base-table@^1.12.0:
react-virtualized-auto-sizer "^1.0.2"
react-window "^1.8.2"
react-codemirror2@^7.2.1:
version "7.2.1"
resolved "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-7.2.1.tgz#38dab492fcbe5fb8ebf5630e5bb7922db8d3a10c"
integrity sha512-t7YFmz1AXdlImgHXA9Ja0T6AWuopilub24jRaQdPVbzUJVNKIYuy3uCFZYa7CE5S3UW6SrSa5nAqVQvtzRF9gw==
react-csv@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-2.0.3.tgz#f5d17a3c71107d9bcbe580049350200debdc042a"