Risk calculator v3 (#79)
* Push risk calculator to branch * Fixed Enclosing on updatePriceValues Fixed incorrect enclosing of updatePriceValues * Clean up and commenting * Update USDT slider response and asset/liability tabulation * Update value assignment encapsulation error * Risk Calculator feedback and bug fixes * Slider Range updated to 0 - 350% * Add icons, feedback, open orders toggle * Remove unnecessary console log * Update precision and short scenario summary * Push risk calculator to branch * Fixed Enclosing on updatePriceValues Fixed incorrect enclosing of updatePriceValues * Clean up and commenting * Update USDT slider response and asset/liability tabulation * Update value assignment encapsulation error * Risk Calculator feedback and bug fixes * Slider Range updated to 0 - 350% * Add icons, feedback, open orders toggle * Remove unnecessary console log * Update precision and short scenario summary * Add mangoCache check * use getStaticProps in calculator * allow loading unowned accounts w/ risk-calculator * add risk calculator new bubble * Percent move liquidation no longer relative to slider Co-authored-by: Tyler Shipe <tjshipe@gmail.com> Co-authored-by: Maximilian Schneider <mail@maximilianschneider.net>
This commit is contained in:
parent
666641c893
commit
0a587edc26
|
@ -52,6 +52,14 @@ const TopBar = () => {
|
|||
<MenuItem href="/swap">{t('swap')}</MenuItem>
|
||||
<MenuItem href="/account">{t('account')}</MenuItem>
|
||||
<MenuItem href="/borrow">{t('borrow')}</MenuItem>
|
||||
<MenuItem href="/risk-calculator">
|
||||
{t('calculator')}
|
||||
<div className="inline-flex items-center relative h-6 px-2 py-1 bg-gradient-to-br from-red-500 to-yellow-500 rounded-full lg:-top-3 md:-top-3 sm:-top-3 xs:-top-2">
|
||||
<p className="text-white text-xs uppercase font-bold tracking-widest subpixel-antialiased self-baseline">
|
||||
new
|
||||
</p>
|
||||
</div>
|
||||
</MenuItem>
|
||||
<MenuItem href="/stats">{t('stats')}</MenuItem>
|
||||
<MenuItem href="https://docs.mango.markets/" newWindow>
|
||||
{t('learn')}
|
||||
|
|
|
@ -669,70 +669,6 @@ export const MsolMonoIcon = ({ className }) => {
|
|||
)
|
||||
}
|
||||
|
||||
export const BnbMonoIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 32 32"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M9.7856 13.4464L16 7.232L22.2176 13.4496L25.8336 9.8336L16 0L6.1696 9.8304L9.7856 13.4464ZM0 16L3.616 12.384L7.232 16L3.616 19.616L0 16ZM9.7856 18.5536L16 24.768L22.2176 18.5504L25.8336 22.1648L16 32L6.1696 22.1696L6.1648 22.1648L9.7856 18.5536ZM24.768 16L28.384 12.384L32 16L28.384 19.616L24.768 16ZM19.6672 15.9968H19.6704V16L16 19.6704L12.3344 16.0064L12.328 16L12.3344 15.9952L12.976 15.352L13.288 15.04L16 12.3296L19.6688 15.9984L19.6672 15.9968Z" />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const DotMonoIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 32 32"
|
||||
fill="currentColor"
|
||||
>
|
||||
<g clipPath="url(#a)">
|
||||
<path d="M16 0C9.309 0 3.84 5.433 3.84 12.152c0 1.35.225 2.669.643 3.955.29.868 1.255 1.35 2.156 1.06.868-.289 1.35-1.253 1.061-2.153a8.555 8.555 0 0 1-.482-3.119c.128-4.533 3.796-8.262 8.331-8.487 5.051-.257 9.233 3.761 9.233 8.745 0 4.661-3.667 8.487-8.267 8.744 0 0-1.705.097-2.542.225-.418.065-.74.129-.965.161-.096.032-.193-.064-.16-.16l.289-1.415 1.576-7.266c.193-.9-.386-1.8-1.287-1.993a1.686 1.686 0 0 0-1.994 1.286S7.636 29.417 7.604 29.61c-.193.9.386 1.8 1.286 1.993.901.193 1.802-.386 1.995-1.286.032-.193.547-2.54.547-2.54a4.272 4.272 0 0 1 3.603-3.343c.386-.065 1.898-.161 1.898-.161 6.273-.482 11.227-5.723 11.227-12.12C28.16 5.433 22.69 0 16 0Z" />
|
||||
<path d="M16.871 27.97c-1.093-.225-2.187.45-2.412 1.576-.226 1.093.45 2.186 1.576 2.41 1.094.226 2.188-.45 2.413-1.574.225-1.126-.45-2.187-1.577-2.412Z" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="a">
|
||||
<path d="M0 0h32v32H0z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const LunaMonoIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 32 32"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M10.723 1.10707C13.9499 -0.079287 17.582 -0.0819955 20.8695 0.893094C25.1491 2.19863 28.7619 5.37309 30.6495 9.35741C31.1704 10.4923 31.6691 11.676 31.7188 12.9382C29.313 11.5676 26.6758 10.6792 24.0331 9.86934C19.8058 8.37149 15.3801 7.33139 11.3789 5.27287C10.4474 4.72574 9.25971 4.16506 9.00619 3.02475C8.90423 2.03882 9.96518 1.48898 10.723 1.10707V1.10707ZM0.981561 10.6955C1.91575 8.20356 3.44792 5.89043 5.52848 4.1759C6.05758 8.45275 7.90942 12.586 10.9683 15.6955C14.6361 19.4415 19.8609 21.7411 25.1767 21.6544C27.2876 21.7194 29.3516 21.24 31.4101 20.8526C29.3847 28.0466 21.3628 32.8219 13.9306 31.6734C9.44435 31.11 5.30251 28.499 2.80308 24.8126C-0.0160072 20.7389 -0.72698 15.3298 0.981561 10.6955Z" />
|
||||
<path
|
||||
opacity="0.6"
|
||||
d="M23.7886 9.77734C26.4721 10.595 29.096 11.4462 31.5389 12.83L31.704 12.9147C31.9306 14.5802 32.0957 16.2785 31.7935 17.9467C30.5651 17.438 29.5689 16.5438 28.5279 15.7534C26.5244 14.1235 24.5329 12.3043 23.7886 9.77734Z"
|
||||
/>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const AvaxMonoIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 32 32"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M23.9664 19.2367C24.7488 17.8852 26.0113 17.8852 26.7938 19.2367L31.6661 27.7899C32.4485 29.1413 31.8083 30.2438 30.2435 30.2438H20.4278C18.8807 30.2438 18.2405 29.1413 19.0052 27.7899L23.9664 19.2367V19.2367ZM14.5419 2.77042C15.3243 1.41898 16.569 1.41898 17.3514 2.77042L18.4362 4.72645L20.9968 9.22534C21.6192 10.5057 21.6192 12.0171 20.9968 13.2974L12.408 28.1811C11.6256 29.3903 10.3275 30.1549 8.88714 30.2438H1.7565C0.191672 30.2438 -0.448485 29.1591 0.333929 27.7899L14.5419 2.77042Z" />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const CumulativeSizeIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
|
@ -843,3 +779,42 @@ export const CandlesIcon = ({ className }) => {
|
|||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const CalculatorIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M6.2 7.7H11.2V9.2H6.2V7.7M13 15.8H18V17.3H13V15.8M13 13.2H18V14.7H13V13.2M8 18H9.5V16H11.5V14.5H9.5V12.5H8V14.5H6V16H8V18M14.1 10.9L15.5 9.5L16.9 10.9L18 9.9L16.6 8.5L18 7.1L16.9 6L15.5 7.4L14.1 6L13 7.1L14.4 8.5L13 9.9L14.1 10.9Z"
|
||||
/>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export const AnchorIcon = ({ className }) => {
|
||||
return (
|
||||
<svg
|
||||
className={`${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M17,15l1.55,1.55c-0.96,1.69-3.33,3.04-5.55,3.37V11h3V9h-3V7.82C14.16,7.4,15,6.3,15,5c0-1.65-1.35-3-3-3S9,3.35,9,5 c0,1.3,0.84,2.4,2,2.82V9H8v2h3v8.92c-2.22-0.33-4.59-1.68-5.55-3.37L7,15l-4-3v3c0,3.88,4.92,7,9,7s9-3.12,9-7v-3L17,15z M12,4 c0.55,0,1,0.45,1,1s-0.45,1-1,1s-1-0.45-1-1S11.45,4,12,4z"
|
||||
/>
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
import { useEffect, useState } from 'react'
|
||||
import Link from 'next/link'
|
||||
import { useRouter } from 'next/router'
|
||||
import { ChartBarIcon, CurrencyDollarIcon } from '@heroicons/react/solid'
|
||||
import {
|
||||
ChartBarIcon,
|
||||
CurrencyDollarIcon,
|
||||
CalculatorIcon,
|
||||
} from '@heroicons/react/solid'
|
||||
import { BtcMonoIcon, TradeIcon } from '../icons'
|
||||
import useMangoGroupConfig from '../../hooks/useMangoGroupConfig'
|
||||
import MarketsModal from '../MarketsModal'
|
||||
|
@ -37,7 +41,7 @@ const BottomBar = () => {
|
|||
|
||||
return (
|
||||
<>
|
||||
<div className="bg-th-bkg-1 default-transition grid grid-cols-4 grid-rows-1 py-2.5">
|
||||
<div className="bg-th-bkg-1 default-transition grid grid-cols-5 grid-rows-1 py-2.5">
|
||||
<div
|
||||
className="col-span-1 cursor-pointer default-transition flex flex-col items-center text-th-fgd-3 hover:text-th-primary"
|
||||
onClick={() => setShowMarketsModal(true)}
|
||||
|
@ -83,6 +87,18 @@ const BottomBar = () => {
|
|||
<StyledBarItemLabel>{t('stats')}</StyledBarItemLabel>
|
||||
</div>
|
||||
</Link>
|
||||
<Link href="/risk-calculator">
|
||||
<div
|
||||
className={`${
|
||||
asPath === '/risk-calculator'
|
||||
? 'text-th-primary'
|
||||
: 'text-th-fgd-3'
|
||||
} col-span-1 cursor-pointer default-transition flex flex-col items-center hover:text-th-primary`}
|
||||
>
|
||||
<CalculatorIcon className="h-4 mb-1 w-4" />
|
||||
<StyledBarItemLabel>{t('calculator')}</StyledBarItemLabel>
|
||||
</div>
|
||||
</Link>
|
||||
</div>
|
||||
{showMarketsModal ? (
|
||||
<MarketsModal
|
||||
|
|
|
@ -43,6 +43,7 @@ const MobileMenu = () => {
|
|||
<MenuItem href="/account">{t('account')}</MenuItem>
|
||||
<MenuItem href="/borrow">{t('borrow')}</MenuItem>
|
||||
<MenuItem href="/stats">{t('stats')}</MenuItem>
|
||||
<MenuItem href="/risk-calculator">{t('calculator')}</MenuItem>
|
||||
<MenuItem href="https://docs.mango.markets/">{t('learn')}</MenuItem>
|
||||
</div>
|
||||
</Transition>
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
"next-i18next": "^8.9.0",
|
||||
"next-themes": "^0.0.14",
|
||||
"postcss-preset-env": "^6.7.0",
|
||||
"rc-slider": "^9.7.5",
|
||||
"react": "^17.0.2",
|
||||
"react-cool-dimensions": "^2.0.1",
|
||||
"react-dom": "^17.0.2",
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -46,6 +46,7 @@
|
|||
"borrows": "Borrows",
|
||||
"break-even": "Break-even Price",
|
||||
"buy": "Buy",
|
||||
"calculator": "Calculator",
|
||||
"cancel": "Cancel",
|
||||
"cancel-error": "Error cancelling order",
|
||||
"cancel-success": "Successfully cancelled order",
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
"borrows": "Préstamos",
|
||||
"break-even": "Precio de equilibrio",
|
||||
"buy": "Comprar",
|
||||
"calculator": "Calculadora",
|
||||
"cancel": "Cancelar",
|
||||
"cancel-error": "Error al cancelar el pedido",
|
||||
"cancel-success": "Pedido cancelado con éxito",
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
"borrows": "借贷",
|
||||
"break-even": "保本价格",
|
||||
"buy": "买入",
|
||||
"calculator": "计算器",
|
||||
"cancel": "取消",
|
||||
"cancel-error": "取消掛单出错",
|
||||
"cancel-success": "已取消掛单",
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
"borrows": "借貸",
|
||||
"break-even": "保本價格",
|
||||
"buy": "買入",
|
||||
"calculator": "計算器",
|
||||
"cancel": "取消",
|
||||
"cancel-error": "取消掛單出錯",
|
||||
"cancel-success": "已取消掛單",
|
||||
|
|
76
yarn.lock
76
yarn.lock
|
@ -945,7 +945,7 @@
|
|||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.0.0":
|
||||
"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1":
|
||||
version "7.16.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a"
|
||||
integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==
|
||||
|
@ -3204,7 +3204,7 @@ classnames@2.2.6:
|
|||
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
|
||||
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
|
||||
|
||||
classnames@2.3.1, classnames@^2.2.5:
|
||||
classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
|
||||
integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
|
||||
|
@ -4018,6 +4018,11 @@ dom-accessibility-api@^0.5.6:
|
|||
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.6.tgz#3f5d43b52c7a3bd68b5fb63fa47b4e4c1fdf65a9"
|
||||
integrity sha512-DplGLZd8L1lN64jlT27N9TVSESFR5STaEJvX+thCby7fuCHonfPpAlodYc3vuUYbDuDec5w8AMP7oCM5TWFsqw==
|
||||
|
||||
dom-align@^1.7.0:
|
||||
version "1.12.2"
|
||||
resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b"
|
||||
integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg==
|
||||
|
||||
dom-helpers@^3.4.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
|
||||
|
@ -8130,6 +8135,66 @@ raw-body@2.4.1:
|
|||
iconv-lite "0.4.24"
|
||||
unpipe "1.0.0"
|
||||
|
||||
rc-align@^4.0.0:
|
||||
version "4.0.11"
|
||||
resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e"
|
||||
integrity sha512-n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.10.1"
|
||||
classnames "2.x"
|
||||
dom-align "^1.7.0"
|
||||
lodash "^4.17.21"
|
||||
rc-util "^5.3.0"
|
||||
resize-observer-polyfill "^1.5.1"
|
||||
|
||||
rc-motion@^2.0.0:
|
||||
version "2.4.4"
|
||||
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0"
|
||||
integrity sha512-ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.11.1"
|
||||
classnames "^2.2.1"
|
||||
rc-util "^5.2.1"
|
||||
|
||||
rc-slider@^9.7.5:
|
||||
version "9.7.5"
|
||||
resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4"
|
||||
integrity sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.10.1"
|
||||
classnames "^2.2.5"
|
||||
rc-tooltip "^5.0.1"
|
||||
rc-util "^5.16.1"
|
||||
shallowequal "^1.1.0"
|
||||
|
||||
rc-tooltip@^5.0.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154"
|
||||
integrity sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.11.2"
|
||||
rc-trigger "^5.0.0"
|
||||
|
||||
rc-trigger@^5.0.0:
|
||||
version "5.2.10"
|
||||
resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.10.tgz#8a0057a940b1b9027eaa33beec8a6ecd85cce2b1"
|
||||
integrity sha512-FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.11.2"
|
||||
classnames "^2.2.6"
|
||||
rc-align "^4.0.0"
|
||||
rc-motion "^2.0.0"
|
||||
rc-util "^5.5.0"
|
||||
|
||||
rc-util@^5.16.1, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.5.0:
|
||||
version "5.16.1"
|
||||
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.16.1.tgz#374db7cb735512f05165ddc3d6b2c61c21b8b4e3"
|
||||
integrity sha512-kSCyytvdb3aRxQacS/71ta6c+kBWvM1v8/2h9d/HaNWauc3qB8pLnF20PJ8NajkNN8gb+rR1l0eWO+D4Pz+LLQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.12.5"
|
||||
react-is "^16.12.0"
|
||||
shallowequal "^1.1.0"
|
||||
|
||||
rc@^1.2.7:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||
|
@ -8200,7 +8265,7 @@ react-is@17.0.2, react-is@^17.0.1, react-is@^17.0.2:
|
|||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
||||
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
||||
|
||||
react-is@^16.7.0, react-is@^16.8.1:
|
||||
react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
@ -8803,6 +8868,11 @@ shallow-equal@^1.2.1:
|
|||
resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da"
|
||||
integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==
|
||||
|
||||
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==
|
||||
|
||||
sharp@^0.28.3:
|
||||
version "0.28.3"
|
||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.28.3.tgz#ecd74cefd020bee4891bb137c9850ee2ce277a8b"
|
||||
|
|
Loading…
Reference in New Issue