From 83d9b202050e889d7ae9a80d516b6b76ee9faafb Mon Sep 17 00:00:00 2001 From: Anthony Potdevin <31413433+apotdevin@users.noreply.github.com> Date: Thu, 16 Apr 2020 10:57:22 +0200 Subject: [PATCH] chore: changes and config for ssr and nextjs (#26) * test: change docker to yarn * test: change api handler url * fix: image imports in public folder * fix: add path prefix to links * chore: update deps * chore: small fixes * chore: remove prefetch flag * chore: remove use size hook * Revert "chore: remove prefetch flag" This reverts commit ae7ee3bc230e883aeea443a868fb18cd2c4b7d25. --- Dockerfile | 15 +- next.config.js | 1 + package.json | 12 +- pages/_app.tsx | 22 +- pages/_document.tsx | 1 - pages/api/v1.tsx | 4 +- pages/index.tsx | 3 +- public/static/images/MoshingDoodle.svg | 1 - src/components/auth/index.tsx | 5 +- .../buttons/colorButton/ColorButton.tsx | 36 + .../buttons/secureButton/LoginModal.tsx | 7 +- .../buttons/secureButton/SecureButton.tsx | 1 + .../connectionCheck/ConnectionCheck.tsx | 6 - src/components/generic/Styled.tsx | 14 + src/components/input/Input.tsx | 39 +- src/components/link/Link.tsx | 7 +- src/components/viewSwitch/ViewSwitch.tsx | 31 + src/hooks/UseSize.tsx | 28 - src/layouts/header/Header.styled.ts | 57 ++ src/layouts/header/Header.tsx | 108 +-- src/utils/basePath.tsx | 6 + src/views/home/account/AccountInfo.tsx | 160 ++-- .../account/createInvoice/CreateInvoice.tsx | 12 +- src/views/home/account/pay/pay.tsx | 13 +- .../account/receiveOnChain/ReceiveOnChain.tsx | 17 +- .../home/account/sendOnChain/SendOnChain.tsx | 7 +- src/views/home/quickActions/decode/Decode.tsx | 13 +- .../quickActions/openChannel/OpenChannel.tsx | 10 +- src/views/home/reports/flow/index.tsx | 21 +- .../home/reports/forwardReport/index.tsx | 6 +- .../reports/liquidReport/LiquidReport.tsx | 5 +- src/views/homepage/HomePage.styled.tsx | 5 +- src/views/homepage/Sections/InfoSection.tsx | 13 +- src/views/peers/AddPeer.tsx | 14 +- src/views/settings/Account.tsx | 3 +- src/views/settings/Danger.tsx | 5 +- src/views/trading/MethodBoxes.tsx | 2 +- src/views/trading/OfferFilters.tsx | 5 +- yarn.lock | 836 ++++++++++++------ 39 files changed, 942 insertions(+), 609 deletions(-) delete mode 100644 public/static/images/MoshingDoodle.svg create mode 100644 src/components/viewSwitch/ViewSwitch.tsx delete mode 100644 src/hooks/UseSize.tsx create mode 100644 src/layouts/header/Header.styled.ts create mode 100644 src/utils/basePath.tsx diff --git a/Dockerfile b/Dockerfile index bfe1e13f..dffba49f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,17 @@ -FROM node:11-alpine +FROM node:12-alpine # Create app directory WORKDIR /usr/src/app -RUN apk update && apk upgrade \ - && apk --no-cache add --virtual builds-deps build-base python \ - && npm install node-gyp node-pre-gyp - # Install app dependencies COPY package.json /usr/src/app/ -RUN npm install --only=prod -RUN npm install cross-env +COPY yarn.lock /usr/src/app/ +RUN yarn --production=true +RUN yarn add cross-env # Bundle app source COPY . /usr/src/app -RUN npm run build +RUN yarn build EXPOSE 3000 -CMD [ "npm", "start" ] \ No newline at end of file +CMD [ "yarn", "start" ] \ No newline at end of file diff --git a/next.config.js b/next.config.js index 26e36268..74c57e90 100644 --- a/next.config.js +++ b/next.config.js @@ -14,6 +14,7 @@ module.exports = withBundleAnalyzer({ publicRuntimeConfig: { nodeEnv: process.env.NODE_ENV || 'development', apiUrl: `${process.env.BASE_PATH || ''}/api/v1`, + apiBaseUrl: `${process.env.API_BASE_URL || ''}/api/v1`, basePath: process.env.BASE_PATH || '', npmVersion: process.env.npm_package_version || '0.0.0', }, diff --git a/package.json b/package.json index cbece6d4..2fbbafde 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "author": "", "license": "MIT", "dependencies": { - "@apollo/react-hooks": "^3.1.4", + "@apollo/react-hooks": "^3.1.5", "apollo-boost": "^0.4.7", "apollo-server-micro": "^2.12.0", "base64url": "^3.0.1", @@ -29,14 +29,14 @@ "graphql-iso-date": "^3.6.1", "graphql-rate-limit": "^2.0.1", "graphql-tag": "^2.10.3", - "intersection-observer": "^0.7.0", + "intersection-observer": "^0.8.0", "isomorphic-unfetch": "^3.0.0", "ln-service": "^47.16.0", "lodash.debounce": "^4.0.8", "lodash.merge": "^4.6.2", "micro-cors": "^0.1.1", - "next": "^9.3.4", - "next-with-apollo": "^5.0.0", + "next": "^9.3.5", + "next-with-apollo": "^5.0.1", "numeral": "^2.0.6", "qrcode.react": "^1.0.0", "react": "^16.13.1", @@ -47,7 +47,7 @@ "react-spinners": "^0.8.1", "react-spring": "^8.0.27", "react-toastify": "^5.5.0", - "react-tooltip": "^4.2.2", + "react-tooltip": "^4.2.3", "styled-components": "^5.1.0", "styled-react-modal": "^2.0.1", "styled-theming": "^2.2.0", @@ -61,7 +61,7 @@ "@babel/core": "^7.9.0", "@commitlint/cli": "^8.3.5", "@commitlint/config-conventional": "^8.3.4", - "@next/bundle-analyzer": "^9.3.4", + "@next/bundle-analyzer": "^9.3.5", "@storybook/addon-actions": "^5.3.18", "@storybook/addon-knobs": "^5.3.18", "@storybook/addon-viewport": "^5.3.18", diff --git a/pages/_app.tsx b/pages/_app.tsx index 33f93e4f..e0639180 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -21,6 +21,7 @@ import { } from '../src/components/stateViews/StateCards'; import { toast } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; +import Head from 'next/head'; toast.configure({ draggable: false }); @@ -30,7 +31,7 @@ const Wrapper: React.FC = ({ children }) => { const { theme } = useSettings(); const { loggedIn } = useAccount(); const { pathname } = useRouter(); - const { connected, loading, error } = useConnectionState(); + const { loading, error } = useConnectionState(); const isInArray = withoutGrid.includes(pathname); @@ -64,13 +65,18 @@ class MyApp extends App { render() { const { Component, pageProps, apollo } = this.props; return ( - - - - - - - + <> + + ThunderHub - Lightning Node Manager + + + + + + + + + ); } } diff --git a/pages/_document.tsx b/pages/_document.tsx index fb09e171..87572213 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -37,7 +37,6 @@ export default class MyDocument extends Document { return ( - ThunderHub - Lightning Node Manager { const { push } = useRouter(); @@ -11,7 +12,7 @@ const ContextApp: React.FC = () => { if (loggedIn) { if (admin === '' || viewOnly !== '' || sessionAdmin !== '') { - push('/home'); + push(appendBasePath('/home')); } } diff --git a/public/static/images/MoshingDoodle.svg b/public/static/images/MoshingDoodle.svg deleted file mode 100644 index a2e9bafe..00000000 --- a/public/static/images/MoshingDoodle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/auth/index.tsx b/src/components/auth/index.tsx index 2844c83c..bdea48e9 100644 --- a/src/components/auth/index.tsx +++ b/src/components/auth/index.tsx @@ -12,6 +12,7 @@ import { useStatusDispatch } from '../../context/StatusContext'; import { useRouter } from 'next/router'; import { toast } from 'react-toastify'; import { LoadingCard } from '../loading/LoadingCard'; +import { appendBasePath } from '../../utils/basePath'; const PasswordInput = dynamic(() => import('./views/Password'), { ssr: false, @@ -114,7 +115,7 @@ export const Auth = ({ type, status, callback, setStatus }: AuthProps) => { dispatchState({ type: 'disconnected' }); changeAccount(id); - push('/'); + push(appendBasePath('/')); }; const handleSave = () => { @@ -143,7 +144,7 @@ export const Auth = ({ type, status, callback, setStatus }: AuthProps) => { dispatchState({ type: 'disconnected' }); changeAccount(id); - push('/'); + push(appendBasePath('/')); } }; diff --git a/src/components/buttons/colorButton/ColorButton.tsx b/src/components/buttons/colorButton/ColorButton.tsx index 328198fd..9c8956f3 100644 --- a/src/components/buttons/colorButton/ColorButton.tsx +++ b/src/components/buttons/colorButton/ColorButton.tsx @@ -10,14 +10,17 @@ import { colorButtonBorderTwo, hoverTextColor, themeColors, + mediaWidths, } from '../../../styles/Themes'; import { ChevronRight } from '../../generic/Icons'; import ScaleLoader from 'react-spinners/ScaleLoader'; interface GeneralProps { fullWidth?: boolean; + mobileFullWidth?: boolean; buttonWidth?: string; withMargin?: string; + mobileMargin?: string; } const GeneralButton = styled.button` @@ -35,6 +38,29 @@ const GeneralButton = styled.button` margin: ${({ withMargin }) => (withMargin ? withMargin : '0')}; width: ${({ fullWidth, buttonWidth }: GeneralProps) => fullWidth ? '100%' : buttonWidth ? buttonWidth : 'auto'}; + + @media (${mediaWidths.mobile}) { + ${({ withMargin, mobileMargin }) => + mobileMargin + ? css` + margin: ${mobileMargin}; + ` + : withMargin + ? css` + margin: ${withMargin}; + ` + : '0'}; + ${({ fullWidth, mobileFullWidth }) => + mobileFullWidth + ? css` + width: 100%; + ` + : fullWidth + ? css` + width: 100%; + ` + : ''}; + } `; const StyledArrow = styled.div` @@ -97,8 +123,10 @@ export interface ColorButtonProps { arrow?: boolean; onClick?: any; withMargin?: string; + mobileMargin?: string; withBorder?: boolean; fullWidth?: boolean; + mobileFullWidth?: boolean; width?: string; } @@ -110,8 +138,10 @@ export const ColorButton = ({ selected, arrow, withMargin, + mobileMargin, withBorder, fullWidth, + mobileFullWidth, width, onClick, }: ColorButtonProps) => { @@ -119,7 +149,9 @@ export const ColorButton = ({ return ( {children} @@ -132,7 +164,9 @@ export const ColorButton = ({ return ( @@ -146,8 +180,10 @@ export const ColorButton = ({ selected={selected} onClick={onClick} withMargin={withMargin} + mobileMargin={mobileMargin} withBorder={withBorder} fullWidth={fullWidth} + mobileFullWidth={mobileFullWidth} buttonWidth={width} > {children} diff --git a/src/components/buttons/secureButton/LoginModal.tsx b/src/components/buttons/secureButton/LoginModal.tsx index 0fad6b3d..164fbfe4 100644 --- a/src/components/buttons/secureButton/LoginModal.tsx +++ b/src/components/buttons/secureButton/LoginModal.tsx @@ -12,10 +12,9 @@ import styled from 'styled-components'; import { useAccount } from '../../../context/AccountContext'; import { saveSessionAuth } from '../../../utils/auth'; import { useSettings } from '../../../context/SettingsContext'; -import { textColorMap, mediaDimensions } from '../../../styles/Themes'; +import { textColorMap } from '../../../styles/Themes'; import { ColorButton } from '../colorButton/ColorButton'; import { Input } from '../../input/Input'; -import { useSize } from '../../../hooks/UseSize'; const RadioText = styled.div` margin-left: 10px; @@ -43,7 +42,6 @@ export const LoginModal = ({ callback, variables, }: LoginProps) => { - const { width } = useSize(); const { theme } = useSettings(); const [pass, setPass] = useState(''); @@ -84,7 +82,8 @@ export const LoginModal = ({ Password: setPass(e.target.value)} /> diff --git a/src/components/buttons/secureButton/SecureButton.tsx b/src/components/buttons/secureButton/SecureButton.tsx index f5bc6558..e0654811 100644 --- a/src/components/buttons/secureButton/SecureButton.tsx +++ b/src/components/buttons/secureButton/SecureButton.tsx @@ -11,6 +11,7 @@ interface SecureButtonProps extends ColorButtonProps { variables: {}; color?: string; withMargin?: string; + mobileMargin?: string; arrow?: boolean; } diff --git a/src/components/connectionCheck/ConnectionCheck.tsx b/src/components/connectionCheck/ConnectionCheck.tsx index c2503a50..8217959a 100644 --- a/src/components/connectionCheck/ConnectionCheck.tsx +++ b/src/components/connectionCheck/ConnectionCheck.tsx @@ -6,10 +6,8 @@ import { import { useQuery } from '@apollo/react-hooks'; import { useAccount } from '../../context/AccountContext'; import { GET_CAN_CONNECT } from '../../graphql/query'; -import { useRouter } from 'next/router'; export const ConnectionCheck = () => { - const { push } = useRouter(); const { connected } = useConnectionState(); const dispatch = useConnectionDispatch(); @@ -20,10 +18,6 @@ export const ConnectionCheck = () => { cert, }; - // useEffect(() => { - // !loggedIn && push('/'); - // }, [loggedIn]); - const { data, loading } = useQuery(GET_CAN_CONNECT, { variables: { auth }, skip: connected || !loggedIn, diff --git a/src/components/generic/Styled.tsx b/src/components/generic/Styled.tsx index 11e5cb33..f48a1a3c 100644 --- a/src/components/generic/Styled.tsx +++ b/src/components/generic/Styled.tsx @@ -28,6 +28,7 @@ export const CardTitle = styled.div` export interface CardProps { bottom?: string; cardPadding?: string; + mobileCardPadding?: string; } export const Card = styled.div` @@ -38,6 +39,19 @@ export const Card = styled.div` border: 1px solid ${cardBorderColor}; margin-bottom: ${({ bottom }: CardProps) => (bottom ? bottom : '25px')}; width: 100%; + + @media (${mediaWidths.mobile}) { + ${({ cardPadding, mobileCardPadding }) => + mobileCardPadding + ? css` + margin: ${mobileCardPadding}; + ` + : cardPadding + ? css` + margin: ${cardPadding}; + ` + : ''}; + } `; interface SeparationProps { diff --git a/src/components/input/Input.tsx b/src/components/input/Input.tsx index ddb22fed..9007dab9 100644 --- a/src/components/input/Input.tsx +++ b/src/components/input/Input.tsx @@ -5,13 +5,15 @@ import { colorButtonBorder, inputBackgroundColor, inputBorderColor, + mediaWidths, } from '../../styles/Themes'; interface InputProps { color?: string; withMargin?: string; + mobileMargin?: string; fullWidth?: boolean; - inputWidth?: string; + mobileFullWidth?: boolean; maxWidth?: string; } @@ -30,10 +32,32 @@ export const StyledInput = styled.input` css` max-width: ${maxWidth}; `} - width: ${({ fullWidth, inputWidth }: InputProps) => - fullWidth ? '100%' : inputWidth ? inputWidth : 'auto'}; + width: ${({ fullWidth }: InputProps) => (fullWidth ? '100%' : 'auto')}; margin: ${({ withMargin }) => (withMargin ? withMargin : '0')}; + @media (${mediaWidths.mobile}) { + ${({ withMargin, mobileMargin }) => + mobileMargin + ? css` + margin: ${mobileMargin}; + ` + : withMargin + ? css` + margin: ${withMargin}; + ` + : ''}; + ${({ fullWidth, mobileFullWidth }) => + mobileFullWidth + ? css` + width: 100%; + ` + : fullWidth + ? css` + width: 100%; + ` + : ''}; + } + &:hover { border: 1px solid ${({ color }: InputProps) => (color ? color : colorButtonBorder)}; @@ -52,8 +76,9 @@ interface InputCompProps { placeholder?: string; color?: string; withMargin?: string; + mobileMargin?: string; fullWidth?: boolean; - width?: string; + mobileFullWidth?: boolean; maxWidth?: string; onChange: (e: any) => void; } @@ -64,8 +89,9 @@ export const Input = ({ placeholder, color, withMargin, + mobileMargin, + mobileFullWidth, fullWidth = true, - width, maxWidth, onChange, }: InputCompProps) => { @@ -76,9 +102,10 @@ export const Input = ({ value={value} color={color} withMargin={withMargin} + mobileMargin={mobileMargin} onChange={e => onChange(e)} fullWidth={fullWidth} - inputWidth={width} + mobileFullWidth={mobileFullWidth} maxWidth={maxWidth} /> ); diff --git a/src/components/link/Link.tsx b/src/components/link/Link.tsx index bd072650..3a60d042 100644 --- a/src/components/link/Link.tsx +++ b/src/components/link/Link.tsx @@ -77,8 +77,13 @@ export const Link = ({ ); } + const linkProps = { + href: `${basePath}${to}`, + ...(basePath !== '' ? { prefetch: false } : {}), + }; + return ( - + {children} ); diff --git a/src/components/viewSwitch/ViewSwitch.tsx b/src/components/viewSwitch/ViewSwitch.tsx new file mode 100644 index 00000000..f99c7d56 --- /dev/null +++ b/src/components/viewSwitch/ViewSwitch.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import styled from 'styled-components'; +import { mediaWidths } from '../../styles/Themes'; + +const HideMobile = styled.div` + @media (${mediaWidths.mobile}) { + display: none; + } +`; + +const HideDesktop = styled.div` + display: none; + @media (${mediaWidths.mobile}) { + display: unset; + } +`; + +interface ViewSwitchProps { + hideMobile?: boolean; +} + +export const ViewSwitch: React.FC = ({ + hideMobile, + children, +}) => { + return hideMobile ? ( + {children} + ) : ( + {children} + ); +}; diff --git a/src/hooks/UseSize.tsx b/src/hooks/UseSize.tsx deleted file mode 100644 index fc8df42a..00000000 --- a/src/hooks/UseSize.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { useState, useEffect } from 'react'; -import debounce from 'lodash.debounce'; - -const getSize = () => { - const isClient = typeof window === 'object'; - return { - width: isClient ? window.innerWidth : 0, - height: isClient ? window.innerHeight : 0, - }; -}; - -export const useSize = () => { - const [windowSize, setWindowSize] = useState(getSize()); - - useEffect(() => { - const handleResize = () => { - setWindowSize(getSize()); - }; - - handleResize(); - - const debouncedHandle = debounce(handleResize, 250); - window.addEventListener('resize', debouncedHandle); - return () => window.removeEventListener('resize', debouncedHandle); - }, []); - - return windowSize; -}; diff --git a/src/layouts/header/Header.styled.ts b/src/layouts/header/Header.styled.ts new file mode 100644 index 00000000..7fa25c87 --- /dev/null +++ b/src/layouts/header/Header.styled.ts @@ -0,0 +1,57 @@ +import styled, { css } from 'styled-components'; +import { headerTextColor, themeColors, mediaWidths } from '../../styles/Themes'; +import { SingleLine } from '../../components/generic/Styled'; + +export const HeaderStyle = styled.div` + padding: 16px 0; +`; + +export const IconPadding = styled.div` + padding-right: 6px; + margin-bottom: -4px; +`; + +export const HeaderTitle = styled.div` + color: ${headerTextColor}; + font-weight: 800; + display: flex; + align-items: center; + justify-content: center; + + ${({ withPadding }: { withPadding: boolean }) => + withPadding && + css` + @media (${mediaWidths.mobile}) { + margin-bottom: 16px; + } + `} +`; + +export const IconWrapper = styled.div` + display: flex; + justify-content: center; + align-items: center; + width: 24px; + height: 24px; +`; + +export const LinkWrapper = styled.div` + color: ${headerTextColor}; + margin: ${({ last }: { last?: boolean }) => + last ? '0 16px 0 4px' : '0 4px'}; + + :hover { + color: ${themeColors.blue2}; + } +`; + +export const HeaderLine = styled(SingleLine)` + @media (${mediaWidths.mobile}) { + ${({ loggedIn }: { loggedIn: boolean }) => + !loggedIn && + css` + width: 100%; + flex-direction: column; + `} + } +`; diff --git a/src/layouts/header/Header.tsx b/src/layouts/header/Header.tsx index 2500e789..f9994c3b 100644 --- a/src/layouts/header/Header.tsx +++ b/src/layouts/header/Header.tsx @@ -1,15 +1,8 @@ import React, { useState } from 'react'; -import styled, { css } from 'styled-components'; -import { - headerColor, - headerTextColor, - themeColors, - mediaWidths, - mediaDimensions, -} from '../../styles/Themes'; +import { headerColor, headerTextColor } from '../../styles/Themes'; import { HomeButton } from '../../views/homepage/HomePage.styled'; import { useAccount } from '../../context/AccountContext'; -import { SingleLine, ResponsiveLine } from '../../components/generic/Styled'; +import { SingleLine } from '../../components/generic/Styled'; import { Cpu, MenuIcon, @@ -18,60 +11,24 @@ import { Circle, } from '../../components/generic/Icons'; import { BurgerMenu } from '../../components/burgerMenu/BurgerMenu'; -import { useSize } from '../../hooks/UseSize'; import { useTransition, animated } from 'react-spring'; import { Section } from '../../components/section/Section'; import { useStatusState } from '../../context/StatusContext'; import { Link } from '../../components/link/Link'; - -const HeaderStyle = styled.div` - padding: 16px 0; -`; - -const IconPadding = styled.div` - padding-right: 6px; - margin-bottom: -4px; -`; - -const HeaderTitle = styled.div` - color: ${headerTextColor}; - font-weight: 800; - display: flex; - align-items: center; - justify-content: center; - - ${({ withPadding }: { withPadding: boolean }) => - withPadding && - css` - @media (${mediaWidths.mobile}) { - margin-bottom: 16px; - } - `} -`; - -const IconWrapper = styled.div` - display: flex; - justify-content: center; - align-items: center; - width: 24px; - height: 24px; -`; - -const LinkWrapper = styled.div` - color: ${headerTextColor}; - margin: ${({ last }: { last?: boolean }) => - last ? '0 16px 0 4px' : '0 4px'}; - - :hover { - color: ${themeColors.blue2}; - } -`; +import { ViewSwitch } from '../../components/viewSwitch/ViewSwitch'; +import { + IconWrapper, + LinkWrapper, + HeaderStyle, + HeaderLine, + HeaderTitle, + IconPadding, +} from './Header.styled'; const AnimatedBurger = animated(MenuIcon); const AnimatedClose = animated(XSvg); export const Header = () => { - const { width } = useSize(); const { loggedIn } = useAccount(); const [open, setOpen] = useState(false); const { syncedToChain } = useStatusState(); @@ -82,9 +39,9 @@ export const Header = () => { leave: { opacity: 0 }, }); - const renderLoggedIn = () => { - if (width <= mediaDimensions.mobile) { - return ( + const renderLoggedIn = () => ( + <> + setOpen(prev => !prev)}> {transitions.map(({ item, key, props }) => item ? ( @@ -94,16 +51,16 @@ export const Header = () => { ) )} - ); - } - return ( - - ); - }; + + + + + + ); const renderLoggedOut = () => ( <> @@ -124,18 +81,13 @@ export const Header = () => { ); - const HeaderWrapper = - width <= mediaDimensions.mobile && !loggedIn ? ResponsiveLine : SingleLine; - return ( <>
- + - + @@ -145,11 +97,13 @@ export const Header = () => { {loggedIn ? renderLoggedIn() : renderLoggedOut()} - +
- {open && width <= mediaDimensions.mobile && ( - + {open && ( + + + )} ); diff --git a/src/utils/basePath.tsx b/src/utils/basePath.tsx new file mode 100644 index 00000000..a02f47ef --- /dev/null +++ b/src/utils/basePath.tsx @@ -0,0 +1,6 @@ +import getConfig from 'next/config'; + +const { publicRuntimeConfig } = getConfig(); +const { basePath } = publicRuntimeConfig; + +export const appendBasePath = (url: string): string => `${basePath}${url}`; diff --git a/src/views/home/account/AccountInfo.tsx b/src/views/home/account/AccountInfo.tsx index d6e938d0..1b92a00c 100644 --- a/src/views/home/account/AccountInfo.tsx +++ b/src/views/home/account/AccountInfo.tsx @@ -1,12 +1,12 @@ -import React, { useState, ReactNode } from 'react'; +import React, { useState } from 'react'; import { Card, CardWithTitle, SubTitle, - SingleLine, Separation, DarkSubTitle, ColorButton, + ResponsiveLine, } from '../../../components/generic/Styled'; import styled from 'styled-components'; import { @@ -23,9 +23,8 @@ import { SendOnChainCard } from './sendOnChain/SendOnChain'; import { ReceiveOnChainCard } from './receiveOnChain/ReceiveOnChain'; import { LoadingCard } from '../../../components/loading/LoadingCard'; import { AdminSwitch } from '../../../components/adminSwitch/AdminSwitch'; -import { useSize } from '../../../hooks/UseSize'; import { Price } from '../../../components/price/Price'; -import { mediaWidths, mediaDimensions } from '../../../styles/Themes'; +import { mediaWidths } from '../../../styles/Themes'; import { useStatusState } from '../../../context/StatusContext'; const Tile = styled.div` @@ -34,34 +33,22 @@ const Tile = styled.div` justify-content: space-between; align-items: ${({ startTile }: { startTile?: boolean }) => startTile ? 'flex-start' : 'flex-end'}; + + @media (${mediaWidths.mobile}) { + width: 100%; + flex-direction: row; + align-items: flex-end; + margin: 0 0 8px; + } `; const ButtonRow = styled.div` display: flex; `; -const Responsive = styled(SingleLine)` - @media (${mediaWidths.mobile}) { - flex-direction: column; - } -`; - const sectionColor = '#FFD300'; -interface WrapperProps { - width?: number; - children: ReactNode; -} - -const ResponsiveWrapper = ({ children, width = 0 }: WrapperProps) => { - if (width <= mediaDimensions.mobile) { - return {children}; - } - return <>{children}; -}; - export const AccountInfo = () => { - const { width } = useSize(); const [state, setState] = useState('none'); const { @@ -124,43 +111,41 @@ export const AccountInfo = () => { const showChain = state === 'send_chain' || state === 'receive_chain' || state === 'none'; + const renderBalances = (current: JSX.Element, pending: JSX.Element) => ( + <> + + Current Balance +
{formatCCB}
+
+ + Pending Balance +
{formatPCB}
+
+ + ); + + const renderButtons = (send: string, receive: string) => ( + <> + setState(send)}> + + + setState(receive)}> + + + + ); + const renderLnAccount = () => ( - - - - - Account -
Lightning
-
-
- - - Current Balance -
{formatCCB}
-
- - Pending Balance -
{formatPCB}
-
-
+ + + + Account +
Lightning
+
+ {renderBalances(formatCCB, formatPCB)} - {showLn && showChain && ( - - setState('send_ln')} - > - - - setState('receive_ln')} - > - - - - )} + {showLn && showChain && renderButtons('send_ln', 'receive_ln')} {showLn && !showChain && ( setState('none')}> @@ -168,46 +153,20 @@ export const AccountInfo = () => { )} -
+
); const renderChainAccount = () => ( - - - - - Account -
Bitcoin
-
-
- - - Current Balance -
{formatCB}
-
- - Pending Balance -
{formatPB}
-
-
+ + + + Account +
Bitcoin
+
+ {renderBalances(formatCB, formatPB)} - {showLn && showChain && ( - - setState('send_chain')} - > - - - setState('receive_chain')} - > - - - - )} + {showLn && showChain && renderButtons('send_chain', 'receive_chain')} {!showLn && showChain && ( setState('none')}> @@ -215,7 +174,7 @@ export const AccountInfo = () => { )} -
+ ); return ( @@ -223,7 +182,7 @@ export const AccountInfo = () => { Resume - + { Account
Total
- - - Current Balance -
{totalB}
-
- - Pending Balance -
{totalPB}
-
-
-
+ {renderBalances(totalB, totalPB)} +
diff --git a/src/views/home/account/createInvoice/CreateInvoice.tsx b/src/views/home/account/createInvoice/CreateInvoice.tsx index d23a571d..d278db04 100644 --- a/src/views/home/account/createInvoice/CreateInvoice.tsx +++ b/src/views/home/account/createInvoice/CreateInvoice.tsx @@ -14,8 +14,7 @@ import QRCode from 'qrcode.react'; import { ColorButton } from '../../../../components/buttons/colorButton/ColorButton'; import CopyToClipboard from 'react-copy-to-clipboard'; import { Input } from '../../../../components/input/Input'; -import { useSize } from '../../../../hooks/UseSize'; -import { mediaWidths, mediaDimensions } from '../../../../styles/Themes'; +import { mediaWidths } from '../../../../styles/Themes'; const Responsive = styled.div` display: flex; @@ -51,7 +50,6 @@ const Column = styled.div` `; export const CreateInvoiceCard = ({ color }: { color: string }) => { - const { width } = useSize(); const [amount, setAmount] = useState(0); const [request, setRequest] = useState(''); @@ -90,7 +88,8 @@ export const CreateInvoiceCard = ({ color }: { color: string }) => { Amount to receive: setAmount(Number(e.target.value))} @@ -99,10 +98,11 @@ export const CreateInvoiceCard = ({ color }: { color: string }) => { callback={createInvoice} variables={{ amount }} disabled={amount === 0} - withMargin={width <= mediaDimensions.mobile ? '' : '0 0 0 16px'} + withMargin={'0 0 0 16px'} + mobileMargin={'0'} arrow={true} loading={loading} - fullWidth={width <= mediaDimensions.mobile} + mobileFullWidth={true} > Create Invoice diff --git a/src/views/home/account/pay/pay.tsx b/src/views/home/account/pay/pay.tsx index 7d56c90e..61055375 100644 --- a/src/views/home/account/pay/pay.tsx +++ b/src/views/home/account/pay/pay.tsx @@ -12,7 +12,6 @@ import { toast } from 'react-toastify'; import { getErrorContent } from '../../../../utils/error'; import { SecureButton } from '../../../../components/buttons/secureButton/SecureButton'; import { Input } from '../../../../components/input/Input'; -import { useSize } from '../../../../hooks/UseSize'; import Modal from '../../../../components/modal/ReactModal'; import { useAccount } from '../../../../context/AccountContext'; import { ColorButton } from '../../../../components/buttons/colorButton/ColorButton'; @@ -21,10 +20,8 @@ import { getNodeLink, } from '../../../../components/generic/Helpers'; import { Price } from '../../../../components/price/Price'; -import { mediaDimensions } from '../../../../styles/Themes'; export const PayCard = ({ setOpen }: { setOpen: () => void }) => { - const { width } = useSize(); const [request, setRequest] = useState(''); const [modalOpen, setModalOpen] = useState(false); @@ -81,16 +78,16 @@ export const PayCard = ({ setOpen }: { setOpen: () => void }) => { Invoice: setRequest(e.target.value)} /> { decode({ variables: { request, auth } }); }} diff --git a/src/views/home/account/receiveOnChain/ReceiveOnChain.tsx b/src/views/home/account/receiveOnChain/ReceiveOnChain.tsx index 55699f91..0bc3a21b 100644 --- a/src/views/home/account/receiveOnChain/ReceiveOnChain.tsx +++ b/src/views/home/account/receiveOnChain/ReceiveOnChain.tsx @@ -11,14 +11,12 @@ import styled from 'styled-components'; import { toast } from 'react-toastify'; import { getErrorContent } from '../../../../utils/error'; import { SecureButton } from '../../../../components/buttons/secureButton/SecureButton'; -import { useSize } from '../../../../hooks/UseSize'; import CopyToClipboard from 'react-copy-to-clipboard'; import { ColorButton } from '../../../../components/buttons/colorButton/ColorButton'; import { MultiButton, SingleButton, } from '../../../../components/buttons/multiButton/MultiButton'; -import { mediaDimensions } from '../../../../styles/Themes'; const ButtonRow = styled.div` width: auto; @@ -30,8 +28,6 @@ const TitleWithSpacing = styled(NoWrapTitle)` `; export const ReceiveOnChainCard = () => { - const { width } = useSize(); - const [nested, setNested] = useState(false); const [received, setReceived] = useState(false); @@ -55,11 +51,9 @@ export const ReceiveOnChainCard = () => { onCopy={() => toast.success('Address Copied')} > Copy @@ -93,12 +87,11 @@ export const ReceiveOnChainCard = () => { callback={createAddress} variables={{ nested }} disabled={received} - withMargin={ - width <= mediaDimensions.mobile ? '16px 0 0' : '0 0 0 16px' - } + withMargin={'0 0 0 16px'} + mobileMargin={'16px 0 0'} arrow={true} loading={loading} - fullWidth={width <= mediaDimensions.mobile} + mobileFullWidth={true} > Create Address diff --git a/src/views/home/account/sendOnChain/SendOnChain.tsx b/src/views/home/account/sendOnChain/SendOnChain.tsx index 995b0f8d..73cc0971 100644 --- a/src/views/home/account/sendOnChain/SendOnChain.tsx +++ b/src/views/home/account/sendOnChain/SendOnChain.tsx @@ -15,13 +15,12 @@ import { getErrorContent } from '../../../../utils/error'; import { useBitcoinState } from '../../../../context/BitcoinContext'; import { SecureButton } from '../../../../components/buttons/secureButton/SecureButton'; import { Input } from '../../../../components/input/Input'; -import { useSize } from '../../../../hooks/UseSize'; import { MultiButton, SingleButton, } from '../../../../components/buttons/multiButton/MultiButton'; import { Price, getPrice } from '../../../../components/price/Price'; -import { mediaWidths, mediaDimensions } from '../../../../styles/Themes'; +import { mediaWidths } from '../../../../styles/Themes'; import { useSettings } from '../../../../context/SettingsContext'; import Modal from '../../../../components/modal/ReactModal'; import { ColorButton } from '../../../../components/buttons/colorButton/ColorButton'; @@ -51,7 +50,6 @@ export const SendOnChainCard = ({ setOpen }: { setOpen: () => void }) => { const [modalOpen, setModalOpen] = useState(false); - const { width } = useSize(); const [address, setAddress] = useState(''); const [tokens, setTokens] = useState(0); const [type, setType] = useState('none'); @@ -109,7 +107,8 @@ export const SendOnChainCard = ({ setOpen }: { setOpen: () => void }) => { Send to Address: setAddress(e.target.value)} /> diff --git a/src/views/home/quickActions/decode/Decode.tsx b/src/views/home/quickActions/decode/Decode.tsx index 876cd2b2..13a9bf67 100644 --- a/src/views/home/quickActions/decode/Decode.tsx +++ b/src/views/home/quickActions/decode/Decode.tsx @@ -16,12 +16,9 @@ import { getErrorContent } from '../../../../utils/error'; import { toast } from 'react-toastify'; import { ColorButton } from '../../../../components/buttons/colorButton/ColorButton'; import { Input } from '../../../../components/input/Input'; -import { useSize } from '../../../../hooks/UseSize'; import { Price } from '../../../../components/price/Price'; -import { mediaDimensions } from '../../../../styles/Themes'; export const DecodeCard = ({ color }: { color: string }) => { - const { width } = useSize(); const [request, setRequest] = useState(''); const { host, viewOnly, cert, sessionAdmin } = useAccount(); @@ -70,9 +67,8 @@ export const DecodeCard = ({ color }: { color: string }) => { Request: setRequest(e.target.value)} @@ -80,10 +76,11 @@ export const DecodeCard = ({ color }: { color: string }) => { { setRequest(''); decode({ variables: { request, auth } }); diff --git a/src/views/home/quickActions/openChannel/OpenChannel.tsx b/src/views/home/quickActions/openChannel/OpenChannel.tsx index 38af4fcf..21935646 100644 --- a/src/views/home/quickActions/openChannel/OpenChannel.tsx +++ b/src/views/home/quickActions/openChannel/OpenChannel.tsx @@ -16,13 +16,12 @@ import { useBitcoinState } from '../../../../context/BitcoinContext'; import styled from 'styled-components'; import { SecureButton } from '../../../../components/buttons/secureButton/SecureButton'; import { Input } from '../../../../components/input/Input'; -import { useSize } from '../../../../hooks/UseSize'; import { SingleButton, MultiButton, } from '../../../../components/buttons/multiButton/MultiButton'; import { Price } from '../../../../components/price/Price'; -import { mediaWidths, mediaDimensions } from '../../../../styles/Themes'; +import { mediaWidths } from '../../../../styles/Themes'; const ResponsiveWrap = styled(SingleLine)` @media (${mediaWidths.mobile}) { @@ -36,7 +35,6 @@ interface OpenChannelProps { } export const OpenChannelCard = ({ color, setOpenCard }: OpenChannelProps) => { - const { width } = useSize(); const [size, setSize] = useState(0); const [fee, setFee] = useState(0); const [publicKey, setPublicKey] = useState(''); @@ -79,7 +77,8 @@ export const OpenChannelCard = ({ color, setOpenCard }: OpenChannelProps) => { setPublicKey(e.target.value)} /> @@ -95,7 +94,8 @@ export const OpenChannelCard = ({ color, setOpenCard }: OpenChannelProps) => { setSize(Number(e.target.value))} /> diff --git a/src/views/home/reports/flow/index.tsx b/src/views/home/reports/flow/index.tsx index 7fad15bb..814b1c16 100644 --- a/src/views/home/reports/flow/index.tsx +++ b/src/views/home/reports/flow/index.tsx @@ -16,8 +16,6 @@ import { InvoicePie } from './InvoicePie'; import { toast } from 'react-toastify'; import { getErrorContent } from '../../../../utils/error'; import { LoadingCard } from '../../../../components/loading/LoadingCard'; -import { useSize } from '../../../../hooks/UseSize'; -import { mediaDimensions } from '../../../../styles/Themes'; import { GET_IN_OUT } from '../../../../graphql/query'; // import { getWaterfall } from './Helpers'; @@ -82,7 +80,6 @@ const timeMap: { [key: string]: string } = { }; export const FlowBox = () => { - const { width } = useSize(); const [isTime, setIsTime] = useState('month'); const [isType, setIsType] = useState('amount'); @@ -122,10 +119,7 @@ export const FlowBox = () => { Invoices and Payments Report - +

{`Your node has not forwarded any payments ${timeMap[isTime]}.`}

@@ -178,10 +172,7 @@ export const FlowBox = () => { Invoices and Payments Report - + @@ -190,9 +181,7 @@ export const FlowBox = () => { Total - + @@ -201,9 +190,7 @@ export const FlowBox = () => { Invoices - + diff --git a/src/views/home/reports/forwardReport/index.tsx b/src/views/home/reports/forwardReport/index.tsx index 836884bd..bde0609a 100644 --- a/src/views/home/reports/forwardReport/index.tsx +++ b/src/views/home/reports/forwardReport/index.tsx @@ -9,8 +9,7 @@ import { CardTitle, } from '../../../../components/generic/Styled'; import { ButtonRow } from './Buttons'; -import { mediaWidths, mediaDimensions } from '../../../../styles/Themes'; -import { useSize } from '../../../../hooks/UseSize'; +import { mediaWidths } from '../../../../styles/Themes'; export const CardContent = styled.div` height: 100%; @@ -40,7 +39,6 @@ const mappedTypes = ['Amount', 'Fees', 'Value']; const buttonBorder = '#6938f1'; export const ForwardBox = () => { - const { width } = useSize(); const [isTime, setIsTime] = useState('week'); const [isType, setIsType] = useState('amount'); @@ -64,7 +62,7 @@ export const ForwardBox = () => { Foward Report - + diff --git a/src/views/home/reports/liquidReport/LiquidReport.tsx b/src/views/home/reports/liquidReport/LiquidReport.tsx index 5c6b7554..8b8abf73 100644 --- a/src/views/home/reports/liquidReport/LiquidReport.tsx +++ b/src/views/home/reports/liquidReport/LiquidReport.tsx @@ -18,16 +18,13 @@ import { chartGridColor, chartAxisColor, liquidityBarColor, - mediaDimensions, } from '../../../../styles/Themes'; import { LoadingCard } from '../../../../components/loading/LoadingCard'; import { getPrice } from '../../../../components/price/Price'; -import { useSize } from '../../../../hooks/UseSize'; import { usePriceState } from '../../../../context/PriceContext'; import { GET_LIQUID_REPORT } from '../../../../graphql/query'; export const LiquidReport = () => { - const { width } = useSize(); const { host, viewOnly, cert, sessionAdmin } = useAccount(); const auth = { host, @@ -62,7 +59,7 @@ export const LiquidReport = () => { return ( Liquidity Report - + ; +const HeadlineImage = () => ( + +); export const StyledImage = styled(HeadlineImage)` width: 500px; diff --git a/src/views/homepage/Sections/InfoSection.tsx b/src/views/homepage/Sections/InfoSection.tsx index f7593231..94b2870e 100644 --- a/src/views/homepage/Sections/InfoSection.tsx +++ b/src/views/homepage/Sections/InfoSection.tsx @@ -7,6 +7,7 @@ import { TextSection, } from './Sections.styled'; import { Text } from '../../../components/typography/Styled'; +import { appendBasePath } from '../../../utils/basePath'; export const InfoSection = () => { return ( @@ -21,14 +22,16 @@ export const InfoSection = () => { - +
- +

Transaction Reports

@@ -51,14 +54,14 @@ export const InfoSection = () => {
- +
- +

Forwarded Payments

@@ -80,7 +83,7 @@ export const InfoSection = () => {
- +
diff --git a/src/views/peers/AddPeer.tsx b/src/views/peers/AddPeer.tsx index 2ecfdac8..ac7d0562 100644 --- a/src/views/peers/AddPeer.tsx +++ b/src/views/peers/AddPeer.tsx @@ -17,8 +17,6 @@ import { SingleButton, } from '../../components/buttons/multiButton/MultiButton'; import { Input } from '../../components/input/Input'; -import { mediaDimensions } from '../../styles/Themes'; -import { useSize } from '../../hooks/UseSize'; import { useMutation } from '@apollo/react-hooks'; import { toast } from 'react-toastify'; import { getErrorContent } from '../../utils/error'; @@ -31,8 +29,6 @@ export const AddPeer = () => { const [key, setKey] = useState(''); const [socket, setSocket] = useState(''); - const { width } = useSize(); - const [addPeer, { loading }] = useMutation(ADD_PEER, { onError: error => toast.error(getErrorContent(error)), onCompleted: () => { @@ -62,9 +58,8 @@ export const AddPeer = () => { Peer Public Key: setKey(e.target.value)} /> @@ -72,9 +67,8 @@ export const AddPeer = () => { Peer Socket: setSocket(e.target.value)} /> diff --git a/src/views/settings/Account.tsx b/src/views/settings/Account.tsx index 7edd349a..3cb29500 100644 --- a/src/views/settings/Account.tsx +++ b/src/views/settings/Account.tsx @@ -19,6 +19,7 @@ import { useConnectionDispatch } from '../../context/ConnectionContext'; import { useStatusDispatch } from '../../context/StatusContext'; import { Auth } from '../../components/auth'; import { useRouter } from 'next/router'; +import { appendBasePath } from '../../utils/basePath'; export const AccountSettings = () => { const [status, setStatus] = useState('none'); @@ -85,7 +86,7 @@ export const AccountSettings = () => { type: 'disconnected', }); changeAccount(accountId); - push('/'); + push(appendBasePath('/')); } }} > diff --git a/src/views/settings/Danger.tsx b/src/views/settings/Danger.tsx index 82953144..3e1411cc 100644 --- a/src/views/settings/Danger.tsx +++ b/src/views/settings/Danger.tsx @@ -20,6 +20,7 @@ import { AlertCircle } from '../../components/generic/Icons'; import { useConnectionDispatch } from '../../context/ConnectionContext'; import { useStatusDispatch } from '../../context/StatusContext'; import { useRouter } from 'next/router'; +import { appendBasePath } from '../../utils/basePath'; export const ButtonRow = styled.div` width: auto; @@ -122,7 +123,7 @@ export const DangerView = () => { type: 'disconnected', }); changeAccount(id); - push('/'); + push(appendBasePath('/')); }; const renderSwitch = () => { @@ -156,7 +157,7 @@ export const DangerView = () => { onClick={() => { deleteStorage(); refreshAccount(); - push('/'); + push(appendBasePath('/')); }} > Delete All diff --git a/src/views/trading/MethodBoxes.tsx b/src/views/trading/MethodBoxes.tsx index eaa321ae..96892023 100644 --- a/src/views/trading/MethodBoxes.tsx +++ b/src/views/trading/MethodBoxes.tsx @@ -22,7 +22,7 @@ const StyledMethodBoxes = styled.div` margin: 0 0 -24px 0; flex-wrap: wrap; overflow: hidden; - height: 24px; + height: 23px; `; const StyledMethod = styled.div` diff --git a/src/views/trading/OfferFilters.tsx b/src/views/trading/OfferFilters.tsx index fc62a9f6..e9e58464 100644 --- a/src/views/trading/OfferFilters.tsx +++ b/src/views/trading/OfferFilters.tsx @@ -19,6 +19,7 @@ import { renderLine } from '../../components/generic/Helpers'; import { chartColors } from '../../styles/Themes'; import { useRouter } from 'next/router'; import { encode } from '../../utils/Helpers'; +import { appendBasePath } from '../../utils/basePath'; type ActionType = { type: 'addFilter' | 'addSort' | 'removeSort' | 'removeFilter' | 'changeLimit'; @@ -95,10 +96,10 @@ export const OfferFilters = ({ offerFilters }: FilterProps) => { const handleSave = () => { const stringFormat = JSON.stringify(filterState); const encoded = encode(stringFormat); - push(`/trading?filter=${encoded}`); + push(appendBasePath(`/trading?filter=${encoded}`)); }; - const handleRemoveAll = () => push('/trading'); + const handleRemoveAll = () => push(appendBasePath('/trading')); const handleRemove = (removeKey: string) => { dispatch({ type: 'removeFilter', removeKey }); diff --git a/yarn.lock b/yarn.lock index f87cfc29..10951094 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,45 +28,53 @@ tunnel-agent "0.6.0" uuid "3.4.0" -"@ampproject/toolbox-core@^2.0.0", "@ampproject/toolbox-core@^2.2.0": +"@ampproject/toolbox-core@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.2.0.tgz#3878c5fbdd2acdd865f070ded43ee84652a7a16b" integrity sha512-g0NnZZqPJttIcdplIpiMDmOLewwvCWPSnFKvNdyYXN7vknRvR4krpV2qveuVgjnA+dSlDmtzuFapFCaWh4V7FQ== dependencies: cross-fetch "3.0.4" -"@ampproject/toolbox-optimizer@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.0.1.tgz#943681faf24443044aa66f0b55eefb13cdcc068c" - integrity sha512-zroXqrV7mY77+/6hV7kaaWxp4LA85V0B/2vg7WdF+FrwiO9Wior/lIW8UbpRek6INjw0VOp1ED73MmGJkwaDhA== +"@ampproject/toolbox-core@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.3.0.tgz#f27bd17e01fdc6725c440aefa844f63466c0f37e" + integrity sha512-NT+kVR5Rm2cxp12h40IXgPRWmq0cpUdmcgZmgdelplp/q//4aWkt2+llGHR2foQJkwICxMVVlb/XidsHz0Rh9g== dependencies: - "@ampproject/toolbox-core" "^2.0.0" - "@ampproject/toolbox-runtime-version" "^2.0.0" - "@ampproject/toolbox-script-csp" "^2.0.0" - "@ampproject/toolbox-validator-rules" "^2.0.0" - css "2.2.4" + cross-fetch "3.0.4" + +"@ampproject/toolbox-optimizer@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.2.0.tgz#2438d7102beb1a74bae8d20926e038c5f724a8ae" + integrity sha512-lEujArv6jyl/mEab0uBZ25oMkf+kf8cpTuHPcy8k3+jtomNyVtd94lbSWbQtomsEnYQ0MA9MvLvCJXsJz1fQcg== + dependencies: + "@ampproject/toolbox-core" "^2.2.0" + "@ampproject/toolbox-runtime-version" "^2.2.0" + "@ampproject/toolbox-script-csp" "^2.2.0" + "@ampproject/toolbox-validator-rules" "^2.2.0" + cssnano "4.1.10" domhandler "3.0.0" domutils "2.0.0" htmlparser2 "4.1.0" normalize-html-whitespace "1.0.0" - terser "4.6.7" + postcss-safe-parser "4.0.2" + terser "4.6.8" -"@ampproject/toolbox-runtime-version@^2.0.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.2.0.tgz#e90ae9e97081c9c5362262f9ba093ac029837a8c" - integrity sha512-kQRLMreDp1Wp9DotQzJ4k/ZKK6ZxtI6ce2JIvyH8Xfi6H4BQNu0Ht0agMgm51/OsMKyHD+dDIGEHKaKWIOiPLQ== +"@ampproject/toolbox-runtime-version@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.3.0.tgz#01a72db8fb069d64d341fb4cc4ffee2be6c8ca12" + integrity sha512-sos2hmnAqp+KLYMLe+gF71BAElDmY04V4M9BvYRj3LEvwu3sCbvo2UPwcWZBgcWBV/cnh3JDHW+FaKfB5LtRrw== dependencies: - "@ampproject/toolbox-core" "^2.2.0" + "@ampproject/toolbox-core" "^2.3.0" -"@ampproject/toolbox-script-csp@^2.0.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.2.0.tgz#7bc33985e94a40acdbddb5695dc8d85f11066803" - integrity sha512-Z5AzbWFTlTMJg0z1/frMDmW6Gj+EbOw0dVdFYfdma4AJq4rNoxCQMVgVOjl4ryWNouJvK1RUA8o7sY1WmMx6eg== +"@ampproject/toolbox-script-csp@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.3.0.tgz#374cd0bf69bfdd0f1784064d0de69162722c89af" + integrity sha512-Qba53ohvCH79sYl5O8K5GMSo/372OjuyxNc+XySG26sAsG26WpBKJEE0HTr8rsa//CD3Fc92FieT1gK5U/jK4Q== -"@ampproject/toolbox-validator-rules@^2.0.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.2.0.tgz#830a2bc22a09dc17ff37835991858902d04cfe19" - integrity sha512-R5VkDmhmNatq9SuuHaeA2Uno4O5K4YSh11o6A/5jJZ2EjilAcpuAKvZlRp9tjucPWHi+/z/n5PCJ8YUxzCzWaQ== +"@ampproject/toolbox-validator-rules@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.3.0.tgz#047d8a8106ba777f1df308c19f1c1c41ffea4054" + integrity sha512-S10YIyOKettoRDWoyRymRyjzWZD4/qW7YfHNhHAS13QVneabRcU5MF7vEwkG6dHWx/UdufT5GbqYnvpQRMNt3Q== dependencies: cross-fetch "3.0.4" @@ -97,10 +105,10 @@ ts-invariant "^0.4.4" tslib "^1.10.0" -"@apollo/react-hooks@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@apollo/react-hooks/-/react-hooks-3.1.4.tgz#2d966ed4fdf01729113850a72698faee490fd429" - integrity sha512-yamD5a1Gu9fGQjZYEQn2nSG+BRyde4dy055agtYOvP/5/njJBSJ25tRFbjxKf7+YW9fsu2Xguib3anoQTuesNg== +"@apollo/react-hooks@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@apollo/react-hooks/-/react-hooks-3.1.5.tgz#7e710be52461255ae7fc0b3b9c2ece64299c10e6" + integrity sha512-y0CJ393DLxIIkksRup4nt+vSjxalbZBXnnXxYbviq/woj+zKa431zy0yT4LqyRKpFy9ahMIwxBnBwfwIoupqLQ== dependencies: "@apollo/react-common" "^3.1.4" "@wry/equality" "^0.1.9" @@ -1621,10 +1629,10 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@next/bundle-analyzer@^9.3.4": - version "9.3.4" - resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-9.3.4.tgz#78927a5656442ec21d38456ae87edb8eb66ddf15" - integrity sha512-POS+AmzT9hTCUymYV6CDJRzDv6MWq10wCJZBnTKWOdB82o7PourD0G9DpGR40TXzyD4LpcOUzksexG8NyL8V7g== +"@next/bundle-analyzer@^9.3.5": + version "9.3.5" + resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-9.3.5.tgz#c35d92e03ac8b5ae05e2eabee4fae433f8cb448d" + integrity sha512-A1hewPnrObMgVJGBr8HhVsfKkYgrjHdLsPDuKV6Za3P2AB0UiG/A2sWEpORm29IwnLc6pz8uvOaangviAzoROg== dependencies: webpack-bundle-analyzer "3.6.1" @@ -1983,7 +1991,7 @@ pretty-hrtime "^1.0.3" regenerator-runtime "^0.13.3" -"@storybook/react@*", "@storybook/react@^5.3.18": +"@storybook/react@^5.3.18": version "5.3.18" resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.3.18.tgz#c057b680924e188d44149c3d67dd31aead88b28a" integrity sha512-6yNg+phcrEqEjC2NOiu0mJuxbTwX7yzbkcusIn0S7N/KTXNO7CGvYjAkdjfw0gTLjfuVDZIjDQfoosslvfsj3w== @@ -2448,13 +2456,6 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/storybook__react@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@types/storybook__react/-/storybook__react-5.2.1.tgz#b5fd1612f2e5846b2f441725ea946bafd7ab9edb" - integrity sha512-p4QGO+VjEO3YxyWVHpPylNheA0JhStzoCg6RBTmdobrC0ZqLPEIIWu0pFkHlNkmGIiEKW2yDGFJooBe8M4Df0Q== - dependencies: - "@storybook/react" "*" - "@types/tapable@*", "@types/tapable@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" @@ -2510,15 +2511,6 @@ resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -2528,43 +2520,21 @@ "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - "@webassemblyjs/floating-point-hex-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - "@webassemblyjs/helper-api-error@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - "@webassemblyjs/helper-buffer@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - "@webassemblyjs/helper-code-frame@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" @@ -2572,24 +2542,11 @@ dependencies: "@webassemblyjs/wast-printer" "1.9.0" -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - "@webassemblyjs/helper-fsm@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - "@webassemblyjs/helper-module-context@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" @@ -2597,26 +2554,11 @@ dependencies: "@webassemblyjs/ast" "1.9.0" -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - "@webassemblyjs/helper-wasm-bytecode@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/helper-wasm-section@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" @@ -2627,13 +2569,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0" -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/ieee754@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" @@ -2641,13 +2576,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== - dependencies: - "@xtuc/long" "4.2.2" - "@webassemblyjs/leb128@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" @@ -2655,30 +2583,11 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - "@webassemblyjs/utf8@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - "@webassemblyjs/wasm-edit@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" @@ -2693,17 +2602,6 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wast-printer" "1.9.0" -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - "@webassemblyjs/wasm-gen@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" @@ -2715,16 +2613,6 @@ "@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/utf8" "1.9.0" -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wasm-opt@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" @@ -2735,18 +2623,6 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - "@webassemblyjs/wasm-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" @@ -2759,18 +2635,6 @@ "@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/utf8" "1.9.0" -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" @@ -2783,15 +2647,6 @@ "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-printer@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" @@ -2942,6 +2797,11 @@ ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -4223,7 +4083,7 @@ browserslist@4.8.3: electron-to-chromium "^1.3.322" node-releases "^1.1.44" -browserslist@^4.11.1, browserslist@^4.6.0, browserslist@^4.8.3, browserslist@^4.8.5, browserslist@^4.9.1: +browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.6.0, browserslist@^4.8.3, browserslist@^4.8.5, browserslist@^4.9.1: version "4.11.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" integrity sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g== @@ -4464,6 +4324,21 @@ can-use-dom@^0.1.0: resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a" integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo= +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0: + version "1.0.30001042" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001042.tgz#c91ec21ec2d270bd76dbc2ce261260c292b8c93c" + integrity sha512-igMQ4dlqnf4tWv0xjaaE02op9AJ2oQzXKjWf4EuAHFN694Uo9/EfPVIPJcmn2WkU9RqozCxx5e2KPcVClHDbDw== + caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001017, caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039: version "1.0.30001040" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001040.tgz#103fc8e6eb1d7397e95134cd0e996743353d58ea" @@ -4799,6 +4674,14 @@ color@3.0.x: color-convert "^1.9.1" color-string "^1.5.2" +color@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colornames@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96" @@ -5353,6 +5236,19 @@ css-color-keywords@^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, 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" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + css-loader@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.3.0.tgz#65f889807baec3197313965d6cda9899f936734d" @@ -5450,7 +5346,7 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== -css@2.2.4, css@^2.0.0: +css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== @@ -5465,6 +5361,74 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + csso@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" @@ -5954,6 +5918,13 @@ dot-prop@^3.0.0: dependencies: is-obj "^1.0.0" +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + dependencies: + is-obj "^2.0.0" + dotenv-defaults@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz#032c024f4b5906d9990eb06d722dc74cc60ec1bd" @@ -6577,6 +6548,15 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" +find-cache-dir@3.3.1, find-cache-dir@^3.0.0, find-cache-dir@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" @@ -6586,15 +6566,6 @@ find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-cache-dir@^3.0.0, find-cache-dir@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - find-root@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -7265,7 +7236,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.3: +has@^1.0.0, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -7308,6 +7279,11 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hex-color-regex@^1.1.0: + version "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.13.0: version "9.13.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e" @@ -7344,6 +7320,21 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + html-entities@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" @@ -7664,10 +7655,10 @@ interpret@^2.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.0.0.tgz#b783ffac0b8371503e9ab39561df223286aa5433" integrity sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA== -intersection-observer@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.7.0.tgz#ee16bee978db53516ead2f0a8154b09b400bbdc9" - integrity sha512-Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg== +intersection-observer@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.8.0.tgz#e61274136f81dc114a7340a0b2e7a30b9787c438" + integrity sha512-o5nSHpitRPDRPe9NDBJNwKp24Wa11xQSDPOg/s6PsWIaGRoAOwBoMMY1R/UmlezBohjdFW6W4kJ9rkm3jCK+Hg== invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" @@ -7713,6 +7704,11 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -7784,6 +7780,18 @@ is-callable@^1.1.4, is-callable@^1.1.5: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -7941,6 +7949,11 @@ is-obj@^1.0.0, is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + is-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" @@ -7989,6 +8002,11 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + is-root@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" @@ -8014,6 +8032,13 @@ is-string@^1.0.4, is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -8615,6 +8640,11 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + lodash@4.17.15, lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -8730,11 +8760,6 @@ make-dir@^3.0.2: dependencies: semver "^6.0.0" -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -9131,6 +9156,13 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" +mkdirp@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c" + integrity sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg== + dependencies: + minimist "^1.2.5" + mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -9213,10 +9245,10 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -native-url@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" - integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== +native-url@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.1.tgz#5045c65d0eb4c3ee548d48e3cb50797eec5a3c54" + integrity sha512-VL0XRW8nNBdSpxqZCbLJKrLHmIMn82FZ8pJzriJgyBmErjdEtrUX6eZAJbtHjlkMooEWUV+EtJ0D5tOP3+1Piw== dependencies: querystring "^0.2.0" @@ -9244,19 +9276,19 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -next-with-apollo@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/next-with-apollo/-/next-with-apollo-5.0.0.tgz#022e58c1a5c2117a6190534271e297a7fa039319" - integrity sha512-JcMecKv6XtzsLf1hPKrbxM6g9sygnGdQugglmCDkfWhHZt1yziPa+g515qtw7in8A7Ed5W9PdaaaUn7CWWQ71w== +next-with-apollo@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/next-with-apollo/-/next-with-apollo-5.0.1.tgz#11055d834e98ad6dbdeb9c853afcfe421b5d4730" + integrity sha512-pLNUWYNwY36u/L0Sco9PqML+gbCtyzE85ZysEGOzKfxdWbmazo5cUTGYDqwbHWS3xE7Mh79A26k1WJsIshJurQ== dependencies: isomorphic-unfetch "^3.0.0" -next@^9.3.4: - version "9.3.4" - resolved "https://registry.yarnpkg.com/next/-/next-9.3.4.tgz#7860d414ae01e2425bf8038277f1573f9d121b57" - integrity sha512-sEJ3G6AOdgVYKAsIjpwLEd6uVYKvy1C3JmeydCE1ugrHU14WDRQiklRcr7Syu/aSOfB9/GRU80RPWk2c+xfh0Q== +next@^9.3.5: + version "9.3.5" + resolved "https://registry.yarnpkg.com/next/-/next-9.3.5.tgz#c9ff01147d3c9e165efdaa2cec1702b5741f5ac7" + integrity sha512-vJKGUK2nMsveYZTZH5Oz9L+cDYcCsuWLUXfWJejvhdQ3jLgVhZVa+7TQ45Kt0PA1ea7jqlDUN22DtzmPFi981w== dependencies: - "@ampproject/toolbox-optimizer" "2.0.1" + "@ampproject/toolbox-optimizer" "2.2.0" "@babel/core" "7.7.2" "@babel/plugin-proposal-class-properties" "7.7.0" "@babel/plugin-proposal-nullish-coalescing-operator" "7.7.4" @@ -9278,11 +9310,13 @@ next@^9.3.4: babel-plugin-transform-react-remove-prop-types "0.4.24" browserslist "4.8.3" css-loader "3.3.0" + find-cache-dir "3.3.1" fork-ts-checker-webpack-plugin "3.1.1" jest-worker "24.9.0" loader-utils "2.0.0" mini-css-extract-plugin "0.8.0" - native-url "0.2.6" + mkdirp "0.5.3" + native-url "0.3.1" pnp-webpack-plugin "1.5.0" postcss "7.0.27" prop-types "15.7.2" @@ -9294,7 +9328,7 @@ next@^9.3.4: styled-jsx "3.2.5" use-subscription "1.1.1" watchpack "2.0.0-beta.13" - webpack "4.42.0" + webpack "4.42.1" webpack-sources "1.4.3" nice-try@^1.0.4: @@ -9437,6 +9471,11 @@ normalize-url@1.9.1: query-string "^4.1.0" sort-keys "^1.0.0" +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + npm-bundled@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" @@ -10056,6 +10095,62 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +postcss-calc@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" + integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + postcss-flexbugs-fixes@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.0.tgz#662b3dcb6354638b9213a55eed8913bcdc8d004a" @@ -10081,6 +10176,68 @@ postcss-loader@^3.0.0: postcss-load-config "^2.0.0" schema-utils "^1.0.0" +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + postcss-modules-extract-imports@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" @@ -10114,6 +10271,132 @@ postcss-modules-values@^3.0.0: icss-utils "^4.0.0" postcss "^7.0.6" +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-safe-parser@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" + integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== + dependencies: + postcss "^7.0.26" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" @@ -10123,6 +10406,30 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" @@ -10137,7 +10444,7 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@7.0.27, postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: +postcss@7.0.27, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: version "7.0.27" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== @@ -10758,10 +11065,10 @@ react-toastify@^5.5.0: prop-types "^15.7.2" react-transition-group "^4" -react-tooltip@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.2.tgz#326ec757d966303d3b62cc1a551b54b2c0242ab0" - integrity sha512-bd/nQQFQByzqNz1W1Lni3qzvMHqZCuKUNvhApk29WZ5JlEFEsitFp2SxugVM53JQ6hNaocdGwwtCEzk5wQo64g== +react-tooltip@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.3.tgz#da9bdc9f4322392fb43de0dd6cf002f95e43d35b" + integrity sha512-VduZryAPVlgnSLlq6qukBrzBkiATXorx3FzC1eX3OaCknPxTuULEQwR0nJkxo2MgpzKMw0t9LFjzVbS9KQGaYA== dependencies: prop-types "^15.7.2" uuid "^7.0.3" @@ -11157,6 +11464,16 @@ rework@1.0.1: convert-source-map "^0.3.3" css "^2.0.0" +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -12058,6 +12375,15 @@ styled-theming@^2.2.0: resolved "https://registry.yarnpkg.com/styled-theming/-/styled-theming-2.2.0.tgz#3084e43d40eaab4bc11ebafd3de04e3622fee37e" integrity sha1-MITkPUDqq0vBHrr9PeBONiL+434= +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + stylis-rule-sheet@0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" @@ -12123,7 +12449,7 @@ svgo@^0.7.2: sax "~1.2.1" whet.extend "~0.9.9" -svgo@^1.2.2: +svgo@^1.0.0, svgo@^1.2.2: version "1.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== @@ -12227,10 +12553,10 @@ terser-webpack-plugin@^2.1.2: terser "^4.4.3" webpack-sources "^1.4.3" -terser@4.6.7: - version "4.6.7" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72" - integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g== +terser@4.6.8: + version "4.6.8" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.8.tgz#62ccb14a52f102418ad6061dfef45076f13e5fa2" + integrity sha512-drV7ga6ZlIpBtitvb87Uk7P7gAJkCt3j/TqZr9wwF4Dlt0MBn52ANIAyuvP1F605WdPY4w6vT63u6KTWqaXFRQ== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -12292,6 +12618,11 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + tiny-emitter@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" @@ -12658,6 +12989,11 @@ uniq@^1.0.1: resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -12837,6 +13173,11 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -13223,36 +13564,7 @@ webpack-virtual-modules@^0.2.0: dependencies: debug "^3.0.0" -webpack@4.42.0: - version "4.42.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" - integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.1" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.0" - webpack-sources "^1.4.1" - -webpack@^4.33.0, webpack@^4.38.0: +webpack@4.42.1, webpack@^4.33.0, webpack@^4.38.0: version "4.42.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.1.tgz#ae707baf091f5ca3ef9c38b884287cfe8f1983ef" integrity sha512-SGfYMigqEfdGchGhFFJ9KyRpQKnipvEvjc1TwrXEPCM6H5Wywu10ka8o3KGrMzSMxMQKt8aCHUFh5DaQ9UmyRg==