diff --git a/package.json b/package.json
index 24436696fa..bea07d7676 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
},
"dependencies": {
"@reapit/cognito-auth": "^2.0.5",
- "@reapit/elements": "^0.5.24",
+ "@reapit/elements": "^0.5.26",
"dayjs": "^1.8.17",
"diff": "^4.0.1",
"gitter-sidecar": "^1.5.0",
diff --git a/src/components/pages/__tests__/__snapshots__/developer-welcome.tsx.snap b/src/components/pages/__tests__/__snapshots__/developer-welcome.tsx.snap
new file mode 100644
index 0000000000..7d35ef0e03
--- /dev/null
+++ b/src/components/pages/__tests__/__snapshots__/developer-welcome.tsx.snap
@@ -0,0 +1,68 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`DeveloperWelcomeMessage should match a snapshot when LOADING false 1`] = `
+
+
+
+
+
+ }
+ heading="Heading-1"
+ id="step-1"
+ key="step-1"
+ subHeading="SubHeading-1"
+ />
+
+
+
+
+
+
+ Accept
+
+
+
+
+`;
diff --git a/src/components/pages/__tests__/__snapshots__/help.tsx.snap b/src/components/pages/__tests__/__snapshots__/help.tsx.snap
new file mode 100644
index 0000000000..1f572c29e1
--- /dev/null
+++ b/src/components/pages/__tests__/__snapshots__/help.tsx.snap
@@ -0,0 +1,48 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`HelpPage should match a snapshot 1`] = `
+
+
+
+
+ Help
+
+
+
+
+ Report Bug
+
+
+ Request Endpoint
+
+
+ Welcome Guide
+
+
+
+
+
+
+`;
diff --git a/src/components/pages/__tests__/developer-welcome.tsx b/src/components/pages/__tests__/developer-welcome.tsx
new file mode 100644
index 0000000000..52d1559feb
--- /dev/null
+++ b/src/components/pages/__tests__/developer-welcome.tsx
@@ -0,0 +1,23 @@
+import * as React from 'react'
+import { shallow } from 'enzyme'
+import { DeveloperWelcomeMessage, DeveloperWelcomeMessageProps, handleUserAccept } from '../developer-welcome'
+import routes from '@/constants/routes'
+
+const mockProps: DeveloperWelcomeMessageProps = {}
+
+describe('DeveloperWelcomeMessage', () => {
+ it('should match a snapshot when LOADING false', () => {
+ expect(shallow( )).toMatchSnapshot()
+ })
+
+ describe('handleUserAccept', () => {
+ it('should call dispatch', () => {
+ const mockHistory = {
+ push: jest.fn()
+ }
+ const fn = handleUserAccept(mockHistory)
+ fn()
+ expect(mockHistory.push).toBeCalledWith(routes.DEVELOPER_MY_APPS)
+ })
+ })
+})
diff --git a/src/components/pages/__tests__/help.tsx b/src/components/pages/__tests__/help.tsx
new file mode 100644
index 0000000000..494cbaffec
--- /dev/null
+++ b/src/components/pages/__tests__/help.tsx
@@ -0,0 +1,46 @@
+import * as React from 'react'
+import { shallow, mount } from 'enzyme'
+import { HelpPage, HelpPageProps } from '../help'
+import routes from '@/constants/routes'
+import { history } from '@/core/router'
+
+const mockProps: HelpPageProps = {}
+
+describe('HelpPage', () => {
+ const { open } = window
+
+ beforeAll(() => {
+ delete window.open
+ window.open = jest.fn()
+ })
+
+ afterAll(() => {
+ window.open = open
+ })
+
+ it('should match a snapshot', () => {
+ expect(shallow( )).toMatchSnapshot()
+ })
+
+ it('handleReportBug', () => {
+ const wrapper = mount( )
+ const btnReportBug = wrapper.find('[data-testid="btnReportBug"]')
+ btnReportBug.props().onClick!({} as any)
+ expect(window.open).toBeCalled()
+ })
+
+ it('handleRequestEndpoint', () => {
+ const wrapper = mount( )
+ const btnRequestEndPoint = wrapper.find('[data-testid="btnRequestEndPoint"]')
+ btnRequestEndPoint.props().onClick!({} as any)
+ expect(window.open).toBeCalled()
+ })
+
+ it('handleGotoWelcomeGuide', () => {
+ const wrapper = mount( )
+ const btnGotoWelcomeGuide = wrapper.find('[data-testid="btnGotoWelcomeGuide"]')
+ jest.spyOn(history, 'push')
+ btnGotoWelcomeGuide.props().onClick!({} as any)
+ expect(history.push).toBeCalledWith(routes.DEVELOPER_WELCOME)
+ })
+})
diff --git a/src/components/pages/developer-welcome.tsx b/src/components/pages/developer-welcome.tsx
new file mode 100644
index 0000000000..0c1caef00e
--- /dev/null
+++ b/src/components/pages/developer-welcome.tsx
@@ -0,0 +1,106 @@
+import * as React from 'react'
+import {
+ FlexContainerBasic,
+ Content,
+ FlexContainerResponsive,
+ useHelpGuideContext,
+ HelpGuide,
+ Button
+} from '@reapit/elements'
+import Routes from '@/constants/routes'
+import { history } from '@/core/router'
+import styles from '@/styles/pages/developer-welcome.scss?mod'
+
+export type DeveloperWelcomeMessageProps = {}
+
+const imageUrl = 'https://1001freedownloads.s3.amazonaws.com/vector/thumb/63319/Placeholder.png'
+
+const ComponentA = () => {
+ const context = useHelpGuideContext()
+ return (
+
+
+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Incidunt ipsa minima hic rerum. Aspernatur laborum eum
+ vel necessitatibus dolorum alias. Sunt necessitatibus nisi repellat perspiciatis quam, iusto, fugit expedita
+ cupiditate quisquam totam voluptates? Facilis laudantium dolores tempora aspernatur natus minus, soluta aliquam?
+ Similique mollitia, placeat architecto eum dolores quam, omnis quidem iste vero tempora ipsum repellendus
+ voluptas, aliquam rerum molestias iure quasi totam assumenda quo veritatis. Corporis debitis, veniam sit earum
+ vero id impedit odio totam itaque numquam omnis non repellat fugiat nostrum nam minima modi, dignissimos ut
+ quibusdam praesentium sunt in beatae at nemo! Inventore blanditiis expedita pariatur amet laboriosam culpa,
+ nihil sed rerum natus et recusandae hic est error ab accusantium impedit earum vero quae. Alias quae
+
+
+ Next
+
+
+ )
+}
+
+const ComponentB = () => {
+ const context = useHelpGuideContext()
+
+ return (
+
+
+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nemo expedita consequatur molestias! Magnam in
+ inventore, sunt fuga minus nihil pariatur facilis nobis modi debitis aspernatur perspiciatis quo officiis sit
+ laudantium!
+
+
+ Prev
+
+
+ Next
+
+
+ )
+}
+
+const ComponentC = () => {
+ const context = useHelpGuideContext()
+
+ return (
+
+
+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nemo expedita consequatur molestias! Magnam in
+ inventore, sunt fuga minus nihil pariatur facilis nobis modi debitis aspernatur perspiciatis quo officiis sit
+ laudantium!
+
+
+ Prev
+
+
+ )
+}
+
+export const handleUserAccept = history => () => history.push(Routes.DEVELOPER_MY_APPS)
+
+export const DeveloperWelcomeMessage: React.FC = () => {
+ return (
+
+
+
+
+ }
+ />
+
+
+
+
+
+
+ Accept
+
+
+
+
+ )
+}
+
+export default DeveloperWelcomeMessage
diff --git a/src/components/pages/help.tsx b/src/components/pages/help.tsx
new file mode 100644
index 0000000000..44c70cc45a
--- /dev/null
+++ b/src/components/pages/help.tsx
@@ -0,0 +1,51 @@
+import * as React from 'react'
+import { history } from '@/core/router'
+import { Button, FlexContainerResponsive, Content, H3, FlexContainerBasic, GridItem, Grid } from '@reapit/elements'
+import Routes from '@/constants/routes'
+import { GoogleForm } from '@/constants/google-form'
+
+export type HelpPageProps = {}
+
+export const HelpPage: React.FC = () => {
+ const handleReportBug = () => {
+ window.open(GoogleForm.BUG_REPORT, '_blank')
+ }
+
+ const handleRequestEndpoint = () => {
+ window.open(GoogleForm.API_REQUEST, '_blank')
+ }
+
+ const handleGotoWelcomeGuide = () => {
+ history.push(Routes.DEVELOPER_WELCOME)
+ }
+
+ return (
+
+
+
+ Help
+
+
+
+ Report Bug
+
+
+ Request Endpoint
+
+
+ Welcome Guide
+
+
+
+
+
+
+ )
+}
+
+export default HelpPage
diff --git a/src/components/pages/login.tsx b/src/components/pages/login.tsx
index 8f3550c2a7..3ffae9a993 100644
--- a/src/components/pages/login.tsx
+++ b/src/components/pages/login.tsx
@@ -12,6 +12,7 @@ import loginStyles from '@/styles/pages/login.scss?mod'
import { withRouter, RouteComponentProps } from 'react-router'
import logoImage from '@/assets/images/reapit-graphic.jpg'
import { getLoginTypeByPath } from '@/utils/auth-route'
+import { getCookieString, COOKIE_FIRST_TIME_LOGIN } from '@/utils/cookie'
export interface LoginMappedActions {
login: (params: LoginParams) => void
@@ -73,17 +74,14 @@ export const Login: React.FunctionComponent = (props: LoginProps) =>
authChangeLoginType(currentLoginType)
if (hasSession) {
- return (
-
- )
+ const firstLoginCookie = getCookieString(COOKIE_FIRST_TIME_LOGIN)
+ if (loginType === 'DEVELOPER' && !firstLoginCookie) {
+ return
+ }
+ if (loginType === 'DEVELOPER' && firstLoginCookie) {
+ return
+ }
+ return
}
const queryParams = new URLSearchParams(props.location.search)
diff --git a/src/components/ui/menu.tsx b/src/components/ui/menu.tsx
index 068e1e75ae..640cf3f470 100644
--- a/src/components/ui/menu.tsx
+++ b/src/components/ui/menu.tsx
@@ -22,6 +22,7 @@ import {
FaTable,
FaComments
} from 'react-icons/fa'
+import { MdHelp } from 'react-icons/md'
import { GoDatabase, GoCode } from 'react-icons/go'
export const generateMenuConfig = (
@@ -150,6 +151,13 @@ export const generateMenuConfig = (
icon: ,
type: 'PRIMARY'
},
+ {
+ title: 'Help',
+ key: 'HELP',
+ url: Routes.DEVELOPER_HELP,
+ type: 'PRIMARY',
+ icon:
+ },
{
title: 'Logout',
key: 'LOGOUT',
diff --git a/src/constants/google-form.ts b/src/constants/google-form.ts
new file mode 100644
index 0000000000..8addc0272c
--- /dev/null
+++ b/src/constants/google-form.ts
@@ -0,0 +1,4 @@
+export const GoogleForm = {
+ BUG_REPORT: 'https://docs.google.com/forms/d/e/1FAIpQLSfNgZcHsqZo1d3J1QRPUmzh4Og7m4JNeqws4rv17msRsudBlQ/viewform',
+ API_REQUEST: 'https://docs.google.com/forms/d/e/1FAIpQLSfYeQVgwsgj1A6ZE0k4cjEQ0hkPgpYrxHawvLGoWlQLd_b41A/viewform'
+}
diff --git a/src/constants/routes.ts b/src/constants/routes.ts
index 8c6367e325..beb32d780f 100644
--- a/src/constants/routes.ts
+++ b/src/constants/routes.ts
@@ -5,6 +5,7 @@ const Routes = {
MY_APPS: '/client/manage',
MY_APPS_PAGINATE: '/client/manage/:page',
DEVELOPER: '/developer',
+ DEVELOPER_WELCOME: '/developer/welcome',
DEVELOPER_MY_APPS: '/developer/apps',
DEVELOPER_SWAGGER: '/developer/swagger',
DEVELOPER_ELEMENTS: '/developer/elements',
@@ -17,6 +18,7 @@ const Routes = {
DEVELOPER_RESET_PASSWORD: '/developer/reset-password',
SETTINGS: '/developer/settings',
SUBMIT_APP: '/developer/submit-app',
+ DEVELOPER_HELP: '/developer/help',
REGISTER: '/register',
REGISTER_CONFIRM: '/register/confirm',
ADMIN: '/admin',
diff --git a/src/core/__tests__/__snapshots__/router.tsx.snap b/src/core/__tests__/__snapshots__/router.tsx.snap
index f70b244e1a..700c75784c 100644
--- a/src/core/__tests__/__snapshots__/router.tsx.snap
+++ b/src/core/__tests__/__snapshots__/router.tsx.snap
@@ -295,6 +295,33 @@ exports[`Router should match a snapshot 1`] = `
exact={true}
path="/forum"
/>
+
+
import('../components/pages/elements'))
const DesktopDocsPage = React.lazy(() => import('../components/pages/desktop-api-docs'))
const WebComponentsPage = React.lazy(() => import('../components/pages/web-components'))
const SettingsPage = React.lazy(() => import('../components/pages/settings'))
+const DeveloperWelcomePage = React.lazy(() => import('../components/pages/developer-welcome'))
+const HelpPage = React.lazy(() => import('../components/pages/help'))
// const AnalyticsPage = React.lazy(() => import('../components/pages/analytics'))
const ResetPassword = React.lazy(() => import('../components/pages/reset-password'))
const ForgotPassword = React.lazy(() => import('../components/pages/forgot-password/forgot-password'))
@@ -82,6 +84,14 @@ const Router = () => (
/>
+
+
diff --git a/src/styles/pages/developer-welcome.scss b/src/styles/pages/developer-welcome.scss
new file mode 100644
index 0000000000..3bc5f6f0bd
--- /dev/null
+++ b/src/styles/pages/developer-welcome.scss
@@ -0,0 +1,3 @@
+.content {
+ min-height: 90vh;
+}
diff --git a/yarn.lock b/yarn.lock
index 7bd759c868..c601b27a23 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -39,7 +39,7 @@
lodash "^4.17.13"
source-map "^0.5.0"
-"@babel/helper-annotate-as-pure@^7.7.4":
+"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce"
integrity sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==
@@ -641,7 +641,7 @@
"@babel/parser" "^7.7.4"
"@babel/types" "^7.7.4"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4":
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4":
version "7.7.4"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558"
integrity sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==
@@ -744,7 +744,7 @@
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.4.tgz#f14932887422c9056b15a8d222a9074a7dfa2831"
integrity sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A==
-"@emotion/is-prop-valid@0.8.6":
+"@emotion/is-prop-valid@0.8.6", "@emotion/is-prop-valid@^0.8.1":
version "0.8.6"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.6.tgz#4757646f0a58e9dec614c47c838e7147d88c263c"
integrity sha512-mnZMho3Sq8BfzkYYRVc8ilQTnc8U02Ytp6J1AwM6taQStZ3AhsEJBX2LzhA/LJirNCwM2VtHL3VFIZ+sNJUgUQ==
@@ -795,7 +795,7 @@
resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
-"@emotion/unitless@0.7.5":
+"@emotion/unitless@0.7.5", "@emotion/unitless@^0.7.0":
version "0.7.5"
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
@@ -990,10 +990,10 @@
dependencies:
aws-sdk "^2.582.0"
-"@reapit/elements@^0.5.24":
- version "0.5.24"
- resolved "https://registry.yarnpkg.com/@reapit/elements/-/elements-0.5.24.tgz#4a5941fb51a7487702d9a229009a85fb48692a1f"
- integrity sha512-5G8VG4yD1d8ZqxlSCePD98YIM7MryKOQ75kILqFl1xMTcvHdwh7EvIGO0s23teGxYHy3N9R+HW9ky26kqqhhXg==
+"@reapit/elements@^0.5.26":
+ version "0.5.26"
+ resolved "https://registry.yarnpkg.com/@reapit/elements/-/elements-0.5.26.tgz#cc0e0ef7115458af7136a21fc37cbbc1c16e1ea1"
+ integrity sha512-iL1koFAuwbWD/uqdPKhHBQNxWu6ioHyT2SwRVpIKoZDQ546KXOGMZIogorgA1fDZPnRbdSaWTEBMvxsAhSD/Og==
dependencies:
"@storybook/theming" "^5.2.8"
"@types/papaparse" "^5.0.3"
@@ -1012,6 +1012,7 @@
react-google-maps-loader "^4.2.5"
react-icons "^3.7.0"
react-table "7.0.0-alpha.35"
+ styled-components "^4.4.1"
"@reapit/foundations-ts-definitions@^0.0.6":
version "0.0.6"
@@ -1249,9 +1250,9 @@
"@types/node" "*"
"@types/node@*":
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.2.tgz#fe94285bf5e0782e1a9e5a8c482b1c34465fa385"
- integrity sha512-B8emQA1qeKerqd1dmIsQYnXi+mmAzTB7flExjmy5X1aVAKFNNNDubkavwR13kR6JnpeLp3aLoJhwn9trWPAyFQ==
+ version "13.1.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.4.tgz#4cfd90175a200ee9b02bd6b1cd19bc349741607e"
+ integrity sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA==
"@types/node@~12.0.2":
version "12.0.12"
@@ -1927,9 +1928,9 @@ autolinker@~0.28.0:
gulp-header "^1.7.1"
aws-sdk@^2.582.0:
- version "2.596.0"
- resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.596.0.tgz#1a4af0609e174a50ffb8ed8981981e6d77a614fb"
- integrity sha512-Bp+gyqhLw8tK4sgM1v1PDSw26H1mSXs6yhQInmGzDKqXJor6UyUb9JskFv0zC/bA84XizlshN1BBIgINqk6pNg==
+ version "2.597.0"
+ resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.597.0.tgz#028c7778b4fdc742ac040e7071b85a070d18bf2a"
+ integrity sha512-xdhm1bYnh46b7pEOmIsptQcPAJmq9MT31cUsn3WzOr6IPtiRLz5XIHIusFFsJYpyjiFB99b1n8SabRR7j6H1AA==
dependencies:
buffer "4.9.1"
events "1.1.1"
@@ -2037,6 +2038,16 @@ babel-plugin-macros@^2.0.0:
cosmiconfig "^6.0.0"
resolve "^1.12.0"
+"babel-plugin-styled-components@>= 1":
+ version "1.10.6"
+ resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.6.tgz#f8782953751115faf09a9f92431436912c34006b"
+ integrity sha512-gyQj/Zf1kQti66100PhrCRjI5ldjaze9O0M3emXRPAN80Zsf8+e1thpTpaXJXVHXtaM4/+dJEgZHyS9Its+8SA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-module-imports" "^7.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ lodash "^4.17.11"
+
babel-plugin-syntax-jsx@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
@@ -2334,13 +2345,13 @@ browserify-zlib@^0.2.0:
pako "~1.0.5"
browserslist@^4.6.0, browserslist@^4.8.2:
- version "4.8.2"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289"
- integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==
+ version "4.8.3"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.3.tgz#65802fcd77177c878e015f0e3189f2c4f627ba44"
+ integrity sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==
dependencies:
- caniuse-lite "^1.0.30001015"
+ caniuse-lite "^1.0.30001017"
electron-to-chromium "^1.3.322"
- node-releases "^1.1.42"
+ node-releases "^1.1.44"
browserstack-capabilities@^0.7.0:
version "0.7.0"
@@ -2599,10 +2610,10 @@ camelize@^1.0.0:
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
-caniuse-lite@^1.0.30001015:
- version "1.0.30001017"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001017.tgz#d3ad6ec18148b9bd991829958d9d7e562bb78cd6"
- integrity sha512-EDnZyOJ6eYh6lHmCvCdHAFbfV4KJ9lSdfv4h/ppEhrU/Yudkl7jujwMZ1we6RX7DXqBfT04pVMQ4J+1wcTlsKA==
+caniuse-lite@^1.0.30001017:
+ version "1.0.30001019"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001019.tgz#857e3fccaad2b2feb3f1f6d8a8f62d747ea648e1"
+ integrity sha512-6ljkLtF1KM5fQ+5ZN0wuyVvvebJxgJPTmScOMaFuQN2QuOzvRJnWSKfzQskQU5IOU4Gap3zasYPIinzwUjoj/g==
canonicalize@^1.0.1:
version "1.0.1"
@@ -3019,11 +3030,11 @@ compress-commons@^1.2.0:
readable-stream "^2.0.0"
compressible@~2.0.16:
- version "2.0.17"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1"
- integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==
+ version "2.0.18"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+ integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
dependencies:
- mime-db ">= 1.40.0 < 2"
+ mime-db ">= 1.43.0 < 2"
compression@^1.7.4:
version "1.7.4"
@@ -3411,7 +3422,7 @@ css-select@~1.0.0:
domutils "1.4"
nth-check "~1.0.0"
-css-to-react-native@^2.0.3:
+css-to-react-native@^2.0.3, css-to-react-native@^2.2.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d"
integrity sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==
@@ -3492,9 +3503,9 @@ cyclist@^1.0.1:
integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
cypress-file-upload@^3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-3.5.1.tgz#6dcd7a87c93242b8fe917abe39bdda1ff82e23a3"
- integrity sha512-HUhnoLlhLTHmgRGsoflcGyv3n9WA/Kh96mmBLmTGlg9Fs/CP2fVVc4NdbKeT9fNYk6Qy3upjfUxYaavNnfQb/Q==
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-3.5.3.tgz#cd706485de3fb2cbd4a8c2dd90fe96d537bb4311"
+ integrity sha512-S/czzqAj1BYz6Xxnfpx2aSc6hXsj76fd8/iuycJ2RxoxCcQMliw8eQV0ugzVlkzr1GD5dKGviNFGYqv3nRJ+Tg==
cypress-plugin-retries@^1.5.2:
version "1.5.2"
@@ -4051,9 +4062,9 @@ ejs@~2.5.6:
integrity sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==
electron-to-chromium@^1.3.322:
- version "1.3.322"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8"
- integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==
+ version "1.3.326"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.326.tgz#71715aca9afd328ea208a3bc4651c15b869f0d1b"
+ integrity sha512-kaBmGWJlLW5bGEbm7/HWG9jt4oH+uecBIIfzFWfFkgqssPT2I6RDenGqo4wmKzm7seNu7DSCRZBXCuf7w8dtkQ==
elegant-spinner@^1.0.1:
version "1.0.1"
@@ -4334,9 +4345,9 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escodegen@^1.9.1:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541"
- integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.1.tgz#08770602a74ac34c7a90ca9229e7d51e379abc76"
+ integrity sha512-Q8t2YZ+0e0pc7NRVj3B4tSQ9rim1oi4Fh46k2xhJ2qOiEwhQfdjyEQddWdj7ZFaKmU+5104vn1qrcjEPWq+bgQ==
dependencies:
esprima "^3.1.3"
estraverse "^4.2.0"
@@ -4987,9 +4998,9 @@ form-data@~2.3.2:
mime-types "^2.1.12"
formik@^2.0.4:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/formik/-/formik-2.1.0.tgz#5a59b358170049cebcaf03e661f5f9c6588714d1"
- integrity sha512-GxH9uMX55UKQcX0hNBd/FuoYnYXKQY0nS9FH00vHyZzEvIfvvt+JMRWU515JbCvR9P2Sx3ZWMFgszjMugF3zNg==
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/formik/-/formik-2.1.1.tgz#a0f436d088e0aecaaa2e619682c323408a9e2c79"
+ integrity sha512-PdpgIPn7ipCzU5KBA+ED6Yy0kPqpZsWzoqI69ZJvcMtUfTzWrNfDeEdv2kd5aMAU3Iqs4PYFREAZjcthS/nqQw==
dependencies:
deepmerge "^2.1.1"
hoist-non-react-statics "^3.3.0"
@@ -6382,6 +6393,11 @@ is-utf8@^0.2.0:
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+is-what@^3.3.1:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.5.0.tgz#c50b0e8f3021e0b39410c159bea43a5510d99027"
+ integrity sha512-00pwt/Jf7IaRh5m2Dp93Iw8LG2cd3OpDj3NrD1XPNUpAWVxPvBP296p4IiGmIU4Ur0f3f56IoIM+fS2pFYF+tQ==
+
is-window@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d"
@@ -7822,6 +7838,11 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
+memoize-one@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
+ integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
+
memoizee@^0.4.12:
version "0.4.14"
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
@@ -7875,6 +7896,13 @@ meow@^3.7.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
+merge-anything@^2.2.4:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-2.4.4.tgz#6226b2ac3d3d3fc5fb9e8d23aa400df25f98fdf0"
+ integrity sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ==
+ dependencies:
+ is-what "^3.3.1"
+
merge-defaults@^0.2.1:
version "0.2.2"
resolved "https://registry.yarnpkg.com/merge-defaults/-/merge-defaults-0.2.2.tgz#68b9da04fef804674a0d63df1c469378c343d506"
@@ -7942,17 +7970,17 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-mime-db@1.42.0, "mime-db@>= 1.40.0 < 2":
- version "1.42.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac"
- integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==
+mime-db@1.43.0, "mime-db@>= 1.43.0 < 2":
+ version "1.43.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
+ integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.25"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437"
- integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==
+ version "2.1.26"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
+ integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
dependencies:
- mime-db "1.42.0"
+ mime-db "1.43.0"
mime@1.6.0, mime@^1.3.4:
version "1.6.0"
@@ -8318,7 +8346,7 @@ node-notifier@^6.0.0:
shellwords "^0.1.1"
which "^1.3.1"
-node-releases@^1.1.42:
+node-releases@^1.1.44:
version "1.1.44"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.44.tgz#cd66438a6eb875e3eb012b6a12e48d9f4326ffd7"
integrity sha512-NwbdvJyR7nrcGrXvKAvzc5raj/NkoJudkarh2yIpJ4t0NH4aqjUDz/486P+ynIW5eokKOfzGNRdYoLfBlomruw==
@@ -9042,9 +9070,9 @@ phin@^2.9.1:
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
picomatch@^2.0.5:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.1.1.tgz#ecdfbea7704adb5fe6fb47f9866c4c0e15e905c5"
- integrity sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
+ integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==
pify@^2.0.0, pify@^2.2.0:
version "2.3.0"
@@ -9832,9 +9860,9 @@ read-pkg@^5.0.0, read-pkg@^5.1.1:
type-fest "^0.6.0"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
- integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
@@ -11143,12 +11171,36 @@ styled-components@^2.4.0:
stylis "^3.4.0"
supports-color "^3.2.3"
-stylis@^3.4.0:
+styled-components@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.4.1.tgz#e0631e889f01db67df4de576fedaca463f05c2f2"
+ integrity sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@emotion/is-prop-valid" "^0.8.1"
+ "@emotion/unitless" "^0.7.0"
+ babel-plugin-styled-components ">= 1"
+ css-to-react-native "^2.2.2"
+ memoize-one "^5.0.0"
+ merge-anything "^2.2.4"
+ prop-types "^15.5.4"
+ react-is "^16.6.0"
+ stylis "^3.5.0"
+ stylis-rule-sheet "^0.0.10"
+ supports-color "^5.5.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"
+ integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+
+stylis@^3.4.0, stylis@^3.5.0:
version "3.5.4"
resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
-supports-color@5.5.0, supports-color@^5.3.0:
+supports-color@5.5.0, supports-color@^5.3.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -11366,9 +11418,9 @@ terser-webpack-plugin@^1.4.3:
worker-farm "^1.7.0"
terser@^4.1.2:
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.3.tgz#401abc52b88869cf904412503b1eb7da093ae2f0"
- integrity sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.5.1.tgz#63b52d6b6ce344aa6fedcd0ee06a695799eb50bd"
+ integrity sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==
dependencies:
commander "^2.20.0"
source-map "~0.6.1"