From e0126e7237319ef4551ecaa415a8295f70f3ebdb Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Tue, 19 Feb 2019 10:19:30 +0100 Subject: [PATCH 01/66] search fix --- src/routes/Search.tsx | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/routes/Search.tsx b/src/routes/Search.tsx index 901437f..fb5c4f1 100644 --- a/src/routes/Search.tsx +++ b/src/routes/Search.tsx @@ -19,16 +19,7 @@ export default class Search extends Component { public async componentDidMount() { const searchParams = queryString.parse(this.props.location.search) - const queryRequest: any = { - offset: 100, - page: 0, - query: { - $text: { - $search: searchParams.q - } - } - } - const assets = await this.context.ocean.searchAssets(queryRequest) + const assets = await this.context.ocean.assets.search(searchParams.q) this.setState({ results: assets }) } From e5ede4997144348369b951b13b6b06c3be227608 Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Wed, 20 Feb 2019 15:00:42 +0100 Subject: [PATCH 02/66] faucet request function --- src/App.tsx | 37 +++++++++++++++++++++++++++++++++++-- src/context/User.ts | 3 +++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 674a8b9..20ddff1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,7 +10,14 @@ import Routes from './Routes' import './styles/global.scss' import styles from './App.module.scss' -import { nodeHost, nodePort, nodeScheme } from './config' +import { + nodeHost, + nodePort, + nodeScheme, + faucetHost, + faucetPort, + faucetScheme +} from './config' declare global { interface Window { @@ -37,6 +44,31 @@ class App extends Component<{}, AppState> { this.startLoginProcess() } + private requestFromFaucet = async () => { + if (this.state.account !== '') { + try { + await fetch( + `${faucetScheme}://${faucetHost}:${faucetPort}/faucet`, + { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + address: this.state.account, + agent: 'commons-marketplace' + }) + } + ) + } catch (error) { + // show error + } + } else { + // no account found + } + } + public state = { isLogged: false, isLoading: true, @@ -48,7 +80,8 @@ class App extends Component<{}, AppState> { ), account: '', ocean: {}, - startLogin: this.startLogin + startLogin: this.startLogin, + requestFromFaucet: this.requestFromFaucet } public async componentDidMount() { diff --git a/src/context/User.ts b/src/context/User.ts index 3b64219..d3b3a21 100644 --- a/src/context/User.ts +++ b/src/context/User.ts @@ -9,5 +9,8 @@ export const User = React.createContext({ ocean: {}, startLogin: () => { /* empty */ + }, + requestFromFaucet: () => { + /* empty */ } }) From 24e3fbcf6a8a5234d2cf44946e8bc59c63a4de14 Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Wed, 20 Feb 2019 15:06:23 +0100 Subject: [PATCH 03/66] add config --- src/config.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/config.ts b/src/config.ts index d06e67e..5891de4 100644 --- a/src/config.ts +++ b/src/config.ts @@ -22,4 +22,8 @@ export const threshold = 0 export const password = 'node0' export const address = '0x00bd138abd70e2f00903268f3db08f2d25677c9e' +export const faucetScheme = 'http' +export const faucetHost = 'localhost' +export const faucetPort = 3001 + export const verbose = true From d35a1d56e0d72efe9b92cd6dffa7e6d0e0c0b5ec Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 23 Feb 2019 19:34:28 +0100 Subject: [PATCH 04/66] port over account popup from pleuston --- src/components/Header.tsx | 2 + src/components/Web3message.module.scss | 30 ----- src/components/Web3message.tsx | 37 +++--- .../molecules/AccountStatus.module.scss | 106 ++++++++++++++++++ src/components/molecules/AccountStatus.tsx | 88 +++++++++++++++ 5 files changed, 213 insertions(+), 50 deletions(-) create mode 100644 src/components/molecules/AccountStatus.module.scss create mode 100644 src/components/molecules/AccountStatus.tsx diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 79afc75..543469f 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,6 +1,7 @@ import React from 'react' import { NavLink } from 'react-router-dom' import { ReactComponent as Logo } from '@oceanprotocol/art/logo/logo.svg' +import AccountStatus from './molecules/AccountStatus' import styles from './Header.module.scss' import menu from '../data/menu.json' @@ -27,6 +28,7 @@ const Header = () => ( ))} + ) diff --git a/src/components/Web3message.module.scss b/src/components/Web3message.module.scss index 759ebb8..5f78d8c 100644 --- a/src/components/Web3message.module.scss +++ b/src/components/Web3message.module.scss @@ -11,36 +11,6 @@ padding-bottom: $spacer / 2; } -// default: red square -.indicator { - display: inline-block; - width: $font-size-small; - height: $font-size-small; - background: $red; - margin-right: $spacer / 8; - position: absolute; - left: 0; - top: ($spacer / 2) + .3rem; -} - -// yellow triangle -.indicatorCloseEnough { - composes: indicator; - background: none; - width: 0; - height: 0; - border-left: $font-size-small / 1.75 solid transparent; - border-right: $font-size-small / 1.75 solid transparent; - border-bottom: $font-size-small solid $yellow; -} - -// green circle -.indicatorActive { - composes: indicator; - border-radius: 50%; - background: $green; -} - .account { display: inline-block; margin-left: $spacer / 8; diff --git a/src/components/Web3message.tsx b/src/components/Web3message.tsx index b0996aa..919da5f 100644 --- a/src/components/Web3message.tsx +++ b/src/components/Web3message.tsx @@ -1,33 +1,31 @@ import React, { PureComponent } from 'react' import Button from '../components/atoms/Button' +import AccountStatus from './molecules/AccountStatus' import styles from './Web3message.module.scss' import { User } from '../context/User' export default class Web3message extends PureComponent { public render() { return ( - <> - - {states => - !states.isWeb3 - ? this.noWeb3() - : !states.isLogged - ? this.unlockAccount(states) - : states.isLogged - ? this.haveAccount(states.account) - : null - } - - + + {states => + !states.isWeb3 + ? this.noWeb3() + : !states.isLogged + ? this.unlockAccount(states) + : states.isLogged + ? this.haveAccount(states.account) + : null + } + ) } public noWeb3() { return (
- No Web3 Browser. For - publishing an asset you need to use a Web3-capable plugin or - browser, like{' '} + No Web3 Browser. For publishing an asset you + need to use a Web3-capable plugin or browser, like{' '} MetaMask @@ -39,8 +37,8 @@ export default class Web3message extends PureComponent { public unlockAccount(states: any) { return (
- Account locked. - For publishing an asset you need to unlock your Web3 account. + Account locked. For publishing an asset you + need to unlock your Web3 account. @@ -51,8 +49,7 @@ export default class Web3message extends PureComponent { public haveAccount(account: string) { return (
- Connected with - account + Connected with account {`${account && account.substring(0, 20)}...`} diff --git a/src/components/molecules/AccountStatus.module.scss b/src/components/molecules/AccountStatus.module.scss new file mode 100644 index 0000000..ccbdc9b --- /dev/null +++ b/src/components/molecules/AccountStatus.module.scss @@ -0,0 +1,106 @@ +@import '../../styles/variables'; + +.status { + display: inline-block; + position: relative; +} + +// default: red square +.statusIndicator { + width: $font-size-small; + height: $font-size-small; + display: block; + background: $red; + margin-bottom: -.1rem; +} + +// yellow triangle +.statusIndicatorCloseEnough { + composes: statusIndicator; + background: none; + width: 0; + height: 0; + border-left: $font-size-small / 1.7 solid transparent; + border-right: $font-size-small / 1.7 solid transparent; + border-bottom: $font-size-small solid $yellow; +} + +// green circle +.statusIndicatorActive { + composes: statusIndicator; + border-radius: 50%; + background: $green; +} + +$popoverWidth: 18rem; + +.popover { + position: absolute; + top: 1.5rem; + right: -($spacer / 3); + width: $popoverWidth; + padding: $spacer / 2; + background: $brand-black; + border-radius: .1rem; + border: .1rem solid $brand-grey-light; + box-shadow: 0 6px 16px 0 rgba($brand-black, .3); + color: $brand-grey-light; + font-size: $font-size-small; + + &:after { + bottom: 100%; + right: 2%; + border: solid transparent; + content: ''; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-color: transparent; + border-bottom-color: $brand-grey-light; + border-width: 10px; + margin-left: -10px; + } +} + +.popoverInfoline { + border-bottom: .05rem solid $brand-grey; + padding: $spacer / 3 0; + display: flex; + flex-wrap: wrap; + align-items: center; + + &:first-child { + padding-top: 0; + } + + &:last-child { + padding-bottom: 0; + border-bottom: 0; + } + + button { + font-size: $font-size-small; + } +} + +.accountName { + composes: popoverInfoline; + flex-wrap: nowrap; + + // blockies avatar + canvas { + display: inline-block; + border-radius: 50%; + overflow: hidden; + flex: 0 0 20px; + margin-right: $spacer / 4; + } +} + +.address { + width: 15rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx new file mode 100644 index 0000000..09d9356 --- /dev/null +++ b/src/components/molecules/AccountStatus.tsx @@ -0,0 +1,88 @@ +import React, { PureComponent } from 'react' +// import Blockies from 'react-blockies' +import Button from '../atoms/Button' +import { User } from '../../context/User' +import styles from './AccountStatus.module.scss' + +interface AccountStatusState { + popoverOpen: boolean +} + +export default class AccountStatus extends PureComponent< + {}, + AccountStatusState +> { + public state = { + popoverOpen: false + } + + private togglePopover() { + this.setState(prevState => ({ + popoverOpen: !prevState.popoverOpen + })) + } + + public render() { + return ( +
this.togglePopover()} + onMouseLeave={() => this.togglePopover()} + onTouchStart={() => this.togglePopover()} + > + + {states => + !states.isWeb3 ? ( + + ) : !states.isLogged ? ( + + ) : states.isLogged ? ( + + ) : null + } + + + {this.state.popoverOpen && } +
+ ) + } +} + +const AccountPopover = () => ( +
+
+ + {states => + states.account ? ( + <> + {/* */} + + {states.account} + + + ) : ( + 'No account selected' + ) + } + +
+
+ Network:  {''} +
+
+ +
+
+) From 3a75a00668a4e5fc446a7b33f9c2842f6585a69c Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 08:38:58 -0300 Subject: [PATCH 05/66] add faucet function * use function implemented in #24 --- src/components/molecules/AccountStatus.tsx | 27 ++++++++-------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx index 09d9356..b2fac9a 100644 --- a/src/components/molecules/AccountStatus.tsx +++ b/src/components/molecules/AccountStatus.tsx @@ -56,20 +56,9 @@ const AccountPopover = () => ( {states => states.account ? ( - <> - {/* */} - - {states.account} - - + + {states.account} + ) : ( 'No account selected' ) @@ -80,9 +69,13 @@ const AccountPopover = () => ( Network:  {''}
- + + {states => ( + + )} +
) From 855cdc00af0ac348d45efbb629e58d1ae44ecfdf Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 09:35:30 -0300 Subject: [PATCH 06/66] allow adding styles to account status --- src/components/molecules/AccountStatus.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx index b2fac9a..9450745 100644 --- a/src/components/molecules/AccountStatus.tsx +++ b/src/components/molecules/AccountStatus.tsx @@ -1,15 +1,19 @@ import React, { PureComponent } from 'react' -// import Blockies from 'react-blockies' -import Button from '../atoms/Button' +import cx from 'classnames' +// import Button from '../atoms/Button' import { User } from '../../context/User' import styles from './AccountStatus.module.scss' +interface AccountStatusProps { + className?: string +} + interface AccountStatusState { popoverOpen: boolean } export default class AccountStatus extends PureComponent< - {}, + AccountStatusProps, AccountStatusState > { public state = { @@ -25,7 +29,7 @@ export default class AccountStatus extends PureComponent< public render() { return (
this.togglePopover()} onMouseLeave={() => this.togglePopover()} onTouchStart={() => this.togglePopover()} @@ -68,7 +72,7 @@ const AccountPopover = () => (
Network:  {''}
-
+ {/*
{states => ( )} -
+
*/}
) From 6b5e5e3a444f6bf72f52b03ea6a44cc62dd1b5e1 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 09:36:45 -0300 Subject: [PATCH 07/66] style account status in header --- src/components/Header.module.scss | 5 +++++ src/components/Header.tsx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/Header.module.scss b/src/components/Header.module.scss index 4538491..d77aaf4 100644 --- a/src/components/Header.module.scss +++ b/src/components/Header.module.scss @@ -94,3 +94,8 @@ color: $brand-pink; pointer-events: none; } + +.accountStatus { + margin-left: $spacer; + margin-bottom: .3rem; +} diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 543469f..225d5d3 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -28,7 +28,7 @@ const Header = () => ( ))} - +
) From 5aff55545523ff7227ee6c970949bc4675bb3556 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 10:26:40 -0300 Subject: [PATCH 08/66] use react-popover for smart placement of account popover --- package-lock.json | 53 ++++++++ package.json | 2 + .../molecules/AccountStatus.module.scss | 34 ++--- src/components/molecules/AccountStatus.tsx | 116 ++++++++++-------- 4 files changed, 138 insertions(+), 67 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36dfb3c..5ecac47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1231,6 +1231,14 @@ "@types/react": "*" } }, + "@types/react-popover": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/react-popover/-/react-popover-0.5.3.tgz", + "integrity": "sha512-xfmnFHRKMXtGdWuSwEg4XiHxODKlN/bPEXfretBpojI7cNoeAtnmpyTmFk4UNcO+ys3W2SOsMXzcaqCNPyYP2g==", + "requires": { + "@types/react": "*" + } + }, "@types/react-router": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-4.4.3.tgz", @@ -4904,6 +4912,14 @@ "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", "dev": true }, + "css-vendor": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", + "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", + "requires": { + "is-in-browser": "^1.0.2" + } + }, "css-what": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", @@ -9711,6 +9727,11 @@ "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==", "dev": true }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" + }, "is-installed-globally": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", @@ -11211,6 +11232,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", @@ -11235,6 +11261,14 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "lodash.debounce": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", + "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", + "requires": { + "lodash._getnative": "^3.0.0" + } + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -11277,6 +11311,14 @@ "lodash._reinterpolate": "~3.0.0" } }, + "lodash.throttle": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-3.0.4.tgz", + "integrity": "sha1-vE9HH7Mo5Nb9xt8rPTyvET8Pick=", + "requires": { + "lodash.debounce": "^3.0.0" + } + }, "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", @@ -16612,6 +16654,17 @@ "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.8.4.tgz", "integrity": "sha512-QhI19OcfhiAn60/O6bMR0w8ApXrPFCjv6+eV0I/P9/AswzjgEAx4L7VxMBCpS/jrythLa12Q9v88req+ys4YpA==" }, + "react-popover": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/react-popover/-/react-popover-0.5.10.tgz", + "integrity": "sha512-5SYDTfncywSH00I70oHd4gFRUR8V0rJ4sRADSI/P6G0RVXp9jUgaWloJ0Bk+SFnjpLPuipTKuzQNNd2CTs5Hrw==", + "requires": { + "css-vendor": "^0.3.1", + "debug": "^2.6.8", + "lodash.throttle": "^3.0.3", + "prop-types": "^15.5.10" + } + }, "react-router": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", diff --git a/package.json b/package.json index ee147b1..07a9728 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@oceanprotocol/squid": "^0.3.0", "@types/is-url": "^1.2.28", "@types/react-helmet": "^5.0.8", + "@types/react-popover": "^0.5.3", "@types/react-transition-group": "^2.0.15", "classnames": "^2.2.6", "eslint": "^5.6.0", @@ -29,6 +30,7 @@ "react-dom": "^16.8.1", "react-helmet": "^5.2.0", "react-moment": "^0.8.4", + "react-popover": "^0.5.10", "react-router-dom": "^4.3.1", "react-transition-group": "^2.5.3", "slugify": "^1.3.4", diff --git a/src/components/molecules/AccountStatus.module.scss b/src/components/molecules/AccountStatus.module.scss index ccbdc9b..377ae34 100644 --- a/src/components/molecules/AccountStatus.module.scss +++ b/src/components/molecules/AccountStatus.module.scss @@ -35,9 +35,9 @@ $popoverWidth: 18rem; .popover { - position: absolute; - top: 1.5rem; - right: -($spacer / 3); + // position: absolute; + // top: 1.5rem; + // right: -($spacer / 3); width: $popoverWidth; padding: $spacer / 2; background: $brand-black; @@ -47,20 +47,20 @@ $popoverWidth: 18rem; color: $brand-grey-light; font-size: $font-size-small; - &:after { - bottom: 100%; - right: 2%; - border: solid transparent; - content: ''; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border-color: transparent; - border-bottom-color: $brand-grey-light; - border-width: 10px; - margin-left: -10px; - } + // &:after { + // bottom: 100%; + // right: 2%; + // border: solid transparent; + // content: ''; + // height: 0; + // width: 0; + // position: absolute; + // pointer-events: none; + // border-color: transparent; + // border-bottom-color: $brand-grey-light; + // border-width: 10px; + // margin-left: -10px; + // } } .popoverInfoline { diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx index 9450745..23e2939 100644 --- a/src/components/molecules/AccountStatus.tsx +++ b/src/components/molecules/AccountStatus.tsx @@ -2,58 +2,9 @@ import React, { PureComponent } from 'react' import cx from 'classnames' // import Button from '../atoms/Button' import { User } from '../../context/User' +import Popover from 'react-popover' import styles from './AccountStatus.module.scss' -interface AccountStatusProps { - className?: string -} - -interface AccountStatusState { - popoverOpen: boolean -} - -export default class AccountStatus extends PureComponent< - AccountStatusProps, - AccountStatusState -> { - public state = { - popoverOpen: false - } - - private togglePopover() { - this.setState(prevState => ({ - popoverOpen: !prevState.popoverOpen - })) - } - - public render() { - return ( -
this.togglePopover()} - onMouseLeave={() => this.togglePopover()} - onTouchStart={() => this.togglePopover()} - > - - {states => - !states.isWeb3 ? ( - - ) : !states.isLogged ? ( - - ) : states.isLogged ? ( - - ) : null - } - - - {this.state.popoverOpen && } -
- ) - } -} - const AccountPopover = () => (
@@ -83,3 +34,68 @@ const AccountPopover = () => (
*/}
) + +interface AccountStatusProps { + className?: string +} + +interface AccountStatusState { + popoverIsOpen: boolean + preferPlace?: string + place?: string + enterExitTransitionDurationMs?: number +} + +export default class AccountStatus extends PureComponent< + AccountStatusProps, + AccountStatusState +> { + public state = { + popoverIsOpen: false + } + + private togglePopover(toState: boolean) { + const popoverIsOpen = + typeof toState === 'boolean' ? toState : !this.state.popoverIsOpen + this.setState({ popoverIsOpen }) + } + + public AccountIndicator = () => ( +
this.togglePopover(true)} + onMouseOut={() => this.togglePopover(false)} + onTouchStart={() => this.togglePopover(true)} + > + + {states => + !states.isWeb3 ? ( + + ) : !states.isLogged ? ( + + ) : states.isLogged ? ( + + ) : null + } + +
+ ) + + public render() { + const popoverProps = { + isOpen: this.state.popoverIsOpen, + // preferPlace: this.state.preferPlace, + // place: this.state.place, + enterExitTransitionDurationMs: 300, + tipSize: 0.01, + onOuterAction: () => this.togglePopover(false), + body: + } + + return ( + + + + ) + } +} From a38bb20bfc7999dfeae264439479f1728c5ee281 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 10:45:42 -0300 Subject: [PATCH 09/66] fix indicator placement in web3 message --- src/components/Web3message.module.scss | 7 ++++++- src/components/Web3message.tsx | 12 +++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/components/Web3message.module.scss b/src/components/Web3message.module.scss index 5f78d8c..f24ef53 100644 --- a/src/components/Web3message.module.scss +++ b/src/components/Web3message.module.scss @@ -3,7 +3,7 @@ .message { margin-bottom: $spacer; color: $brand-grey; - padding-left: 1.5rem; + padding-left: 2rem; position: relative; border-bottom: .1rem solid $brand-grey-lighter; border-top: .1rem solid $brand-grey-lighter; @@ -16,3 +16,8 @@ margin-left: $spacer / 8; background: none; } + +.status { + margin-left: -($spacer); + margin-right: $spacer / 3; +} diff --git a/src/components/Web3message.tsx b/src/components/Web3message.tsx index 919da5f..ee0ed34 100644 --- a/src/components/Web3message.tsx +++ b/src/components/Web3message.tsx @@ -24,8 +24,9 @@ export default class Web3message extends PureComponent { public noWeb3() { return (
- No Web3 Browser. For publishing an asset you - need to use a Web3-capable plugin or browser, like{' '} + No Web3 Browser. For + publishing an asset you need to use a Web3-capable plugin or + browser, like{' '} MetaMask @@ -37,8 +38,8 @@ export default class Web3message extends PureComponent { public unlockAccount(states: any) { return (
- Account locked. For publishing an asset you - need to unlock your Web3 account. + Account locked. For + publishing an asset you need to unlock your Web3 account. @@ -49,7 +50,8 @@ export default class Web3message extends PureComponent { public haveAccount(account: string) { return (
- Connected with account + Connected with + account {`${account && account.substring(0, 20)}...`} From b71649b0d076d194d3838829340a83db932acd4a Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 10:56:34 -0300 Subject: [PATCH 10/66] activate faucet UI in popover --- .../molecules/AccountStatus.module.scss | 1 + src/components/molecules/AccountStatus.tsx | 18 ++++++------------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/components/molecules/AccountStatus.module.scss b/src/components/molecules/AccountStatus.module.scss index 377ae34..4c02a71 100644 --- a/src/components/molecules/AccountStatus.module.scss +++ b/src/components/molecules/AccountStatus.module.scss @@ -3,6 +3,7 @@ .status { display: inline-block; position: relative; + cursor: pointer; } // default: red square diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx index 23e2939..a24e7dc 100644 --- a/src/components/molecules/AccountStatus.tsx +++ b/src/components/molecules/AccountStatus.tsx @@ -1,6 +1,6 @@ import React, { PureComponent } from 'react' import cx from 'classnames' -// import Button from '../atoms/Button' +import Button from '../atoms/Button' import { User } from '../../context/User' import Popover from 'react-popover' import styles from './AccountStatus.module.scss' @@ -15,7 +15,7 @@ const AccountPopover = () => ( {states.account} ) : ( - 'No account selected' + No account selected ) } @@ -23,15 +23,15 @@ const AccountPopover = () => (
Network:  {''}
- {/*
+
{states => ( - )} -
*/} +
) @@ -41,9 +41,6 @@ interface AccountStatusProps { interface AccountStatusState { popoverIsOpen: boolean - preferPlace?: string - place?: string - enterExitTransitionDurationMs?: number } export default class AccountStatus extends PureComponent< @@ -63,9 +60,8 @@ export default class AccountStatus extends PureComponent< public AccountIndicator = () => (
this.togglePopover(true)} onMouseOver={() => this.togglePopover(true)} - onMouseOut={() => this.togglePopover(false)} - onTouchStart={() => this.togglePopover(true)} > {states => @@ -84,8 +80,6 @@ export default class AccountStatus extends PureComponent< public render() { const popoverProps = { isOpen: this.state.popoverIsOpen, - // preferPlace: this.state.preferPlace, - // place: this.state.place, enterExitTransitionDurationMs: 300, tipSize: 0.01, onOuterAction: () => this.togglePopover(false), From 3d7746c46c3a9bd9544a5f270269eecf5efda876 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 11:22:12 -0300 Subject: [PATCH 11/66] component splitup, prepare loading state for faucet action --- src/components/Header.tsx | 2 +- src/components/Web3message.tsx | 2 +- src/components/molecules/AccountStatus.tsx | 95 ------------------- .../molecules/AccountStatus/Faucet.tsx | 49 ++++++++++ .../AccountStatus/Indicator.module.scss | 34 +++++++ .../molecules/AccountStatus/Indicator.tsx | 32 +++++++ .../Popover.module.scss} | 35 +------ .../molecules/AccountStatus/Popover.tsx | 30 ++++++ .../molecules/AccountStatus/index.tsx | 46 +++++++++ 9 files changed, 194 insertions(+), 131 deletions(-) delete mode 100644 src/components/molecules/AccountStatus.tsx create mode 100644 src/components/molecules/AccountStatus/Faucet.tsx create mode 100644 src/components/molecules/AccountStatus/Indicator.module.scss create mode 100644 src/components/molecules/AccountStatus/Indicator.tsx rename src/components/molecules/{AccountStatus.module.scss => AccountStatus/Popover.module.scss} (67%) create mode 100644 src/components/molecules/AccountStatus/Popover.tsx create mode 100644 src/components/molecules/AccountStatus/index.tsx diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 225d5d3..1f73dce 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,7 +1,7 @@ import React from 'react' import { NavLink } from 'react-router-dom' import { ReactComponent as Logo } from '@oceanprotocol/art/logo/logo.svg' -import AccountStatus from './molecules/AccountStatus' +import AccountStatus from './molecules/AccountStatus/' import styles from './Header.module.scss' import menu from '../data/menu.json' diff --git a/src/components/Web3message.tsx b/src/components/Web3message.tsx index ee0ed34..05aa3ad 100644 --- a/src/components/Web3message.tsx +++ b/src/components/Web3message.tsx @@ -1,6 +1,6 @@ import React, { PureComponent } from 'react' import Button from '../components/atoms/Button' -import AccountStatus from './molecules/AccountStatus' +import AccountStatus from './molecules/AccountStatus/' import styles from './Web3message.module.scss' import { User } from '../context/User' diff --git a/src/components/molecules/AccountStatus.tsx b/src/components/molecules/AccountStatus.tsx deleted file mode 100644 index a24e7dc..0000000 --- a/src/components/molecules/AccountStatus.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import React, { PureComponent } from 'react' -import cx from 'classnames' -import Button from '../atoms/Button' -import { User } from '../../context/User' -import Popover from 'react-popover' -import styles from './AccountStatus.module.scss' - -const AccountPopover = () => ( -
-
- - {states => - states.account ? ( - - {states.account} - - ) : ( - No account selected - ) - } - -
-
- Network:  {''} -
-
- - {states => ( - - )} - -
-
-) - -interface AccountStatusProps { - className?: string -} - -interface AccountStatusState { - popoverIsOpen: boolean -} - -export default class AccountStatus extends PureComponent< - AccountStatusProps, - AccountStatusState -> { - public state = { - popoverIsOpen: false - } - - private togglePopover(toState: boolean) { - const popoverIsOpen = - typeof toState === 'boolean' ? toState : !this.state.popoverIsOpen - this.setState({ popoverIsOpen }) - } - - public AccountIndicator = () => ( -
this.togglePopover(true)} - onMouseOver={() => this.togglePopover(true)} - > - - {states => - !states.isWeb3 ? ( - - ) : !states.isLogged ? ( - - ) : states.isLogged ? ( - - ) : null - } - -
- ) - - public render() { - const popoverProps = { - isOpen: this.state.popoverIsOpen, - enterExitTransitionDurationMs: 300, - tipSize: 0.01, - onOuterAction: () => this.togglePopover(false), - body: - } - - return ( - - - - ) - } -} diff --git a/src/components/molecules/AccountStatus/Faucet.tsx b/src/components/molecules/AccountStatus/Faucet.tsx new file mode 100644 index 0000000..4febe8e --- /dev/null +++ b/src/components/molecules/AccountStatus/Faucet.tsx @@ -0,0 +1,49 @@ +import React, { PureComponent } from 'react' +import Button from '../../atoms/Button' +import { User } from '../../../context/User' + +interface FaucetState { + isLoading: boolean + error?: string +} + +export default class Faucet extends PureComponent<{}, FaucetState> { + public state = { + isLoading: false, + error: undefined + } + + private getTokens = async (requestFromFaucet: any) => { + this.setState({ isLoading: true }) + + try { + await requestFromFaucet() + this.setState({ isLoading: false }) + } catch (error) { + this.setState({ isLoading: false, error }) + } + } + + public render() { + return ( + + {states => + this.state.isLoading ? ( + 'Getting tokens...' + ) : this.state.error ? ( + this.state.error + ) : ( + + ) + } + + ) + } +} diff --git a/src/components/molecules/AccountStatus/Indicator.module.scss b/src/components/molecules/AccountStatus/Indicator.module.scss new file mode 100644 index 0000000..c7a3c60 --- /dev/null +++ b/src/components/molecules/AccountStatus/Indicator.module.scss @@ -0,0 +1,34 @@ +@import '../../../styles/variables'; + +.status { + display: inline-block; + position: relative; + cursor: pointer; +} + +// default: red square +.statusIndicator { + width: $font-size-small; + height: $font-size-small; + display: block; + background: $red; + margin-bottom: -.1rem; +} + +// yellow triangle +.statusIndicatorCloseEnough { + composes: statusIndicator; + background: none; + width: 0; + height: 0; + border-left: $font-size-small / 1.7 solid transparent; + border-right: $font-size-small / 1.7 solid transparent; + border-bottom: $font-size-small solid $yellow; +} + +// green circle +.statusIndicatorActive { + composes: statusIndicator; + border-radius: 50%; + background: $green; +} diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/src/components/molecules/AccountStatus/Indicator.tsx new file mode 100644 index 0000000..0a75427 --- /dev/null +++ b/src/components/molecules/AccountStatus/Indicator.tsx @@ -0,0 +1,32 @@ +import React from 'react' +import cx from 'classnames' +import { User } from '../../../context/User' +import styles from './Indicator.module.scss' + +const Indicator = ({ + className, + showPopover +}: { + className?: string + showPopover: any +}) => ( +
+ + {states => + !states.isWeb3 ? ( + + ) : !states.isLogged ? ( + + ) : states.isLogged ? ( + + ) : null + } + +
+) + +export default Indicator diff --git a/src/components/molecules/AccountStatus.module.scss b/src/components/molecules/AccountStatus/Popover.module.scss similarity index 67% rename from src/components/molecules/AccountStatus.module.scss rename to src/components/molecules/AccountStatus/Popover.module.scss index 4c02a71..f776482 100644 --- a/src/components/molecules/AccountStatus.module.scss +++ b/src/components/molecules/AccountStatus/Popover.module.scss @@ -1,37 +1,4 @@ -@import '../../styles/variables'; - -.status { - display: inline-block; - position: relative; - cursor: pointer; -} - -// default: red square -.statusIndicator { - width: $font-size-small; - height: $font-size-small; - display: block; - background: $red; - margin-bottom: -.1rem; -} - -// yellow triangle -.statusIndicatorCloseEnough { - composes: statusIndicator; - background: none; - width: 0; - height: 0; - border-left: $font-size-small / 1.7 solid transparent; - border-right: $font-size-small / 1.7 solid transparent; - border-bottom: $font-size-small solid $yellow; -} - -// green circle -.statusIndicatorActive { - composes: statusIndicator; - border-radius: 50%; - background: $green; -} +@import '../../../styles/variables'; $popoverWidth: 18rem; diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx new file mode 100644 index 0000000..439a113 --- /dev/null +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -0,0 +1,30 @@ +import React from 'react' +import { User } from '../../../context/User' +import Faucet from './Faucet' +import styles from './Popover.module.scss' + +const Popover = () => ( +
+
+ + {states => + states.account ? ( + + {states.account} + + ) : ( + No account selected + ) + } + +
+
+ Network:  {''} +
+
+ +
+
+) + +export default Popover diff --git a/src/components/molecules/AccountStatus/index.tsx b/src/components/molecules/AccountStatus/index.tsx new file mode 100644 index 0000000..446e265 --- /dev/null +++ b/src/components/molecules/AccountStatus/index.tsx @@ -0,0 +1,46 @@ +import React, { PureComponent } from 'react' +import Popover from 'react-popover' +import AccountPopover from './Popover' +import AccountIndicator from './Indicator' + +interface AccountStatusProps { + className?: string +} + +interface AccountStatusState { + popoverIsOpen: boolean +} + +export default class AccountStatus extends PureComponent< + AccountStatusProps, + AccountStatusState +> { + public state = { + popoverIsOpen: false + } + + public togglePopover(toState?: boolean) { + const popoverIsOpen = + typeof toState === 'boolean' ? toState : !this.state.popoverIsOpen + this.setState({ popoverIsOpen }) + } + + public render() { + const popoverProps = { + isOpen: this.state.popoverIsOpen, + enterExitTransitionDurationMs: 300, + tipSize: 0.01, + onOuterAction: () => this.togglePopover(false), + body: + } + + return ( + + this.togglePopover(true)} + className={this.props.className} + /> + + ) + } +} From a50a700c92abef743741558a2c378f4c2f4eb451 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 12:44:23 -0300 Subject: [PATCH 12/66] prepare balances, use fake data for now --- .../AccountStatus/Popover.module.scss | 11 +++++++++++ .../molecules/AccountStatus/Popover.tsx | 18 +++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/components/molecules/AccountStatus/Popover.module.scss b/src/components/molecules/AccountStatus/Popover.module.scss index f776482..a7794cf 100644 --- a/src/components/molecules/AccountStatus/Popover.module.scss +++ b/src/components/molecules/AccountStatus/Popover.module.scss @@ -72,3 +72,14 @@ $popoverWidth: 18rem; overflow: hidden; text-overflow: ellipsis; } + +.balance { + font-size: $font-size-small; + color: $brand-grey-light; + margin-left: $spacer / 2; + white-space: nowrap; + + &:first-child { + margin-left: 0; + } +} diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 439a113..0d85c17 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -19,7 +19,23 @@ const Popover = () => (
- Network:  {''} + Network:   Fake Network Name + {/* Network: + + {states => states.network && {states.network}} + */} +
+
+ + 30 ETH + + {/* + {(eth / 1e18).toFixed(3).slice(0, -1)} ETH + */} + + {/* {ocn} OCEAN */} + 2474290 OCEAN +
From db90d7cb5aef57e6af0ce969b029bc07d7d8251d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 13:32:47 -0300 Subject: [PATCH 13/66] popover fixes --- .../molecules/AccountStatus/Indicator.tsx | 6 ++++-- src/components/molecules/AccountStatus/Popover.tsx | 14 ++++++++++++-- src/components/molecules/AccountStatus/index.tsx | 8 +++++++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/src/components/molecules/AccountStatus/Indicator.tsx index 0a75427..66d014f 100644 --- a/src/components/molecules/AccountStatus/Indicator.tsx +++ b/src/components/molecules/AccountStatus/Indicator.tsx @@ -5,15 +5,17 @@ import styles from './Indicator.module.scss' const Indicator = ({ className, - showPopover + showPopover, + hidePopover }: { className?: string showPopover: any + hidePopover: any }) => (
{states => diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 0d85c17..16fb41b 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -3,8 +3,18 @@ import { User } from '../../../context/User' import Faucet from './Faucet' import styles from './Popover.module.scss' -const Popover = () => ( -
+const Popover = ({ + showPopover, + hidePopover +}: { + showPopover: any + hidePopover: any +}) => ( +
{states => diff --git a/src/components/molecules/AccountStatus/index.tsx b/src/components/molecules/AccountStatus/index.tsx index 446e265..245b611 100644 --- a/src/components/molecules/AccountStatus/index.tsx +++ b/src/components/molecules/AccountStatus/index.tsx @@ -31,13 +31,19 @@ export default class AccountStatus extends PureComponent< enterExitTransitionDurationMs: 300, tipSize: 0.01, onOuterAction: () => this.togglePopover(false), - body: + body: ( + this.togglePopover(true)} + hidePopover={() => this.togglePopover(false)} + /> + ) } return ( this.togglePopover(true)} + hidePopover={() => this.togglePopover(false)} className={this.props.className} /> From d58ed5dc296788e3c436ffddea892ae2e09897ac Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 20:26:53 -0300 Subject: [PATCH 14/66] switch popover library --- package-lock.json | 50 ++---------------- package.json | 2 +- src/components/Header.module.scss | 5 +- .../AccountStatus/Indicator.module.scss | 1 - .../molecules/AccountStatus/Indicator.tsx | 10 ++-- .../AccountStatus/Popover.module.scss | 19 ------- .../molecules/AccountStatus/Popover.tsx | 12 ++--- .../molecules/AccountStatus/index.tsx | 51 ++++++++++--------- 8 files changed, 42 insertions(+), 108 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5ecac47..0e114e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4912,14 +4912,6 @@ "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", "dev": true }, - "css-vendor": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", - "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", - "requires": { - "is-in-browser": "^1.0.2" - } - }, "css-what": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", @@ -9727,11 +9719,6 @@ "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==", "dev": true }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, "is-installed-globally": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", @@ -11232,11 +11219,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", @@ -11261,14 +11243,6 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "lodash.debounce": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", - "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", - "requires": { - "lodash._getnative": "^3.0.0" - } - }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -11311,14 +11285,6 @@ "lodash._reinterpolate": "~3.0.0" } }, - "lodash.throttle": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-3.0.4.tgz", - "integrity": "sha1-vE9HH7Mo5Nb9xt8rPTyvET8Pick=", - "requires": { - "lodash.debounce": "^3.0.0" - } - }, "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", @@ -16654,17 +16620,6 @@ "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.8.4.tgz", "integrity": "sha512-QhI19OcfhiAn60/O6bMR0w8ApXrPFCjv6+eV0I/P9/AswzjgEAx4L7VxMBCpS/jrythLa12Q9v88req+ys4YpA==" }, - "react-popover": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/react-popover/-/react-popover-0.5.10.tgz", - "integrity": "sha512-5SYDTfncywSH00I70oHd4gFRUR8V0rJ4sRADSI/P6G0RVXp9jUgaWloJ0Bk+SFnjpLPuipTKuzQNNd2CTs5Hrw==", - "requires": { - "css-vendor": "^0.3.1", - "debug": "^2.6.8", - "lodash.throttle": "^3.0.3", - "prop-types": "^15.5.10" - } - }, "react-router": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", @@ -17032,6 +16987,11 @@ "shallowequal": "^1.0.1" } }, + "react-tiny-popover": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/react-tiny-popover/-/react-tiny-popover-3.4.2.tgz", + "integrity": "sha512-3lH+GHvyJbjHNg14B7Md8bpUapQ5W3s8IdBFguODjrgEV1+LWrKOmVrpe8xhIQDOkgkiDfLwMVgsI7BQM9Udpg==" + }, "react-transition-group": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.3.tgz", diff --git a/package.json b/package.json index 07a9728..63d3a97 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "react-dom": "^16.8.1", "react-helmet": "^5.2.0", "react-moment": "^0.8.4", - "react-popover": "^0.5.10", "react-router-dom": "^4.3.1", + "react-tiny-popover": "^3.4.2", "react-transition-group": "^2.5.3", "slugify": "^1.3.4", "web3": "^1.0.0-beta.43" diff --git a/src/components/Header.module.scss b/src/components/Header.module.scss index d77aaf4..1a88648 100644 --- a/src/components/Header.module.scss +++ b/src/components/Header.module.scss @@ -1,9 +1,6 @@ @import '../styles/variables'; .header { - // background: $brand-black - // url('@oceanprotocol/art/mantaray/mantaray-back.svg') no-repeat center -6rem; - // background-size: cover; width: 100%; padding: $spacer / 2 0; } @@ -97,5 +94,5 @@ .accountStatus { margin-left: $spacer; - margin-bottom: .3rem; + margin-bottom: .2rem; } diff --git a/src/components/molecules/AccountStatus/Indicator.module.scss b/src/components/molecules/AccountStatus/Indicator.module.scss index c7a3c60..e1e9ef9 100644 --- a/src/components/molecules/AccountStatus/Indicator.module.scss +++ b/src/components/molecules/AccountStatus/Indicator.module.scss @@ -12,7 +12,6 @@ height: $font-size-small; display: block; background: $red; - margin-bottom: -.1rem; } // yellow triangle diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/src/components/molecules/AccountStatus/Indicator.tsx index 66d014f..aa3c6e0 100644 --- a/src/components/molecules/AccountStatus/Indicator.tsx +++ b/src/components/molecules/AccountStatus/Indicator.tsx @@ -5,17 +5,15 @@ import styles from './Indicator.module.scss' const Indicator = ({ className, - showPopover, - hidePopover + togglePopover }: { className?: string - showPopover: any - hidePopover: any + togglePopover: any }) => (
{states => diff --git a/src/components/molecules/AccountStatus/Popover.module.scss b/src/components/molecules/AccountStatus/Popover.module.scss index a7794cf..2818c7b 100644 --- a/src/components/molecules/AccountStatus/Popover.module.scss +++ b/src/components/molecules/AccountStatus/Popover.module.scss @@ -3,9 +3,6 @@ $popoverWidth: 18rem; .popover { - // position: absolute; - // top: 1.5rem; - // right: -($spacer / 3); width: $popoverWidth; padding: $spacer / 2; background: $brand-black; @@ -14,21 +11,6 @@ $popoverWidth: 18rem; box-shadow: 0 6px 16px 0 rgba($brand-black, .3); color: $brand-grey-light; font-size: $font-size-small; - - // &:after { - // bottom: 100%; - // right: 2%; - // border: solid transparent; - // content: ''; - // height: 0; - // width: 0; - // position: absolute; - // pointer-events: none; - // border-color: transparent; - // border-bottom-color: $brand-grey-light; - // border-width: 10px; - // margin-left: -10px; - // } } .popoverInfoline { @@ -75,7 +57,6 @@ $popoverWidth: 18rem; .balance { font-size: $font-size-small; - color: $brand-grey-light; margin-left: $spacer / 2; white-space: nowrap; diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 16fb41b..51918b5 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -3,17 +3,11 @@ import { User } from '../../../context/User' import Faucet from './Faucet' import styles from './Popover.module.scss' -const Popover = ({ - showPopover, - hidePopover -}: { - showPopover: any - hidePopover: any -}) => ( +const Popover = ({ togglePopover }: { togglePopover: any }) => (
diff --git a/src/components/molecules/AccountStatus/index.tsx b/src/components/molecules/AccountStatus/index.tsx index 245b611..e166018 100644 --- a/src/components/molecules/AccountStatus/index.tsx +++ b/src/components/molecules/AccountStatus/index.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react' -import Popover from 'react-popover' +import Popover, { ArrowContainer } from 'react-tiny-popover' import AccountPopover from './Popover' import AccountIndicator from './Indicator' @@ -8,7 +8,7 @@ interface AccountStatusProps { } interface AccountStatusState { - popoverIsOpen: boolean + isPopoverOpen: boolean } export default class AccountStatus extends PureComponent< @@ -16,34 +16,39 @@ export default class AccountStatus extends PureComponent< AccountStatusState > { public state = { - popoverIsOpen: false + isPopoverOpen: false } - public togglePopover(toState?: boolean) { - const popoverIsOpen = - typeof toState === 'boolean' ? toState : !this.state.popoverIsOpen - this.setState({ popoverIsOpen }) + public togglePopover() { + this.setState(prevState => ({ + isPopoverOpen: !prevState.isPopoverOpen + })) } public render() { - const popoverProps = { - isOpen: this.state.popoverIsOpen, - enterExitTransitionDurationMs: 300, - tipSize: 0.01, - onOuterAction: () => this.togglePopover(false), - body: ( - this.togglePopover(true)} - hidePopover={() => this.togglePopover(false)} - /> - ) - } - return ( - + ( + + this.togglePopover()} + /> + + )} + > this.togglePopover(true)} - hidePopover={() => this.togglePopover(false)} + togglePopover={() => this.togglePopover()} className={this.props.className} /> From c9abfa08907299d7091c5879eff4abf83e520039 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 20:51:29 -0300 Subject: [PATCH 15/66] cleanup --- .../AccountStatus/Popover.module.scss | 18 +----------------- .../molecules/AccountStatus/Popover.tsx | 2 +- .../{ => molecules}/Web3message.module.scss | 2 +- src/components/{ => molecules}/Web3message.tsx | 6 +++--- src/routes/Publish/index.tsx | 2 +- 5 files changed, 7 insertions(+), 23 deletions(-) rename src/components/{ => molecules}/Web3message.module.scss (92%) rename src/components/{ => molecules}/Web3message.tsx (93%) diff --git a/src/components/molecules/AccountStatus/Popover.module.scss b/src/components/molecules/AccountStatus/Popover.module.scss index 2818c7b..944c3a2 100644 --- a/src/components/molecules/AccountStatus/Popover.module.scss +++ b/src/components/molecules/AccountStatus/Popover.module.scss @@ -16,9 +16,6 @@ $popoverWidth: 18rem; .popoverInfoline { border-bottom: .05rem solid $brand-grey; padding: $spacer / 3 0; - display: flex; - flex-wrap: wrap; - align-items: center; &:first-child { padding-top: 0; @@ -34,22 +31,9 @@ $popoverWidth: 18rem; } } -.accountName { - composes: popoverInfoline; - flex-wrap: nowrap; - - // blockies avatar - canvas { - display: inline-block; - border-radius: 50%; - overflow: hidden; - flex: 0 0 20px; - margin-right: $spacer / 4; - } -} - .address { width: 15rem; + display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 51918b5..47d51a4 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -9,7 +9,7 @@ const Popover = ({ togglePopover }: { togglePopover: any }) => ( onMouseOver={togglePopover} onMouseOut={togglePopover} > -
+
{states => states.account ? ( diff --git a/src/components/Web3message.module.scss b/src/components/molecules/Web3message.module.scss similarity index 92% rename from src/components/Web3message.module.scss rename to src/components/molecules/Web3message.module.scss index f24ef53..5ff7574 100644 --- a/src/components/Web3message.module.scss +++ b/src/components/molecules/Web3message.module.scss @@ -1,4 +1,4 @@ -@import '../styles/variables'; +@import '../../styles/variables'; .message { margin-bottom: $spacer; diff --git a/src/components/Web3message.tsx b/src/components/molecules/Web3message.tsx similarity index 93% rename from src/components/Web3message.tsx rename to src/components/molecules/Web3message.tsx index 05aa3ad..9b31253 100644 --- a/src/components/Web3message.tsx +++ b/src/components/molecules/Web3message.tsx @@ -1,8 +1,8 @@ import React, { PureComponent } from 'react' -import Button from '../components/atoms/Button' -import AccountStatus from './molecules/AccountStatus/' +import Button from '../atoms/Button' +import AccountStatus from './AccountStatus/' import styles from './Web3message.module.scss' -import { User } from '../context/User' +import { User } from '../../context/User' export default class Web3message extends PureComponent { public render() { diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 8e23393..299eb0e 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -8,7 +8,7 @@ import Label from '../../components/atoms/Form/Label' import Row from '../../components/atoms/Form/Row' import { User } from '../../context/User' import AssetModel from '../../models/AssetModel' -import Web3message from '../../components/Web3message' +import Web3message from '../../components/molecules/Web3message' import Files from './Files/' import form from '../../data/form-publish.json' From a340348e078995617418a5ce6643d55bfaf58931 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 26 Feb 2019 21:02:36 -0300 Subject: [PATCH 16/66] package updates --- package-lock.json | 3994 ++++++++++++++++++++++++--------------------- package.json | 36 +- 2 files changed, 2128 insertions(+), 1902 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36dfb3c..00bd4f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, "requires": { "@babel/highlight": "^7.0.0" } @@ -118,6 +119,20 @@ "@babel/types": "^7.0.0" } }, + "@babel/helper-create-class-features-plugin": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.4.tgz", + "integrity": "sha512-uFpzw6L2omjibjxa8VGZsJUPL5wJH0zzGKpoz0ccBkzIa6C8kWNUbiBmQ0rgOKWlHJ6qzmfa6lTiGchiV8SC+g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.3.4", + "@babel/helper-split-export-declaration": "^7.0.0" + } + }, "@babel/helper-define-map": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", @@ -238,15 +253,85 @@ } }, "@babel/helper-replace-supers": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", - "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz", + "integrity": "sha512-pvObL9WVf2ADs+ePg0jrqlhHoxRXlOa+SHRHzAXIz2xkYuOHfGl+fKxPMaS4Fq+uje8JQPobnertBBvyrWnQ1A==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/traverse": "^7.3.4", + "@babel/types": "^7.3.4" + }, + "dependencies": { + "@babel/generator": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", + "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/parser": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", + "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", + "dev": true + }, + "@babel/traverse": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", + "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.3.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.3.4", + "@babel/types": "^7.3.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + } + }, + "@babel/types": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", + "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "@babel/helper-simple-access": { @@ -295,6 +380,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -319,29 +405,24 @@ } }, "@babel/plugin-proposal-class-properties": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.1.0.tgz", - "integrity": "sha512-/PCJWN+CKt5v1xcGn4vnuu13QDoV+P7NcICP44BoonAJoPSGwVkgrXihFIQGiEjjPlUDBIw1cM7wYFLARS2/hw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz", + "integrity": "sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0", - "@babel/plugin-syntax-class-properties": "^7.0.0" + "@babel/helper-create-class-features-plugin": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-proposal-decorators": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.1.6.tgz", - "integrity": "sha512-U42f8KhUbtlhUDyV/wK4Rq/wWh8vWyttYABckG/v0vVnMPvayOewZC/83CbVdmyP+UhEqI368FEQ7hHMfhBpQA==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.3.0.tgz", + "integrity": "sha512-3W/oCUmsO43FmZIqermmq6TKaRSYhmh/vybPfVFwQWdSb8xwki38uAIvknCRzuyHRuYfCYmJzL9or1v0AffPjg==", "dev": true, "requires": { + "@babel/helper-create-class-features-plugin": "^7.3.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/plugin-syntax-decorators": "^7.1.0" + "@babel/plugin-syntax-decorators": "^7.2.0" } }, "@babel/plugin-proposal-json-strings": { @@ -355,9 +436,9 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz", - "integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz", + "integrity": "sha512-j7VQmbbkA+qrzNqbKHrBsW3ddFnOeva6wzSe/zB7T+xaxGc+RCpwo44wCmRixAIGRoIpmVgvzFzNJqQcO3/9RA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -394,15 +475,6 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", - "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, "@babel/plugin-syntax-decorators": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", @@ -413,9 +485,9 @@ } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0.tgz", - "integrity": "sha512-Gt9xNyRrCHCiyX/ZxDGOcBnlJl0I3IWicpZRC4CdC0P5a/I07Ya2OAMEBU+J7GmRFVmIetqEYRko6QYRuKOESw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" @@ -467,9 +539,9 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", - "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz", + "integrity": "sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" @@ -485,9 +557,9 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", - "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz", + "integrity": "sha512-Y7nCzv2fw/jEZ9f678MuKdMo99MFDJMT/PvD9LisrR5JDFcJH6vYeH6RnjVt3p5tceyGRvTtEN0VOlU+rgHZjA==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -505,19 +577,19 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", - "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz", + "integrity": "sha512-blRr2O8IOZLAOJklXLV4WhcEzpYafYQKSGT3+R26lWG41u/FODJuBggehtOwilVAcFu393v3OFj+HmaE6tVjhA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "lodash": "^4.17.11" } }, "@babel/plugin-transform-classes": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", - "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz", + "integrity": "sha512-J9fAvCFBkXEvBimgYxCjvaVDzL6thk0j0dBvCeZmIUDBwyt+nv6HfbImsSrWsYXfDNDivyANgJlFXDUWRTZBuA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", @@ -525,7 +597,7 @@ "@babel/helper-function-name": "^7.1.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-replace-supers": "^7.3.4", "@babel/helper-split-export-declaration": "^7.0.0", "globals": "^11.1.0" } @@ -579,13 +651,13 @@ } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.1.6.tgz", - "integrity": "sha512-0tyFAAjJmnRlr8MVJV39ASn1hv+PbdVP71hf7aAseqLfQ0o9QXk9htbMbq7/ZYXnUIp6gDw0lUUP0+PQMbbtmg==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", + "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0" + "@babel/plugin-syntax-flow": "^7.2.0" } }, "@babel/plugin-transform-for-of": { @@ -638,9 +710,9 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", - "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.3.4.tgz", + "integrity": "sha512-VZ4+jlGOF36S7TjKs8g4ojp4MEI+ebCQZdswWb/T9I4X84j8OtFAyjXjt/M16iIm5RIZn0UMQgg/VgIwo/87vw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.0.0", @@ -686,9 +758,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", - "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz", + "integrity": "sha512-IrIP25VvXWu/VlBWTpsjGptpomtIkYrN/3aDp4UKm7xK6UxZY88kcJ1UwETbzHAlwN21MnNfwlar0u8y3KpiXw==", "dev": true, "requires": { "@babel/helper-call-delegate": "^7.1.0", @@ -747,18 +819,18 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", - "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz", + "integrity": "sha512-hvJg8EReQvXT6G9H2MvNPXkv9zK36Vxa1+csAVTpE1J3j0zlHplw76uudEbJxgvqZzAq9Yh45FLD4pk5mKRFQA==", "dev": true, "requires": { - "regenerator-transform": "^0.13.3" + "regenerator-transform": "^0.13.4" } }, "@babel/plugin-transform-runtime": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.1.0.tgz", - "integrity": "sha512-WFLMgzu5DLQEah0lKTJzYb14vd6UiES7PTnXcvrPZ1VrwFeJ+mTbvr65fFAsXYMt2bIoOoC0jk76zY1S7HZjUg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", + "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -844,16 +916,16 @@ } }, "@babel/preset-env": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz", - "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", + "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-async-generator-functions": "^7.2.0", "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", "@babel/plugin-syntax-async-generators": "^7.2.0", @@ -861,10 +933,10 @@ "@babel/plugin-syntax-object-rest-spread": "^7.2.0", "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.2.0", - "@babel/plugin-transform-classes": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", "@babel/plugin-transform-computed-properties": "^7.2.0", "@babel/plugin-transform-destructuring": "^7.2.0", "@babel/plugin-transform-dotall-regex": "^7.2.0", @@ -875,13 +947,13 @@ "@babel/plugin-transform-literals": "^7.2.0", "@babel/plugin-transform-modules-amd": "^7.2.0", "@babel/plugin-transform-modules-commonjs": "^7.2.0", - "@babel/plugin-transform-modules-systemjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", "@babel/plugin-transform-modules-umd": "^7.2.0", "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", "@babel/plugin-transform-new-target": "^7.0.0", "@babel/plugin-transform-object-super": "^7.2.0", "@babel/plugin-transform-parameters": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.3.4", "@babel/plugin-transform-shorthand-properties": "^7.2.0", "@babel/plugin-transform-spread": "^7.2.0", "@babel/plugin-transform-sticky-regex": "^7.2.0", @@ -895,14 +967,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } } } @@ -936,6 +1023,13 @@ "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", "requires": { "regenerator-runtime": "^0.12.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + } } }, "@babel/template": { @@ -1035,9 +1129,9 @@ } }, "@oceanprotocol/squid": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@oceanprotocol/squid/-/squid-0.3.0.tgz", - "integrity": "sha512-j0qC2VcUHNoqjdD01VYoifJlRQBAuMmDAufsZ4fQo59wN5aI+/ftwYLVlaoeIg1YWhhNx07X92Dv1PjWtWg4UA==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@oceanprotocol/squid/-/squid-0.3.1.tgz", + "integrity": "sha512-GAcDHjHK2/4uK/RuII8R3xhTmCEK3CYhzncXUA4o1+qhCtdp46AM27+74fHljjKgrtFjC4guUyvwQ4b8kB21nA==", "requires": { "@oceanprotocol/keeper-contracts": "^0.6.12", "@oceanprotocol/secret-store-client": "~0.0.14", @@ -1046,6 +1140,7 @@ "deprecated-decorator": "^0.1.6", "ethereumjs-util": "^6.0.0", "node-fetch": "^2.3.0", + "save-file": "^2.3.1", "uuid": "^3.3.2", "web3": "1.0.0-beta.37", "web3-eth-contract": "1.0.0-beta.37", @@ -1069,19 +1164,79 @@ } } }, - "@svgr/core": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-2.4.1.tgz", - "integrity": "sha512-2i1cUbjpKt1KcIP05e10vkmu9Aedp32EFqVcSQ08onbB8lVxJqMPci3Hr54aI14S9cLg4JdcpO0D35HHUtT8oQ==", + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.0.0.tgz", + "integrity": "sha512-PDvHV2WhSGCSExp+eIMEKxYd1Q0SBvXLb4gAOXbdh0dswHFFgXWzxGjCmx5aln4qGrhkuN81khzYzR/44DYaMA==", + "dev": true + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.0.3.tgz", + "integrity": "sha512-fpG7AzzJxz1tc8ITYS1jCAt1cq4ydK2R+sx//BMTJgvOjfk91M5GiqFolP8aYTzLcum92IGNAVFS3zEcucOQEA==", + "dev": true + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.0.0.tgz", + "integrity": "sha512-nBGVl6LzXTdk1c6w3rMWcjq3mYGz+syWc5b3CdqAiEeY/nswYDoW/cnGUKKC8ofD6/LaG+G/IUnfv3jKoHz43A==", + "dev": true + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.0.0.tgz", + "integrity": "sha512-ejQqpTfORy6TT5w1x/2IQkscgfbtNFjitcFDu63GRz7qfhVTYhMdiJvJ1+Aw9hmv9bO4tXThGQDr1IF5lIvgew==", + "dev": true + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.0.0.tgz", + "integrity": "sha512-OE6GT9WRKWqd0Dk6NJ5TYXTF5OxAyn74+c/D+gTLbCXnK2A0luEXuwMbe5zR5Px4A/jow2OeEBboTENl4vtuQg==", + "dev": true + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.0.0.tgz", + "integrity": "sha512-QeDRGHXfjYEBTXxV0TsjWmepsL9Up5BOOlMFD557x2JrSiVGUn2myNxHIrHiVW0+nnWnaDcrkjg/jUvbJ5nKCg==", + "dev": true + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.0.0.tgz", + "integrity": "sha512-c6eE6ovs14k6dmHKoy26h7iRFhjWNnwYVrDWIPfouVm/gcLIeMw/ME4i91O5LEfaDHs6kTRCcVpbAVbNULZOtw==", + "dev": true + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.1.0.tgz", + "integrity": "sha512-uulxdx2p3nrM2BkrtADQHK8IhEzCxdUILfC/ddvFC8tlFWuKiA3ych8C6q0ulyQHq34/3hzz+3rmUbhWF9redg==", + "dev": true + }, + "@svgr/babel-preset": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.1.0.tgz", + "integrity": "sha512-Nat5aJ3VO3LE8KfMyIbd3sGWnaWPiFCeWIdEV+lalga0To/tpmzsnPDdnrR9fNYhvSSLJbwhU/lrLYt9wXY0ZQ==", "dev": true, "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^4.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^4.0.3", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "^4.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "^4.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.0.0", + "@svgr/babel-plugin-transform-svg-component": "^4.1.0" + } + }, + "@svgr/core": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.1.0.tgz", + "integrity": "sha512-ahv3lvOKuUAcs0KbQ4Jr5fT5pGHhye4ew8jZVS4lw8IQdWrbG/o3rkpgxCPREBk7PShmEoGQpteeXVwp2yExuQ==", + "dev": true, + "requires": { + "@svgr/plugin-jsx": "^4.1.0", "camelcase": "^5.0.0", - "cosmiconfig": "^5.0.6", - "h2x-core": "^1.1.0", - "h2x-plugin-jsx": "^1.1.0", - "merge-deep": "^3.0.2", - "prettier": "^1.14.2", - "svgo": "^1.0.5" + "cosmiconfig": "^5.0.7" }, "dependencies": { "camelcase": { @@ -1091,14 +1246,126 @@ "dev": true }, "cosmiconfig": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", - "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", + "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", "dev": true, "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.9.0", + "lodash.get": "^4.4.2", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.1.0.tgz", + "integrity": "sha512-tdkEZHmigYYiVhIEzycAMKN5aUSpddUnjr6v7bPwaNTFuSyqGUrpCg1JlIGi7PUaaJVHbn6whGQMGUpKOwT5nw==", + "dev": true, + "requires": { + "@babel/types": "^7.1.6" + } + }, + "@svgr/plugin-jsx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.1.0.tgz", + "integrity": "sha512-xwu+9TGziuN7cu7p+vhCw2EJIfv8iDNMzn2dR0C7fBYc8q+SRtYTcg4Uyn8ZWh6DM+IZOlVrS02VEMT0FQzXSA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.6", + "@svgr/babel-preset": "^4.1.0", + "@svgr/hast-util-to-babel-ast": "^4.1.0", + "rehype-parse": "^6.0.0", + "unified": "^7.0.2", + "vfile": "^3.0.1" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", + "dev": true + }, + "unified": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", + "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "@types/vfile": "^3.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^3.0.0", + "x-is-string": "^0.1.0" + } + }, + "vfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", + "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", + "dev": true, + "requires": { + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + } + } + }, + "@svgr/plugin-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.0.3.tgz", + "integrity": "sha512-MgL1CrlxvNe+1tQjPUc2bIJtsdJOIE5arbHlPgW+XVWGjMZTUcyNNP8R7/IjM2Iyrc98UJY+WYiiWHrinnY9ZQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.7", + "merge-deep": "^3.0.2", + "svgo": "^1.1.1" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", + "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "lodash.get": "^4.4.2", "parse-json": "^4.0.0" } }, @@ -1131,16 +1398,18 @@ } }, "@svgr/webpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-2.4.1.tgz", - "integrity": "sha512-sMHYq0zbMtSHcc9kVfkYI2zrl88u4mKGyQLgKt7r+ul5nITcncm/EPBhzEUrJY5izdlaU6EvyH8zOhZnfaSmOA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.1.0.tgz", + "integrity": "sha512-d09ehQWqLMywP/PT/5JvXwPskPK9QCXUjiSkAHehreB381qExXf5JFCBWhfEyNonRbkIneCeYM99w+Ud48YIQQ==", "dev": true, "requires": { - "@babel/core": "^7.0.1", + "@babel/core": "^7.1.6", "@babel/plugin-transform-react-constant-elements": "^7.0.0", - "@babel/preset-env": "^7.0.0", + "@babel/preset-env": "^7.1.6", "@babel/preset-react": "^7.0.0", - "@svgr/core": "^2.4.1", + "@svgr/core": "^4.1.0", + "@svgr/plugin-jsx": "^4.1.0", + "@svgr/plugin-svgo": "^4.0.3", "loader-utils": "^1.1.0" } }, @@ -1167,18 +1436,28 @@ "@types/is-url": { "version": "1.2.28", "resolved": "https://registry.npmjs.org/@types/is-url/-/is-url-1.2.28.tgz", - "integrity": "sha1-kU2r1QVG2bAUKAbkLHK8fCt+B4c=" + "integrity": "sha1-kU2r1QVG2bAUKAbkLHK8fCt+B4c=", + "dev": true }, "@types/jest": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.0.tgz", - "integrity": "sha512-kOafJnUTnMd7/OfEO/x3I47EHswNjn+dbz9qk3mtonr1RvKT+1FGVxnxAx08I9K8Tl7j9hpoJRE7OCf+t10fng==", + "version": "24.0.9", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.9.tgz", + "integrity": "sha512-k3OOeevcBYLR5pdsOv5g3OP94h3mrJmLPHFEPWgbbVy2tGv0TZ/TlygiC848ogXhK8NL0I5up7YYtwpCp8xCJA==", + "dev": true, + "requires": { + "@types/jest-diff": "*" + } + }, + "@types/jest-diff": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz", + "integrity": "sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==", "dev": true }, "@types/node": { - "version": "10.12.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.21.tgz", - "integrity": "sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==" + "version": "11.9.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.9.5.tgz", + "integrity": "sha512-vVjM0SVzgaOUpflq4GYBvCpozes8OgIIS5gVXVka+OfK3hvnkC1i93U8WiY2OtNE4XUWyyy/86Kf6e0IHTQw1Q==" }, "@types/node-fetch": { "version": "2.1.6", @@ -1189,9 +1468,10 @@ } }, "@types/prop-types": { - "version": "15.5.8", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.8.tgz", - "integrity": "sha512-3AQoUxQcQtLHsK25wtTWIoIpgYjH3vSDroZOUr7PpCHw/jLY1RB9z9E8dBT/OSmwStVgkRNvdh+ZHNiomRieaw==" + "version": "15.5.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.9.tgz", + "integrity": "sha512-Nha5b+jmBI271jdTMwrHiNXM+DvThjHOfyZtMX9kj/c/LUj2xiLHsG/1L3tJ8DjAoQN48cHwUwtqBotjyXaSdQ==", + "dev": true }, "@types/q": { "version": "1.5.1", @@ -1206,18 +1486,19 @@ "dev": true }, "@types/react": { - "version": "16.8.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.2.tgz", - "integrity": "sha512-6mcKsqlqkN9xADrwiUz2gm9Wg4iGnlVGciwBRYFQSMWG6MQjhOZ/AVnxn+6v8nslFgfYTV8fNdE6XwKu6va5PA==", + "version": "16.8.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.5.tgz", + "integrity": "sha512-8LRySaaSJVLNZb2dbOGvGmzn88cbAfrgDpuWy+6lLgQ0OJFgHHvyuaCX4/7ikqJlpmCPf4uazJAZcfTQRdJqdQ==", + "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" } }, "@types/react-dom": { - "version": "16.8.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.8.0.tgz", - "integrity": "sha512-Jp4ufcEEjVJEB0OHq2MCZcE1u3KYUKO6WnSuiU/tZeYeiZxUoQavfa/TZeiIT+1XoN6l0lQVNM30VINZFDeolQ==", + "version": "16.8.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.8.2.tgz", + "integrity": "sha512-MX7n1wq3G/De15RGAAqnmidzhr2Y9O/ClxPxyqaNg96pGyeXUYPSvujgzEVpLo9oIP4Wn1UETl+rxTN02KEpBw==", "dev": true, "requires": { "@types/react": "*" @@ -1227,6 +1508,7 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-5.0.8.tgz", "integrity": "sha512-ZTr12eDAYI0yUiMx1K82EHqRYa8J1BOOLus+0gL+AkksUiIPwLE0wLiXa9FNqD8r9GXAi+yRPZImkRh1JNlTkQ==", + "dev": true, "requires": { "@types/react": "*" } @@ -1253,9 +1535,10 @@ } }, "@types/react-transition-group": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.15.tgz", - "integrity": "sha512-S0QnNzbHoWXDbKBl/xk5dxA4FT+BNlBcI3hku991cl8Cz3ytOkUMcCRtzdX11eb86E131bSsQqy5WrPCdJYblw==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.16.tgz", + "integrity": "sha512-FUJEx2BGJPU1qVQoWd9v7wpOwnCPTWhcE4iTaU5prry9SvwiI11lCXOci8Nz9cM/Fuf650l7Skg6nlVeCYjPFA==", + "dev": true, "requires": { "@types/react": "*" } @@ -1310,31 +1593,32 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.2.0.tgz", - "integrity": "sha512-em3q8Gg3euesNohOwaz+SqrQM2Jn1ZWELMM+vgKi4dEk5fC+eVoi05yfubgAi2qPE5ifG4F0SOXM1XTamB0Aig==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.4.2.tgz", + "integrity": "sha512-6WInypy/cK4rM1dirKbD5p7iFW28DbSRKT/+PGn+DYzBWEvHq5KnZAqQ5cX25JBc0qMkFxJNxNfBbFXJyyzVcw==", "dev": true, "requires": { - "@typescript-eslint/parser": "1.2.0", + "@typescript-eslint/parser": "1.4.2", + "@typescript-eslint/typescript-estree": "1.4.2", "requireindex": "^1.2.0", "tsutils": "^3.7.0" } }, "@typescript-eslint/parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.2.0.tgz", - "integrity": "sha512-IXXiXgs6ocKTmtbzJjGyUvRHZFLuk2mYXyk+ayEql1woh1+rYS/Uct8b4jGtfHG8ZRUBZ12zjzsrDKFYC2pbrQ==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.4.2.tgz", + "integrity": "sha512-OqLkY9295DXXaWToItUv3olO2//rmzh6Th6Sc7YjFFEpEuennsm5zhygLLvHZjPxPlzrQgE8UDaOPurDylaUuw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "1.2.0", + "@typescript-eslint/typescript-estree": "1.4.2", "eslint-scope": "^4.0.0", "eslint-visitor-keys": "^1.0.0" } }, "@typescript-eslint/typescript-estree": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.2.0.tgz", - "integrity": "sha512-YGh4egbiCfUObvi6fnQNzJAMmScMGCjG5cRHaapW7GpwujWYQymLlids88imnhcTbOx8Mlz1OXFIuxyPBXK6Ig==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.4.2.tgz", + "integrity": "sha512-wKgi/w6k1v3R4b6oDc20cRWro2gBzp0wn6CAeYC8ExJMfvXMfiaXzw2tT9ilxdONaVWMCk7B9fMdjos7bF/CWw==", "dev": true, "requires": { "lodash.unescape": "4.0.1", @@ -1342,179 +1626,174 @@ } }, "@webassemblyjs/ast": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.6.tgz", - "integrity": "sha512-8nkZS48EVsMUU0v6F1LCIOw4RYWLm2plMtbhFTjNgeXmsTNLuU3xTRtnljt9BFQB+iPbLRobkNrCWftWnNC7wQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", + "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/wast-parser": "1.7.6", - "mamacro": "^0.0.3" + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.6.tgz", - "integrity": "sha512-VBOZvaOyBSkPZdIt5VBMg3vPWxouuM13dPXGWI1cBh3oFLNcFJ8s9YA7S9l4mPI7+Q950QqOmqj06oa83hNWBA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", + "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.6.tgz", - "integrity": "sha512-SCzhcQWHXfrfMSKcj8zHg1/kL9kb3aa5TN4plc/EREOs5Xop0ci5bdVBApbk2yfVi8aL+Ly4Qpp3/TRAUInjrg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", + "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.6.tgz", - "integrity": "sha512-1/gW5NaGsEOZ02fjnFiU8/OEEXU1uVbv2um0pQ9YVL3IHSkyk6xOwokzyqqO1qDZQUAllb+V8irtClPWntbVqw==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", + "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.6.tgz", - "integrity": "sha512-+suMJOkSn9+vEvDvgyWyrJo5vJsWSDXZmJAjtoUq4zS4eqHyXImpktvHOZwXp1XQjO5H+YQwsBgqTQEc0J/5zg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", + "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.6" + "@webassemblyjs/wast-printer": "1.7.11" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.6.tgz", - "integrity": "sha512-HCS6KN3wgxUihGBW7WFzEC/o8Eyvk0d56uazusnxXthDPnkWiMv+kGi9xXswL2cvfYfeK5yiM17z2K5BVlwypw==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", + "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.6.tgz", - "integrity": "sha512-e8/6GbY7OjLM+6OsN7f2krC2qYVNaSr0B0oe4lWdmq5sL++8dYDD1TFbD1TdAdWMRTYNr/Qq7ovXWzia2EbSjw==", - "dev": true, - "requires": { - "mamacro": "^0.0.3" - } + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", + "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", + "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.6.tgz", - "integrity": "sha512-PzYFCb7RjjSdAOljyvLWVqd6adAOabJW+8yRT+NWhXuf1nNZWH+igFZCUK9k7Cx7CsBbzIfXjJc7u56zZgFj9Q==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", + "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.6.tgz", - "integrity": "sha512-3GS628ppDPSuwcYlQ7cDCGr4W2n9c4hLzvnRKeuz+lGsJSmc/ADVoYpm1ts2vlB1tGHkjtQMni+yu8mHoMlKlA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", + "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-buffer": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/wasm-gen": "1.7.6" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11" } }, "@webassemblyjs/ieee754": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.6.tgz", - "integrity": "sha512-V4cIp0ruyw+hawUHwQLn6o2mFEw4t50tk530oKsYXQhEzKR+xNGDxs/SFFuyTO7X3NzEu4usA3w5jzhl2RYyzQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", + "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.6.tgz", - "integrity": "sha512-ojdlG8WpM394lBow4ncTGJoIVZ4aAtNOWHhfAM7m7zprmkVcKK+2kK5YJ9Bmj6/ketTtOn7wGSHCtMt+LzqgYQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", + "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", "dev": true, "requires": { "@xtuc/long": "4.2.1" } }, "@webassemblyjs/utf8": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.6.tgz", - "integrity": "sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", + "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.6.tgz", - "integrity": "sha512-pTNjLO3o41v/Vz9VFLl+I3YLImpCSpodFW77pNoH4agn5I6GgSxXHXtvWDTvYJFty0jSeXZWLEmbaSIRUDlekg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", + "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-buffer": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/helper-wasm-section": "1.7.6", - "@webassemblyjs/wasm-gen": "1.7.6", - "@webassemblyjs/wasm-opt": "1.7.6", - "@webassemblyjs/wasm-parser": "1.7.6", - "@webassemblyjs/wast-printer": "1.7.6" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/helper-wasm-section": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-opt": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", + "@webassemblyjs/wast-printer": "1.7.11" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.6.tgz", - "integrity": "sha512-mQvFJVumtmRKEUXMohwn8nSrtjJJl6oXwF3FotC5t6e2hlKMh8sIaW03Sck2MDzw9xPogZD7tdP5kjPlbH9EcQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", + "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/ieee754": "1.7.6", - "@webassemblyjs/leb128": "1.7.6", - "@webassemblyjs/utf8": "1.7.6" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.6.tgz", - "integrity": "sha512-go44K90fSIsDwRgtHhX14VtbdDPdK2sZQtZqUcMRvTojdozj5tLI0VVJAzLCfz51NOkFXezPeVTAYFqrZ6rI8Q==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", + "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-buffer": "1.7.6", - "@webassemblyjs/wasm-gen": "1.7.6", - "@webassemblyjs/wasm-parser": "1.7.6" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.6.tgz", - "integrity": "sha512-t1T6TfwNY85pDA/HWPA8kB9xA4sp9ajlRg5W7EKikqrynTyFo+/qDzIpvdkOkOGjlS6d4n4SX59SPuIayR22Yg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", + "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-api-error": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/ieee754": "1.7.6", - "@webassemblyjs/leb128": "1.7.6", - "@webassemblyjs/utf8": "1.7.6" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.6.tgz", - "integrity": "sha512-1MaWTErN0ziOsNUlLdvwS+NS1QWuI/kgJaAGAMHX8+fMJFgOJDmN/xsG4h/A1Gtf/tz5VyXQciaqHZqp2q0vfg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", + "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/floating-point-hex-parser": "1.7.6", - "@webassemblyjs/helper-api-error": "1.7.6", - "@webassemblyjs/helper-code-frame": "1.7.6", - "@webassemblyjs/helper-fsm": "1.7.6", - "@xtuc/long": "4.2.1", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/floating-point-hex-parser": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-code-frame": "1.7.11", + "@webassemblyjs/helper-fsm": "1.7.11", + "@xtuc/long": "4.2.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.6.tgz", - "integrity": "sha512-vHdHSK1tOetvDcl1IV1OdDeGNe/NDDQ+KzuZHMtqTVP1xO/tZ/IKNpj5BaGk1OYFdsDWQqb31PIwdEyPntOWRQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", + "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/wast-parser": "1.7.6", + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11", "@xtuc/long": "4.2.1" } }, @@ -1552,9 +1831,10 @@ } }, "acorn": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.7.tgz", - "integrity": "sha512-HNJNgE60C9eOTgn974Tlp3dpLZdUr+SoxxDwPaY9J/kDNOLQTkaDgwBUXAF4SSsrAwD9RpdxuHK/EbuF+W9Ahw==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", + "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", + "dev": true }, "acorn-dynamic-import": { "version": "3.0.0", @@ -1586,7 +1866,8 @@ "acorn-jsx": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==" + "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", + "dev": true }, "acorn-walk": { "version": "6.1.1", @@ -1625,7 +1906,8 @@ "ajv-keywords": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.3.0.tgz", - "integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==" + "integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==", + "dev": true }, "alphanum-sort": { "version": "1.0.2", @@ -1657,7 +1939,8 @@ "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true }, "ansi-html": { "version": "0.0.7", @@ -1668,12 +1951,14 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -1998,6 +2283,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -2187,12 +2473,12 @@ "dev": true }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.11" } }, "async-each": { @@ -2223,6 +2509,11 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" + }, "autoprefixer": { "version": "7.2.6", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", @@ -2407,12 +2698,12 @@ } }, "babel-loader": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", - "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", + "integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==", "dev": true, "requires": { - "find-cache-dir": "^1.0.0", + "find-cache-dir": "^2.0.0", "loader-utils": "^1.0.2", "mkdirp": "^0.5.1", "util.promisify": "^1.0.0" @@ -2455,9 +2746,9 @@ "dev": true }, "babel-plugin-macros": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.4.2.tgz", - "integrity": "sha512-NBVpEWN4OQ/bHnu1fyDaAaTPAjnhXCEPqr1RwqxrU7b6tZ2hypp+zX4hlNfmVGfClD5c3Sl6Hfj5TJNF5VG5aA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz", + "integrity": "sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw==", "dev": true, "requires": { "cosmiconfig": "^5.0.5", @@ -2465,14 +2756,15 @@ }, "dependencies": { "cosmiconfig": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", - "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", + "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", "dev": true, "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.9.0", + "lodash.get": "^4.4.2", "parse-json": "^4.0.0" } }, @@ -2505,9 +2797,9 @@ } }, "babel-plugin-named-asset-import": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.0.tgz", - "integrity": "sha512-to6Shd/r8fMRRg/MaOhDNfqpuXfjlQx3ypWDG6jh4ESCVZDJCgdgIalZbrnVlBPGgH/QeyHMjnGb2W+JJiy+NQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.1.tgz", + "integrity": "sha512-vzZlo+yEB5YHqI6CRRTDojeT43J3Wf3C/MVkZW5UlbSeIIVUYRKtxaFT2L/VTv9mbIyatCW39+9g/SZolvwRUQ==", "dev": true }, "babel-plugin-syntax-object-rest-spread": { @@ -2527,9 +2819,9 @@ } }, "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.20.tgz", - "integrity": "sha512-bWQ8e7LsgdFpyHU/RabjDAjVhL7KLAJXEt0nb0LANFje8YAGA8RlZv88a72aCswOxELWULkYuJqfFoKgs58Tng==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", "dev": true }, "babel-preset-jest": { @@ -2543,46 +2835,68 @@ } }, "babel-preset-react-app": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-7.0.0.tgz", - "integrity": "sha512-LQKCB3xxdhAlRbk6IIZdO4ry1yA8gKGVV4phjOIgCEQr3oyaLPXf2j+lfD0zljOE2wkN2axRGOLTzdUPzVDO4w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-7.0.1.tgz", + "integrity": "sha512-cic2V+GftWwt82XNMKGxvkFAVvuaBISy0/mzNLLPlALXXJxUvxJgVy2DI8HVk311oewJsmBiu/unE4wINUCvkg==", "dev": true, "requires": { - "@babel/core": "7.1.6", - "@babel/plugin-proposal-class-properties": "7.1.0", - "@babel/plugin-proposal-decorators": "7.1.6", - "@babel/plugin-proposal-object-rest-spread": "7.0.0", - "@babel/plugin-syntax-dynamic-import": "7.0.0", - "@babel/plugin-transform-classes": "7.1.0", - "@babel/plugin-transform-destructuring": "7.1.3", - "@babel/plugin-transform-flow-strip-types": "7.1.6", - "@babel/plugin-transform-react-constant-elements": "7.0.0", - "@babel/plugin-transform-react-display-name": "7.0.0", - "@babel/plugin-transform-runtime": "7.1.0", - "@babel/preset-env": "7.1.6", + "@babel/core": "7.2.2", + "@babel/plugin-proposal-class-properties": "7.3.0", + "@babel/plugin-proposal-decorators": "7.3.0", + "@babel/plugin-proposal-object-rest-spread": "7.3.2", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-destructuring": "7.3.2", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-react-constant-elements": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/preset-env": "7.3.1", "@babel/preset-react": "7.0.0", "@babel/preset-typescript": "7.1.0", - "@babel/runtime": "7.1.5", - "babel-loader": "8.0.4", + "@babel/runtime": "7.3.1", + "babel-loader": "8.0.5", "babel-plugin-dynamic-import-node": "2.2.0", - "babel-plugin-macros": "2.4.2", - "babel-plugin-transform-react-remove-prop-types": "0.4.20" + "babel-plugin-macros": "2.5.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" }, "dependencies": { + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", - "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz", + "integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0" + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" } }, "@babel/plugin-transform-classes": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", - "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", @@ -2595,102 +2909,103 @@ "globals": "^11.1.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", - "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.0.0.tgz", - "integrity": "sha512-z8yrW4KCVcqPYr0r9dHXe7fu3daLzn0r6TQEFoGbXahdrzEwT1d1ux+/EnFcqIHv9uPilUlnRnPIUf7GMO0ehg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0.tgz", - "integrity": "sha512-BX8xKuQTO0HzINxT6j/GiCwoJB0AOMs0HmLbEnAvcte8U8rSkNa/eSCAY+l1OA4JnCVq2jw2p6U8QQryy2fTPg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, "@babel/preset-env": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.6.tgz", - "integrity": "sha512-YIBfpJNQMBkb6MCkjz/A9J76SNCSuGVamOVBgoUkLzpJD/z8ghHi9I42LQ4pulVX68N/MmImz6ZTixt7Azgexw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz", + "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.1.0", - "@babel/plugin-proposal-json-strings": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.0.0", - "@babel/plugin-syntax-async-generators": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.1.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.1.5", - "@babel/plugin-transform-classes": "^7.1.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-dotall-regex": "^7.0.0", - "@babel/plugin-transform-duplicate-keys": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.1.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.1.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-amd": "^7.1.0", - "@babel/plugin-transform-modules-commonjs": "^7.1.0", - "@babel/plugin-transform-modules-systemjs": "^7.0.0", - "@babel/plugin-transform-modules-umd": "^7.1.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.2.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.2.0", + "@babel/plugin-transform-classes": "^7.2.0", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.2.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", "@babel/plugin-transform-new-target": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.1.0", - "@babel/plugin-transform-parameters": "^7.1.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typeof-symbol": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "browserslist": "^4.1.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.3.0" } }, - "@babel/runtime": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.5.tgz", - "integrity": "sha512-xKnPpXG/pvK1B90JkwwxSGii90rQGKtzcMt2gI5G6+M0REXaq6rOHsGC2ay6/d0Uje7zzvSzjEzfR3ENhFlrfA==", + "browserslist": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "regenerator-runtime": "^0.12.0" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" } }, - "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -2758,14 +3073,6 @@ "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - } } }, "babel-template": { @@ -2948,9 +3255,9 @@ "dev": true }, "bignumber.js": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.0.2.tgz", - "integrity": "sha512-EiuvFrnbv0jFixEQ9f58jo7X0qI2lNGIr/MxntmVzQc5JUweDSh8y8hbTCAomFtqwUPIOWcLXP0VEOSZTG7FFw==" + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" }, "binary-extensions": { "version": "1.13.0", @@ -3373,6 +3680,12 @@ "caller-callsite": "^2.0.0" } }, + "callsites": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", + "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", + "dev": true + }, "camel-case": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", @@ -3412,14 +3725,31 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } } } @@ -3446,9 +3776,9 @@ "dev": true }, "case-sensitive-paths-webpack-plugin": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz", - "integrity": "sha512-oEZgAFfEvKtjSRCu6VgYkuGxwrWXMnQzyBmlLPP7r6PWQVtHxP5Z5N6XsuJvtoVax78am/r7lr46bwo3IVEBOg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==", "dev": true }, "caseless": { @@ -3466,6 +3796,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3499,7 +3830,8 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true }, "check-types": { "version": "7.4.0", @@ -3508,9 +3840,9 @@ "dev": true }, "chokidar": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.0.tgz", - "integrity": "sha512-5t6G2SH8eO6lCvYOoUpaRnF5Qfd//gd7qJAkwRUw9qlGVkiQ13uwQngqbWWaurOsaAm9+kUGbITADxt6H0XFNQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz", + "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==", "dev": true, "requires": { "anymatch": "^2.0.0", @@ -4211,7 +4543,8 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true }, "class-utils": { "version": "0.3.6", @@ -4274,25 +4607,16 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dev": true, "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "restore-cursor": "^2.0.0" } }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true }, "cliui": { "version": "3.2.0", @@ -4418,6 +4742,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -4425,7 +4750,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "color-string": { "version": "1.5.3", @@ -4437,12 +4763,6 @@ "simple-swizzle": "^0.2.2" } }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, "combined-stream": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", @@ -4451,6 +4771,15 @@ "delayed-stream": "~1.0.0" } }, + "comma-separated-tokens": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz", + "integrity": "sha512-Cg90/fcK93n0ecgYTAz1jaA3zvnQ0ExlmKY1rdbyHqAx6BHxwoJc+J7HDu0iuQ7ixEs1qaa+WyQ6oeuBpYP1iA==", + "dev": true, + "requires": { + "trim": "0.0.1" + } + }, "commander": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", @@ -4478,12 +4807,20 @@ "dev": true }, "compressible": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", - "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz", + "integrity": "sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==", "dev": true, "requires": { - "mime-db": ">= 1.36.0 < 2" + "mime-db": ">= 1.38.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", + "dev": true + } } }, "compression": { @@ -4626,9 +4963,9 @@ "dev": true }, "core-js": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", - "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", "dev": true }, "core-util-is": { @@ -4715,6 +5052,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -4747,6 +5085,43 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -4791,6 +5166,61 @@ } } }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "css-loader": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", @@ -4811,6 +5241,43 @@ "source-list-map": "^2.0.0" } }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "css-select": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", @@ -4905,9 +5372,9 @@ "dev": true }, "css-what": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", - "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", "dev": true }, "cssdb": { @@ -4923,26 +5390,27 @@ "dev": true }, "cssnano": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.8.tgz", - "integrity": "sha512-5GIY0VzAHORpbKiL3rMXp4w4M1Ki+XlXgEXyuWXVd3h6hlASb+9Vo76dNP56/elLMVBBsUfusCo1q56uW0UWig==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.6", + "cssnano-preset-default": "^4.0.7", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" }, "dependencies": { "cosmiconfig": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", - "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", + "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", "dev": true, "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.9.0", + "lodash.get": "^4.4.2", "parse-json": "^4.0.0" } }, @@ -5001,40 +5469,40 @@ } }, "cssnano-preset-default": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz", - "integrity": "sha512-UPboYbFaJFtDUhJ4fqctThWbbyF4q01/7UhsZbLzp35l+nUxtzh1SifoVlEfyLM3n3Z0htd8B1YlCxy9i+bQvg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", "dev": true, "requires": { "css-declaration-sorter": "^4.0.1", "cssnano-util-raw-cache": "^4.0.1", "postcss": "^7.0.0", - "postcss-calc": "^7.0.0", - "postcss-colormin": "^4.0.2", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^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.10", - "postcss-merge-rules": "^4.0.2", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.1", - "postcss-minify-params": "^4.0.1", - "postcss-minify-selectors": "^4.0.1", + "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.1", - "postcss-normalize-positions": "^4.0.1", - "postcss-normalize-repeat-style": "^4.0.1", - "postcss-normalize-string": "^4.0.1", - "postcss-normalize-timing-functions": "^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.1", - "postcss-ordered-values": "^4.1.1", - "postcss-reduce-initial": "^4.0.2", - "postcss-reduce-transforms": "^4.0.1", - "postcss-svgo": "^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" }, "dependencies": { @@ -5155,9 +5623,9 @@ "dev": true }, "cssstyle": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", - "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", + "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", "dev": true, "requires": { "cssom": "0.3.x" @@ -5166,7 +5634,8 @@ "csstype": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.2.tgz", - "integrity": "sha512-Rl7PvTae0pflc1YtxtKbiSqq20Ts6vpIYOD5WBafl4y123DyHUeLrRdQP66sQW8/6gmX8jrYJLXwNeMqYVJcow==" + "integrity": "sha512-Rl7PvTae0pflc1YtxtKbiSqq20Ts6vpIYOD5WBafl4y123DyHUeLrRdQP66sQW8/6gmX8jrYJLXwNeMqYVJcow==", + "dev": true }, "currently-unhandled": { "version": "0.4.1", @@ -5346,7 +5815,8 @@ "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, "default-gateway": { "version": "2.7.2", @@ -5399,7 +5869,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -5616,6 +6085,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, "requires": { "esutils": "^2.0.2" } @@ -5731,6 +6201,11 @@ "create-hmac": "^1.1.4" } }, + "dtype": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", + "integrity": "sha1-zQUjI84GFETs0uj1dI9popvihDQ=" + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -5788,12 +6263,6 @@ "minimalistic-crypto-utils": "^1.0.0" } }, - "emoji-regex": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", - "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", - "dev": true - }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -5852,7 +6321,6 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "dev": true, "requires": { "es-to-primitive": "^1.2.0", "function-bind": "^1.1.1", @@ -5866,7 +6334,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -5881,12 +6348,13 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", + "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", "dev": true, "requires": { "esprima": "^3.1.3", @@ -5912,20 +6380,21 @@ } }, "eslint": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.6.0.tgz", - "integrity": "sha512-/eVYs9VVVboX286mBK7bbKnO1yamUy2UCRjiY6MryhQL2PaaXCExsCQ2aO83OeYRhU2eCU/FMFP+tVMoOrzNrA==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.12.0.tgz", + "integrity": "sha512-LntwyPxtOHrsJdcSwyQKVtHofPHdv+4+mFwEe91r2V13vqpM8yLr7b1sW+Oo/yheOPkWYsYlYJCkzlFAt8KV7g==", + "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.5.3", "chalk": "^2.1.0", "cross-spawn": "^6.0.5", - "debug": "^3.1.0", + "debug": "^4.0.1", "doctrine": "^2.1.0", "eslint-scope": "^4.0.0", "eslint-utils": "^1.3.1", "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", + "espree": "^5.0.0", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^2.0.0", @@ -5933,9 +6402,9 @@ "glob": "^7.1.2", "globals": "^11.7.0", "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^6.1.0", - "is-resolvable": "^1.1.0", "js-yaml": "^3.12.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", @@ -5947,19 +6416,19 @@ "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", - "regexpp": "^2.0.0", - "require-uncached": "^1.0.3", + "regexpp": "^2.0.1", "semver": "^5.5.1", "strip-ansi": "^4.0.0", "strip-json-comments": "^2.0.1", - "table": "^4.0.3", + "table": "^5.0.2", "text-table": "^0.2.0" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -5967,33 +6436,14 @@ "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "table": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", - "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", - "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" - } + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true } } }, @@ -6015,18 +6465,18 @@ } }, "eslint-config-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-4.0.0.tgz", - "integrity": "sha512-kWuiJxzV5NwOwZcpyozTzDT5KJhBw292bbYro9Is7BWnbNMg15Gmpluc1CTetiCatF8DRkNvgPAOaSyg+bYr3g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-4.1.0.tgz", + "integrity": "sha512-zILwX9/Ocz4SV2vX7ox85AsrAgXV3f2o2gpIicdMIOra48WYqgUnWNH/cR/iHtmD2Vb3dLSC3LiEJnS05Gkw7w==", "dev": true, "requires": { "get-stdin": "^6.0.0" } }, "eslint-config-react-app": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-3.0.6.tgz", - "integrity": "sha512-VL5rA1EBZv7f9toc9x71or7nr4jRmwCH4V9JKB9DFVaTLOLI9+vjWLgQLjMu3xR9iUT80dty86RbCfNaKyrFFg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-3.0.7.tgz", + "integrity": "sha512-Mmmc9lIY/qvX6OEV09+ZLqVTz1aX8VVCrgCjBHXdmMGaC+pldD+87oj3BiJWXMSfcYs5iOo9gy0mGnQ8f/fMsQ==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.5" @@ -6149,6 +6599,14 @@ "emoji-regex": "^6.5.1", "has": "^1.0.3", "jsx-ast-utils": "^2.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", + "dev": true + } } }, "eslint-plugin-node": { @@ -6222,6 +6680,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -6230,19 +6689,22 @@ "eslint-utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==" + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==" + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true }, "espree": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", - "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, "requires": { - "acorn": "^6.0.2", + "acorn": "^6.0.7", "acorn-jsx": "^5.0.0", "eslint-visitor-keys": "^1.0.0" } @@ -6250,12 +6712,14 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esquery": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, "requires": { "estraverse": "^4.0.0" } @@ -6264,6 +6728,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -6271,12 +6736,14 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "etag": { "version": "1.8.1", @@ -6344,6 +6811,11 @@ "xmlhttprequest": "1.8.0" }, "dependencies": { + "@types/node": { + "version": "10.12.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.27.tgz", + "integrity": "sha512-e9wgeY6gaY21on3ve0xAjgBVjGDWq/xUteK0ujsE53bUoxycMkqfnkUgMt6ffZtykZ5X12Mg3T7Pw4TRCObDKg==" + }, "elliptic": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", @@ -6418,12 +6890,12 @@ "dev": true }, "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "dev": true, "requires": { - "original": ">=0.0.5" + "original": "^1.0.0" } }, "evp_bytestokey": { @@ -6510,15 +6982,6 @@ "fill-range": "^2.1.0" } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, "expect": { "version": "23.6.0", "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", @@ -6607,6 +7070,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -6617,6 +7081,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -6982,7 +7447,8 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "fastparse": { "version": "1.1.2", @@ -7026,6 +7492,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } @@ -7034,6 +7501,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, "requires": { "flat-cache": "^1.2.1", "object-assign": "^4.0.1" @@ -7049,6 +7517,11 @@ "schema-utils": "^1.0.0" } }, + "file-saver": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.1.tgz", + "integrity": "sha512-dCB3K7/BvAcUmtmh1DzFdv0eXSVJ9IAFt1mw3XZfAexodNRoE29l3xB2EX4wH2q8m/UTzwzEPq/ArYk98kUkBQ==" + }, "file-type": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", @@ -7116,14 +7589,68 @@ } }, "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", + "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } } }, "find-up": { @@ -7139,6 +7666,7 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, "requires": { "circular-json": "^0.3.1", "graceful-fs": "^4.1.2", @@ -7158,46 +7686,47 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, + "flatten-vertex-data": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", + "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", + "requires": { + "dtype": "^2.0.0" + } + }, "flush-write-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.0.tgz", - "integrity": "sha512-6MHED/cmsyux1G4/Cek2Z776y9t7WCNd3h2h/HW91vFeU7pzMhA8XvAlDhHcanG5IWuIh/xcC7JASY4WQpG6xg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.6" } }, "follow-redirects": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz", - "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", + "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", "dev": true, "requires": { - "debug": "=3.1.0" + "debug": "^3.2.6" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, @@ -8172,13 +8701,13 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "gauge": { "version": "2.7.4", @@ -8336,33 +8865,38 @@ } }, "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "global-prefix": "^3.0.0" } }, "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } } }, "globals": { "version": "11.10.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz", - "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==" + "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==", + "dev": true }, "globby": { "version": "6.1.0", @@ -8466,60 +9000,6 @@ } } }, - "h2x-core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/h2x-core/-/h2x-core-1.1.1.tgz", - "integrity": "sha512-LdXe4Irs731knLtHgLyFrnJCumfiqXXQwKN1IMUhi37li29PLfLbMDvfK7Rk4wmgHLKP+sIITT1mcJV4QsC3nw==", - "dev": true, - "requires": { - "h2x-generate": "^1.1.0", - "h2x-parse": "^1.1.1", - "h2x-traverse": "^1.1.0" - } - }, - "h2x-generate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/h2x-generate/-/h2x-generate-1.1.0.tgz", - "integrity": "sha512-L7Hym0yb20QIjvqeULUPOeh/cyvScdOAyJ6oRlh5dF0+w92hf3OiTk1q15KBijde7jGEe+0R4aOmtW8gkPNIzg==", - "dev": true, - "requires": { - "h2x-traverse": "^1.1.0" - } - }, - "h2x-parse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/h2x-parse/-/h2x-parse-1.1.1.tgz", - "integrity": "sha512-WRSmPF+tIWuUXVEZaYRhcZx/JGEJx8LjZpDDtrvMr5m/GTR0NerydCik5dRzcKXPWCtfXxuJRLR4v2P4HB2B1A==", - "dev": true, - "requires": { - "h2x-types": "^1.1.0", - "jsdom": ">=11.0.0" - } - }, - "h2x-plugin-jsx": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/h2x-plugin-jsx/-/h2x-plugin-jsx-1.2.0.tgz", - "integrity": "sha512-a7Vb3BHhJJq0dPDNdqguEyQirENkVsFtvM2YkiaT5h/fmGhmM1nDy3BLeJeSKi2tL2g9v4ykm2Z+GG9QrhDgPA==", - "dev": true, - "requires": { - "h2x-types": "^1.1.0" - } - }, - "h2x-traverse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/h2x-traverse/-/h2x-traverse-1.1.0.tgz", - "integrity": "sha512-1ND8ZbISLSUgpLHYJRvhvElITvs0g44L7RxjeXViz5XP6rooa+FtXTFLByl2Yg01zj2txubifHIuU4pgvj8l+A==", - "dev": true, - "requires": { - "h2x-types": "^1.1.0" - } - }, - "h2x-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/h2x-types/-/h2x-types-1.1.0.tgz", - "integrity": "sha512-QdH5qfLcdF209UsCdM0ZNZ9Dwm2PHvMfeLZtivBrjX3Y/df4US2pwsUC4HBfWhye/mx/t6puODeC7Oacb/Ol8g==", - "dev": true - }, "handle-thing": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", @@ -8570,7 +9050,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -8595,7 +9074,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbol-support-x": { "version": "1.4.2", @@ -8605,8 +9085,7 @@ "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, "has-to-string-tag-x": { "version": "1.4.1", @@ -8700,6 +9179,37 @@ "minimalistic-assert": "^1.0.1" } }, + "hast-util-from-parse5": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.0.tgz", + "integrity": "sha512-A7ev5OseS/J15214cvDdcI62uwovJO2PB60Xhnq7kaxvvQRFDEccuqbkrFXU03GPBGopdPqlpQBRqIcDS/Fjbg==", + "dev": true, + "requires": { + "ccount": "^1.0.3", + "hastscript": "^5.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.1.2", + "xtend": "^4.0.1" + } + }, + "hast-util-parse-selector": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz", + "integrity": "sha512-Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw==", + "dev": true + }, + "hastscript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.0.0.tgz", + "integrity": "sha512-xJtuJ8D42Xtq5yJrnDg/KAIxl2cXBXKoiIJwmWX9XMf8113qHTGl/Bf7jEsxmENJ4w6q4Tfl8s/Y6mEZo8x8qw==", + "dev": true, + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.2.0", + "property-information": "^5.0.1", + "space-separated-tokens": "^1.0.0" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -8765,15 +9275,6 @@ "os-tmpdir": "^1.0.1" } }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, "hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -9329,12 +9830,13 @@ "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true }, "immer": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/immer/-/immer-1.7.2.tgz", - "integrity": "sha512-4Urocwu9+XLDJw4Tc6ZCg7APVjjLInCFvO4TwGsAYV5zT6YYSor14dsZR0+0tHlDIN92cFUOq+i7fC00G5vTxA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==", "dev": true }, "import-cwd": { @@ -9346,6 +9848,16 @@ "import-from": "^2.1.0" } }, + "import-fresh": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", + "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, "import-from": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", @@ -9382,7 +9894,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "in-publish": { "version": "2.0.0", @@ -9435,6 +9948,7 @@ "version": "6.2.2", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", + "dev": true, "requires": { "ansi-escapes": "^3.2.0", "chalk": "^2.4.2", @@ -9454,12 +9968,14 @@ "ansi-regex": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==" + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true }, "strip-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "dev": true, "requires": { "ansi-regex": "^4.0.0" } @@ -9550,6 +10066,11 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-base64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-base64/-/is-base64-0.1.0.tgz", + "integrity": "sha512-WRRyllsGXJM7ZN7gPTCCQ/6wNPTRDwiWdPK66l5sJzcU/oOzcIcRRf0Rux8bkpox/1yjt0F6VJRsQOIG2qz5sg==" + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -9559,6 +10080,11 @@ "binary-extensions": "^1.0.0" } }, + "is-blob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-1.0.0.tgz", + "integrity": "sha1-o9fZb+HD/wZex84nwsIea6ksGDI=" + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -9605,8 +10131,7 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-decimal": { "version": "1.0.2", @@ -9678,7 +10203,8 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "is-function": { "version": "1.0.1", @@ -9813,7 +10339,8 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true }, "is-redirect": { "version": "1.0.0", @@ -9825,7 +10352,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "^1.0.1" } @@ -9839,7 +10365,8 @@ "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true }, "is-retry-allowed": { "version": "1.1.0", @@ -9876,7 +10403,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, "requires": { "has-symbols": "^1.0.0" } @@ -9938,7 +10464,8 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "2.1.0", @@ -10167,15 +10694,6 @@ "yargs": "^11.0.0" } }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -10336,74 +10854,6 @@ "jest-mock": "^23.2.0", "jest-util": "^23.4.0", "jsdom": "^11.5.1" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } } }, "jest-environment-node": { @@ -10498,9 +10948,9 @@ "dev": true }, "jest-pnp-resolver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.0.1.tgz", - "integrity": "sha512-kzhvJQp+9k0a/hpvIIzOJgOwfOqmnohdrAMZW2EscH3kxR2VWD7EcPa10cio8EK9V7PcD75bhG1pFnO70zGwSQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.0.2.tgz", + "integrity": "sha512-H2DvUlwdMedNGv4FOliPDnxani6ATWy70xe2eckGJgkLoMaWzRPqpSlc5ShqX0Ltk5OhRQvPQY2LLZPOpgcc7g==", "dev": true }, "jest-regex-util": { @@ -10648,15 +11098,6 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -10777,6 +11218,43 @@ "pretty-format": "^23.6.0" } }, + "jest-watch-typeahead": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.2.1.tgz", + "integrity": "sha512-xdhEtKSj0gmnkDQbPTIHvcMmXNUDzYpHLEJ5TFqlaI+schi2NI96xhWiZk9QoesAS7oBmKwWWsHazTrYl2ORgg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.4.1", + "jest-watcher": "^23.1.0", + "slash": "^2.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "strip-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "dev": true, + "requires": { + "ansi-regex": "^4.0.0" + } + } + } + }, "jest-watcher": { "version": "23.4.0", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", @@ -10834,6 +11312,7 @@ "version": "3.12.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -10845,53 +11324,66 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdom": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-13.2.0.tgz", - "integrity": "sha512-cG1NtMWO9hWpqRNRR3dSvEQa8bFI6iLlqU2x4kwX51FQjp0qus8T9aBaAO6iGp3DeBrhdwuKxckknohkmfvsFw==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { "abab": "^2.0.0", - "acorn": "^6.0.4", - "acorn-globals": "^4.3.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.1.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", "domexception": "^1.0.1", - "escodegen": "^1.11.0", + "escodegen": "^1.9.1", "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.0.9", - "parse5": "5.1.0", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", "pn": "^1.1.0", - "request": "^2.88.0", + "request": "^2.87.0", "request-promise-native": "^1.0.5", - "saxes": "^3.1.5", + "sax": "^1.2.4", "symbol-tree": "^3.2.2", - "tough-cookie": "^2.5.0", + "tough-cookie": "^2.3.4", "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.0.1", "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", "xml-name-validator": "^3.0.0" }, "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "ws": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.3.tgz", - "integrity": "sha512-tbSxiT+qJI223AP4iLfQbkbxkwdFcneYinM2+x46Gx2wgvbaOMO36czfdfVUBRTHvzAMRhDd98sA5d/BuWbQdg==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -10933,7 +11425,8 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -11094,6 +11587,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -11235,6 +11729,12 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -11381,12 +11881,6 @@ "tmpl": "1.0.x" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -11472,14 +11966,12 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" + "mimic-fn": "^1.0.0" } }, "memory-fs": { @@ -11684,7 +12176,8 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true }, "mimic-response": { "version": "1.0.1", @@ -11700,9 +12193,9 @@ } }, "mini-css-extract-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.3.tgz", - "integrity": "sha512-Mxs0nxzF1kxPv4TRi2NimewgXlJqh0rGE30vviCU2WHrpbta6wklnUV9dr9FUtoAHmB3p3LeXEC+ZjgHvB0Dzg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz", + "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -11886,7 +12379,8 @@ "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true }, "mz": { "version": "2.7.0", @@ -11950,7 +12444,8 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, "negotiator": { "version": "0.6.1", @@ -11966,7 +12461,8 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "no-case": { "version": "2.3.2", @@ -12292,9 +12788,9 @@ } }, "nwsapi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.0.tgz", - "integrity": "sha512-ZG3bLAvdHmhIjaQ/Db1qvBxsGvFMLIRpQszyqbg31VJ53UP++uZX1/gf3Ut96pdwN9AuDwlMqIYLm0UPCdUeHg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz", + "integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==", "dev": true }, "oauth-sign": { @@ -12338,8 +12834,7 @@ "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", - "dev": true + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" }, "object-visit": { "version": "1.0.1", @@ -12454,9 +12949,9 @@ } }, "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true }, "once": { @@ -12471,6 +12966,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, "requires": { "mimic-fn": "^1.0.0" } @@ -12516,6 +13012,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.4", @@ -12558,7 +13055,8 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.5", @@ -12689,10 +13187,19 @@ "no-case": "^2.2.0" } }, + "parent-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", + "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, "parse-asn1": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz", - "integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", @@ -12729,12 +13236,12 @@ } }, "parse-headers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", - "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", "requires": { - "for-each": "^0.3.2", - "trim": "0.0.1" + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" } }, "parse-json": { @@ -12746,12 +13253,6 @@ "error-ex": "^1.2.0" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, "parse5": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", @@ -12795,12 +13296,14 @@ "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { "version": "1.0.6", @@ -12883,7 +13386,8 @@ "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true }, "pn": { "version": "1.1.0", @@ -12892,10 +13396,13 @@ "dev": true }, "pnp-webpack-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.1.0.tgz", - "integrity": "sha512-CPCdcFxx7fEcDMWTDjXe2Wypt4JuMt4q5Q2UrpTcyBBkLiCIyPEh/mCGmUWIcNkKGyXwQ9Y2wVhlKm6ketiBNQ==", - "dev": true + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.2.1.tgz", + "integrity": "sha512-W6GctK7K2qQiVR+gYSv/Gyt6jwwIH4vwdviFqx+Y2jAtVf5eZyYIDf5Ac2NCDMBiX5yWscBLZElPTsyA1UtVVA==", + "dev": true, + "requires": { + "ts-pnp": "^1.0.0" + } }, "portfinder": { "version": "1.0.20", @@ -13246,9 +13753,9 @@ } }, "postcss-colormin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.2.tgz", - "integrity": "sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", "dev": true, "requires": { "browserslist": "^4.0.0", @@ -13259,14 +13766,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -13521,9 +14043,9 @@ } }, "postcss-discard-comments": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz", - "integrity": "sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", "dev": true, "requires": { "postcss": "^7.0.0" @@ -14407,9 +14929,9 @@ "dev": true }, "postcss-merge-longhand": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz", - "integrity": "sha512-hME10s6CSjm9nlVIcO1ukR7Jr5RisTaaC1y83jWCivpuBtPohA3pZE7cGTIVSYjXvLnXozHTiVOkG4dnnl756g==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", "dev": true, "requires": { "css-color-names": "0.0.4", @@ -14447,9 +14969,9 @@ } }, "postcss-merge-rules": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz", - "integrity": "sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", "dev": true, "requires": { "browserslist": "^4.0.0", @@ -14461,14 +14983,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -14538,9 +15075,9 @@ } }, "postcss-minify-gradients": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz", - "integrity": "sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", "dev": true, "requires": { "cssnano-util-get-arguments": "^4.0.0", @@ -14578,9 +15115,9 @@ } }, "postcss-minify-params": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz", - "integrity": "sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", "dev": true, "requires": { "alphanum-sort": "^1.0.0", @@ -14592,14 +15129,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -14631,9 +15183,9 @@ } }, "postcss-minify-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz", - "integrity": "sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", "dev": true, "requires": { "alphanum-sort": "^1.0.0", @@ -14784,9 +15336,9 @@ } }, "postcss-normalize-display-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz", - "integrity": "sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", "dev": true, "requires": { "cssnano-util-get-match": "^4.0.0", @@ -14823,9 +15375,9 @@ } }, "postcss-normalize-positions": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz", - "integrity": "sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", "dev": true, "requires": { "cssnano-util-get-arguments": "^4.0.0", @@ -14863,9 +15415,9 @@ } }, "postcss-normalize-repeat-style": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz", - "integrity": "sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", "dev": true, "requires": { "cssnano-util-get-arguments": "^4.0.0", @@ -14903,9 +15455,9 @@ } }, "postcss-normalize-string": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz", - "integrity": "sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", "dev": true, "requires": { "has": "^1.0.0", @@ -14942,9 +15494,9 @@ } }, "postcss-normalize-timing-functions": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz", - "integrity": "sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", "dev": true, "requires": { "cssnano-util-get-match": "^4.0.0", @@ -14992,14 +15544,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -15071,9 +15638,9 @@ } }, "postcss-normalize-whitespace": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz", - "integrity": "sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", "dev": true, "requires": { "postcss": "^7.0.0", @@ -15109,9 +15676,9 @@ } }, "postcss-ordered-values": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz", - "integrity": "sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", "dev": true, "requires": { "cssnano-util-get-arguments": "^4.0.0", @@ -15260,16 +15827,19 @@ } }, "postcss-preset-env": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.3.1.tgz", - "integrity": "sha512-erl+OcCTr1+jsfJNQjBweyb8Y1s6KngUBwoqJnRXO197PmEE6u9HxZfnpKkTQqasxZljxNHzXR5hMb7MdD0Zdw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.5.0.tgz", + "integrity": "sha512-RdsIrYJd9p9AouQoJ8dFP5ksBJEIegA4q4WzJDih8nevz3cZyIP/q1Eaw3pTVpUAu3n7Y32YmvAW3X07mSRGkw==", "dev": true, "requires": { - "autoprefixer": "^9.3.1", - "browserslist": "^4.3.4", - "caniuse-lite": "^1.0.30000905", - "cssdb": "^4.1.0", - "postcss": "^7.0.5", + "autoprefixer": "^9.4.2", + "browserslist": "^4.3.5", + "caniuse-lite": "^1.0.30000918", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.3.0", + "postcss": "^7.0.6", "postcss-attribute-case-insensitive": "^4.0.0", "postcss-color-functional-notation": "^2.0.1", "postcss-color-gray": "^5.0.0", @@ -15302,28 +15872,53 @@ }, "dependencies": { "autoprefixer": { - "version": "9.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.7.tgz", - "integrity": "sha512-qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA==", + "version": "9.4.9", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.9.tgz", + "integrity": "sha512-OyUl7KvbGBoFQbGQu51hMywz1aaVeud/6uX8r1R1DNcqFvqGUUy6+BDHnAZE8s5t5JyEObaSw+O1DpAdjAmLuw==", "dev": true, "requires": { - "browserslist": "^4.4.1", - "caniuse-lite": "^1.0.30000932", + "browserslist": "^4.4.2", + "caniuse-lite": "^1.0.30000939", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", "postcss": "^7.0.14", "postcss-value-parser": "^3.3.1" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + } } }, "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -15410,9 +16005,9 @@ } }, "postcss-reduce-initial": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz", - "integrity": "sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", "dev": true, "requires": { "browserslist": "^4.0.0", @@ -15422,14 +16017,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -15461,9 +16071,9 @@ } }, "postcss-reduce-transforms": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz", - "integrity": "sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", "dev": true, "requires": { "cssnano-util-get-match": "^4.0.0", @@ -15671,9 +16281,9 @@ } }, "postcss-svgo": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.1.tgz", - "integrity": "sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", "dev": true, "requires": { "is-svg": "^3.0.0", @@ -15775,7 +16385,8 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true }, "prepend-http": { "version": "1.0.4", @@ -16117,7 +16728,8 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true }, "promise": { "version": "8.0.2", @@ -16153,6 +16765,15 @@ "object-assign": "^4.1.1" } }, + "property-information": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.0.1.tgz", + "integrity": "sha512-nAtBDVeSwFM3Ot/YxT7s4NqZmqXI7lLzf46BThvotEtYf2uk2yH0ACYuWQkJ7gxKs49PPtKVY0UlDGkyN9aJlw==", + "dev": true, + "requires": { + "xtend": "^4.0.1" + } + }, "proxy-addr": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", @@ -16281,9 +16902,9 @@ "dev": true }, "raf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", "dev": true, "requires": { "performance-now": "^2.1.0" @@ -16315,9 +16936,9 @@ } }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } @@ -16373,95 +16994,94 @@ } }, "react": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.8.1.tgz", - "integrity": "sha512-wLw5CFGPdo7p/AgteFz7GblI2JPOos0+biSoxf1FPsGxWQZdN/pj6oToJs1crn61DL3Ln7mN86uZ4j74p31ELQ==", + "version": "16.8.3", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.3.tgz", + "integrity": "sha512-3UoSIsEq8yTJuSu0luO1QQWYbgGEILm+eJl2QN/VLDi7hL+EN18M3q3oVZwmVzzBJ3DkM7RMdRwBmZZ+b4IzSA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.1" + "scheduler": "^0.13.3" } }, "react-app-polyfill": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-0.2.0.tgz", - "integrity": "sha512-uBfocjRsBNqhTaEywUZ2buzhHbor2jBbnhZY8VUZ7VZ3PXucIPZrPDAAmbclELhvl+x08PbynAGQfMYcBmqZ2w==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-0.2.1.tgz", + "integrity": "sha512-rcpR+WKmLOoYGDAxXaLlxl5Sw6jqbcD1qg2Okn1Ta2RHCxLuQv75B9Em2L2GvuOTx3lAxDpNl/TYGWbKnO/Aag==", "dev": true, "requires": { - "core-js": "2.5.7", + "core-js": "2.6.4", "object-assign": "4.1.1", "promise": "8.0.2", - "raf": "3.4.0", + "raf": "3.4.1", "whatwg-fetch": "3.0.0" }, "dependencies": { "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", + "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==", "dev": true } } }, "react-dev-utils": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-7.0.1.tgz", - "integrity": "sha512-AN/RKZKHsyB2FebKSyMLOecvjuzZ54lzsLYF8wNmwwgRA3dVC4vhYsafvME7JD4q7RUB0bejqFWjOS9QtN48Zg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-7.0.3.tgz", + "integrity": "sha512-KEFsH1CewnmddPLXIuU+QWKTH/hpJKZClL2+74XN54NkPnR2KnB5gGmuQ0E7DwcCkUpdMxxqBX+rB7aB5sZS4A==", "dev": true, "requires": { "@babel/code-frame": "7.0.0", "address": "1.0.3", - "browserslist": "4.1.1", - "chalk": "2.4.1", + "browserslist": "4.4.1", + "chalk": "2.4.2", "cross-spawn": "6.0.5", "detect-port-alt": "1.1.6", "escape-string-regexp": "1.0.5", "filesize": "3.6.1", "find-up": "3.0.0", - "global-modules": "1.0.0", - "globby": "8.0.1", + "global-modules": "2.0.0", + "globby": "8.0.2", "gzip-size": "5.0.0", - "immer": "1.7.2", - "inquirer": "6.2.0", + "immer": "1.10.0", + "inquirer": "6.2.1", "is-root": "2.0.0", - "loader-utils": "1.1.0", + "loader-utils": "1.2.3", "opn": "5.4.0", "pkg-up": "2.0.0", - "react-error-overlay": "^5.1.2", + "react-error-overlay": "^5.1.3", "recursive-readdir": "2.2.2", "shell-quote": "1.6.1", - "sockjs-client": "1.1.5", - "strip-ansi": "4.0.0", + "sockjs-client": "1.3.0", + "strip-ansi": "5.0.0", "text-table": "0.2.0" }, "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", "dev": true }, "browserslist": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.1.tgz", - "integrity": "sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", + "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000884", - "electron-to-chromium": "^1.3.62", - "node-releases": "^1.0.0-alpha.11" + "caniuse-lite": "^1.0.30000929", + "electron-to-chromium": "^1.3.103", + "node-releases": "^1.1.3" } }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "find-up": { @@ -16474,13 +17094,13 @@ } }, "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", "dev": true, "requires": { "array-union": "^1.0.1", - "dir-glob": "^2.0.0", + "dir-glob": "2.0.0", "fast-glob": "^2.0.2", "glob": "^7.1.2", "ignore": "^3.3.5", @@ -16495,9 +17115,9 @@ "dev": true }, "inquirer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", - "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", + "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", @@ -16511,27 +17131,10 @@ "run-async": "^2.2.0", "rxjs": "^6.1.0", "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", + "strip-ansi": "^5.0.0", "through": "^2.3.6" } }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -16566,29 +17169,47 @@ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", "dev": true }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true + }, + "strip-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "dev": true, + "requires": { + "ansi-regex": "^4.0.0" + } } } }, "react-dom": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.1.tgz", - "integrity": "sha512-N74IZUrPt6UiDjXaO7UbDDFXeUXnVhZzeRLy/6iqqN1ipfjrhR60Bp5NuBK+rv3GMdqdIuwIl22u1SYwf330bg==", + "version": "16.8.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.3.tgz", + "integrity": "sha512-ttMem9yJL4/lpItZAQ2NTFAbV7frotHk5DZEHXUOws2rMmrsvh1Na7ThGT0dTzUIl6pqTOi5tYREfL8AEna3lA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.1" + "scheduler": "^0.13.3" } }, "react-error-overlay": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.2.tgz", - "integrity": "sha512-7kEBKwU9R8fKnZJBRa5RSIfay4KJwnYvKB6gODGicUmDSAhQJ7Tdnll5S0RLtYrzRfMVXlqYw61rzrSpP4ThLQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.3.tgz", + "integrity": "sha512-GoqeM3Xadie7XUApXOjkY3Qhs8RkwB/Za4WMedBGrOKH1eTuKGyoAECff7jiVonJchOx6KZ9i8ILO5XIoHB+Tg==", "dev": true }, "react-helmet": { @@ -16655,97 +17276,108 @@ } }, "react-scripts": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-2.1.3.tgz", - "integrity": "sha512-JASD0QVVgSVleVhA9TeA+UBx+shq887hm/L+09qjZLrqIUvJZHZU+oOnhMFGot02Yop+LKfkvf9KSsTNlu/Rwg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-2.1.5.tgz", + "integrity": "sha512-NaDKSxBLlU/jmO3TjTChz0PnnGToaQn0R/y4l4/Uk1vZdrIUsKCGdOWV1z0SJoRg7bFgNKxh55yS0qMr8rFwCg==", "dev": true, "requires": { - "@babel/core": "7.1.6", - "@svgr/webpack": "2.4.1", + "@babel/core": "7.2.2", + "@svgr/webpack": "4.1.0", "babel-core": "7.0.0-bridge.0", "babel-eslint": "9.0.0", "babel-jest": "23.6.0", - "babel-loader": "8.0.4", - "babel-plugin-named-asset-import": "^0.3.0", - "babel-preset-react-app": "^7.0.0", + "babel-loader": "8.0.5", + "babel-plugin-named-asset-import": "^0.3.1", + "babel-preset-react-app": "^7.0.1", "bfj": "6.1.1", - "case-sensitive-paths-webpack-plugin": "2.1.2", - "chalk": "2.4.1", + "case-sensitive-paths-webpack-plugin": "2.2.0", "css-loader": "1.0.0", "dotenv": "6.0.0", "dotenv-expand": "4.2.0", - "eslint": "5.6.0", - "eslint-config-react-app": "^3.0.6", + "eslint": "5.12.0", + "eslint-config-react-app": "^3.0.7", "eslint-loader": "2.1.1", "eslint-plugin-flowtype": "2.50.1", "eslint-plugin-import": "2.14.0", "eslint-plugin-jsx-a11y": "6.1.2", - "eslint-plugin-react": "7.11.1", + "eslint-plugin-react": "7.12.4", "file-loader": "2.0.0", "fork-ts-checker-webpack-plugin-alt": "0.4.14", - "fs-extra": "7.0.0", + "fs-extra": "7.0.1", "fsevents": "1.2.4", "html-webpack-plugin": "4.0.0-alpha.2", "identity-obj-proxy": "3.0.0", "jest": "23.6.0", - "jest-pnp-resolver": "1.0.1", + "jest-pnp-resolver": "1.0.2", "jest-resolve": "23.6.0", - "mini-css-extract-plugin": "0.4.3", + "jest-watch-typeahead": "^0.2.1", + "mini-css-extract-plugin": "0.5.0", "optimize-css-assets-webpack-plugin": "5.0.1", - "pnp-webpack-plugin": "1.1.0", + "pnp-webpack-plugin": "1.2.1", "postcss-flexbugs-fixes": "4.1.0", "postcss-loader": "3.0.0", - "postcss-preset-env": "6.3.1", + "postcss-preset-env": "6.5.0", "postcss-safe-parser": "4.0.1", - "react-app-polyfill": "^0.2.0", - "react-dev-utils": "^7.0.1", - "resolve": "1.8.1", + "react-app-polyfill": "^0.2.1", + "react-dev-utils": "^7.0.3", + "resolve": "1.10.0", "sass-loader": "7.1.0", - "style-loader": "0.23.0", - "terser-webpack-plugin": "1.1.0", - "url-loader": "1.1.1", - "webpack": "4.19.1", + "style-loader": "0.23.1", + "terser-webpack-plugin": "1.2.2", + "url-loader": "1.1.2", + "webpack": "4.28.3", "webpack-dev-server": "3.1.14", "webpack-manifest-plugin": "2.0.4", "workbox-webpack-plugin": "3.6.3" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" } }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, "eslint": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.6.0.tgz", - "integrity": "sha512-/eVYs9VVVboX286mBK7bbKnO1yamUy2UCRjiY6MryhQL2PaaXCExsCQ2aO83OeYRhU2eCU/FMFP+tVMoOrzNrA==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.12.0.tgz", + "integrity": "sha512-LntwyPxtOHrsJdcSwyQKVtHofPHdv+4+mFwEe91r2V13vqpM8yLr7b1sW+Oo/yheOPkWYsYlYJCkzlFAt8KV7g==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.5.3", "chalk": "^2.1.0", "cross-spawn": "^6.0.5", - "debug": "^3.1.0", + "debug": "^4.0.1", "doctrine": "^2.1.0", "eslint-scope": "^4.0.0", "eslint-utils": "^1.3.1", "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", + "espree": "^5.0.0", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^2.0.0", @@ -16753,9 +17385,9 @@ "glob": "^7.1.2", "globals": "^11.7.0", "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^6.1.0", - "is-resolvable": "^1.1.0", "js-yaml": "^3.12.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", @@ -16767,13 +17399,20 @@ "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", - "regexpp": "^2.0.0", - "require-uncached": "^1.0.3", + "regexpp": "^2.0.1", "semver": "^5.5.1", "strip-ansi": "^4.0.0", "strip-json-comments": "^2.0.1", - "table": "^4.0.3", + "table": "^5.0.2", "text-table": "^0.2.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } } }, "eslint-plugin-import": { @@ -16821,34 +17460,10 @@ } } }, - "eslint-plugin-react": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz", - "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.0.1", - "prop-types": "^15.6.2" - } - }, - "espree": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", - "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", - "dev": true, - "requires": { - "acorn": "^6.0.2", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, "fs-extra": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", - "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -16882,36 +17497,11 @@ "supports-color": "^6.1.0" }, "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -16924,48 +17514,19 @@ "postcss": "^7.0.0" } }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "table": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", - "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "has-flag": "^3.0.0" } } } @@ -16980,9 +17541,9 @@ } }, "react-transition-group": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.3.tgz", - "integrity": "sha512-2DGFck6h99kLNr8pOFk+z4Soq3iISydwOFeeEVPjTN6+Y01CmvbWmnN02VuTWyFdnRtIDPe+wy2q6Ui8snBPZg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.6.0.tgz", + "integrity": "sha512-VzZ+6k/adL3pJHo4PU/MHEPjW59/TGQtRsXC+wnxsx2mxjQKNHnDdJL/GpYuPJIsyHGjYbBQfIJ2JNOAdPc8GQ==", "requires": { "dom-helpers": "^3.3.1", "loose-envify": "^1.4.0", @@ -17313,9 +17874,9 @@ } }, "realpath-native": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.2.tgz", - "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", "dev": true, "requires": { "util.promisify": "^1.0.0" @@ -17356,14 +17917,15 @@ } }, "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "regenerator-transform": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", - "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz", + "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==", "dev": true, "requires": { "private": "^0.1.6" @@ -17389,168 +17951,16 @@ } }, "regexp-tree": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.1.tgz", - "integrity": "sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw==", - "dev": true, - "requires": { - "cli-table3": "^0.5.0", - "colors": "^1.1.2", - "yargs": "^12.0.5" - }, - "dependencies": { - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz", + "integrity": "sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==", + "dev": true }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true }, "regexpu-core": { "version": "4.4.0", @@ -17608,6 +18018,17 @@ } } }, + "rehype-parse": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.0.tgz", + "integrity": "sha512-V2OjMD0xcSt39G4uRdMTqDXXm6HwkUbLMDayYKA/d037j8/OtVSQ+tqKwYWOuyBeoCs/3clXRe30VUjeMDTBSA==", + "dev": true, + "requires": { + "hast-util-from-parse5": "^5.0.0", + "parse5": "^5.0.0", + "xtend": "^4.0.1" + } + }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -17677,14 +18098,14 @@ "dev": true }, "renderkid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.2.tgz", - "integrity": "sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", "dev": true, "requires": { "css-select": "^1.1.0", - "dom-converter": "~0.2", - "htmlparser2": "~3.3.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", "strip-ansi": "^3.0.0", "utila": "^0.4.0" }, @@ -17707,15 +18128,6 @@ "nth-check": "~1.0.1" } }, - "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -17726,53 +18138,6 @@ "domelementtype": "1" } }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.1", - "domutils": "1.1", - "readable-stream": "1.0" - }, - "dependencies": { - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1" - } - } - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -17839,23 +18204,23 @@ } }, "request-promise-core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", - "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", "dev": true, "requires": { - "lodash": "^4.13.1" + "lodash": "^4.17.11" } }, "request-promise-native": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", - "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", "dev": true, "requires": { - "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" } }, "require-directory": { @@ -17876,35 +18241,6 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - }, - "dependencies": { - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "requires": { - "callsites": "^0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" - } - } - }, "requireindex": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", @@ -17942,16 +18278,6 @@ } } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -17973,6 +18299,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, "requires": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -18032,6 +18359,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -18049,6 +18377,7 @@ "version": "6.4.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -18451,25 +18780,44 @@ } } }, + "save-file": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/save-file/-/save-file-2.3.1.tgz", + "integrity": "sha512-VOD2Ojb1/kuj0XbvSXzZ5xr4rRSZD8f+HzKWGztXNp93gBQDj3njFt9HMhmLtnwd7q0BjJkzLXqd8M2+PFS1qg==", + "requires": { + "file-saver": "^2.0.0-rc.4", + "is-blob": "^1.0.0", + "is-buffer": "^2.0.0", + "simple-mime": "^0.1.0", + "to-array-buffer": "^3.2.0", + "write": "^1.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + } + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, - "saxes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.6.tgz", - "integrity": "sha512-LAYs+lChg1v5uKNzPtsgTxSS5hLo8aIhSMCJt1WMpefAxm3D1RTpMwSpb6ebdL31cubiLTnhokVktBW+cv9Y9w==", - "dev": true, - "requires": { - "xmlchars": "^1.3.1" - } - }, "scheduler": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.1.tgz", - "integrity": "sha512-VJKOkiKIN2/6NOoexuypwSrybx13MY7NSy9RNt8wPvZDMRT1CW6qlpF5jXRToXNHz3uWzbm2elNpZfXfGPqP9A==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.3.tgz", + "integrity": "sha512-UxN5QRYWtpR1egNWzJcVLk8jlegxAugswQc984lD3kU7NuobsO37/sRfbpTdBjtnD5TBNFA2Q2oLV5+UmPSmEQ==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -18567,7 +18915,8 @@ "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true }, "semver-diff": { "version": "2.1.0", @@ -18750,6 +19099,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -18757,7 +19107,8 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "shell-quote": { "version": "1.6.1", @@ -18780,7 +19131,8 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "simple-concat": { "version": "1.0.0", @@ -18797,6 +19149,11 @@ "simple-concat": "^1.0.0" } }, + "simple-mime": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-mime/-/simple-mime-0.1.0.tgz", + "integrity": "sha1-lfUXxPRm18/1YacfydqyWW6p7y4=" + }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -18978,17 +19335,34 @@ } }, "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", "dev": true, "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", "json3": "^3.3.2", - "url-parse": "^1.1.8" + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } } }, "source-list-map": { @@ -19042,6 +19416,15 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "space-separated-tokens": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz", + "integrity": "sha512-G3jprCEw+xFEs0ORweLmblJ3XLymGGr6hxZYTYZjIlvDti9vOBUjRQa1Rzjt012aRrocKstHwdNi+F7HguPsEA==", + "dev": true, + "requires": { + "trim": "0.0.1" + } + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", @@ -19164,7 +19547,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sshpk": { "version": "1.16.1", @@ -19304,15 +19688,35 @@ "strip-ansi": "^4.0.0" } }, + "string-to-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-to-arraybuffer/-/string-to-arraybuffer-1.0.2.tgz", + "integrity": "sha512-DaGZidzi93dwjQen5I2osxR9ERS/R7B1PFyufNMnzhj+fmlDQAc1DSDIJVJhgI8Oq221efIMbABUBdPHDRt43Q==", + "requires": { + "atob-lite": "^2.0.0", + "is-base64": "^0.1.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" } }, + "string.prototype.trim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.0", + "function-bind": "^1.0.2" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -19348,6 +19752,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "^3.0.0" } @@ -19410,28 +19815,17 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "style-loader": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.0.tgz", - "integrity": "sha512-uCcN7XWHkqwGVt7skpInW6IGO1tG6ReyFQ1Cseh0VcN6VdcFQi62aG/2F3Y9ueA8x4IVlfaSUxpmQXQD9QrEuQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", "dev": true, "requires": { "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } + "schema-utils": "^1.0.0" } }, "style-search": { @@ -19441,9 +19835,9 @@ "dev": true }, "stylehacks": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz", - "integrity": "sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", "dev": true, "requires": { "browserslist": "^4.0.0", @@ -19452,14 +19846,29 @@ }, "dependencies": { "browserslist": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", - "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", + "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000929", - "electron-to-chromium": "^1.3.103", - "node-releases": "^1.1.3" + "caniuse-lite": "^1.0.30000939", + "electron-to-chromium": "^1.3.113", + "node-releases": "^1.1.8" + } + }, + "caniuse-lite": { + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", + "dev": true + }, + "node-releases": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", + "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "dev": true, + "requires": { + "semver": "^5.3.0" } }, "postcss": { @@ -20324,6 +20733,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -20335,33 +20745,25 @@ "dev": true }, "svgo": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.1.1.tgz", - "integrity": "sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.0.tgz", + "integrity": "sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw==", "dev": true, "requires": { - "coa": "~2.0.1", - "colors": "~1.1.2", + "chalk": "^2.4.1", + "coa": "^2.0.2", "css-select": "^2.0.0", - "css-select-base-adapter": "~0.1.0", + "css-select-base-adapter": "^0.1.1", "css-tree": "1.0.0-alpha.28", "css-url-regex": "^1.1.0", - "csso": "^3.5.0", + "csso": "^3.5.1", "js-yaml": "^3.12.0", "mkdirp": "~0.5.1", - "object.values": "^1.0.4", + "object.values": "^1.1.0", "sax": "~1.2.4", - "stable": "~0.1.6", + "stable": "^0.1.8", "unquote": "~1.1.1", "util.promisify": "~1.0.0" - }, - "dependencies": { - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - } } }, "swarm-js": { @@ -20534,9 +20936,9 @@ } }, "terser-webpack-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", - "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz", + "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==", "dev": true, "requires": { "cacache": "^11.0.2", @@ -20544,74 +20946,11 @@ "schema-utils": "^1.0.0", "serialize-javascript": "^1.4.0", "source-map": "^0.6.1", - "terser": "^3.8.1", + "terser": "^3.16.1", "webpack-sources": "^1.1.0", "worker-farm": "^1.5.2" }, "dependencies": { - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -20711,7 +21050,8 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, "thenify": { "version": "3.3.0", @@ -20780,6 +21120,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -20790,6 +21131,23 @@ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", "dev": true }, + "to-array-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/to-array-buffer/-/to-array-buffer-3.2.0.tgz", + "integrity": "sha512-zN33mwi0gpL+7xW1ITLfJ48CEj6ZQW0ZAP0MU+2W3kEY0PAIncyuxmD4OqkUVhPAbTP7amq9j/iwvZKYS+lzSQ==", + "requires": { + "flatten-vertex-data": "^1.0.2", + "is-blob": "^2.0.1", + "string-to-arraybuffer": "^1.0.0" + }, + "dependencies": { + "is-blob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.0.1.tgz", + "integrity": "sha512-SmqVJYMnAeqrKLcwq6TXu1rpAg3yipVlMZIqR5u510rxoOzJGW9GQY6g+WtWkcc44pjbWAuxzZDCkbgf5e6r0Q==" + } + } + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -20885,7 +21243,8 @@ "trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true }, "trim-newlines": { "version": "1.0.0", @@ -20926,10 +21285,17 @@ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", "dev": true }, + "ts-pnp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.0.1.tgz", + "integrity": "sha512-Zzg9XH0anaqhNSlDRibNC8Kp+B9KNM0uRIpLpGkGyrgRIttA7zZBhotTSEoEyuDrz3QW2LGtu2dxuk34HzIGnQ==", + "dev": true + }, "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true }, "tsutils": { "version": "3.8.0", @@ -20963,6 +21329,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, "requires": { "prelude-ls": "~1.1.2" } @@ -20991,9 +21358,9 @@ } }, "typescript": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", - "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "version": "3.3.3333", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", + "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", "dev": true }, "uglify-js": { @@ -21020,149 +21387,18 @@ } } }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - } - }, - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - } - } - }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, "unbzip2-stream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.2.tgz", - "integrity": "sha512-l71qM60cLs5GjR4uJsACOADWuttjtGNLcQdOj6FxSkxhovPiX2+pm+mERrYjkYqAx9EZoQh3LD61oSYx0tycww==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", "requires": { - "buffer": "^3.0.1", - "through": "^2.3.6" - }, - "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" - }, - "buffer": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", - "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", - "requires": { - "base64-js": "0.0.8", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - } + "buffer": "^5.2.1", + "through": "^2.3.8" } }, "underscore": { @@ -21475,9 +21711,9 @@ } }, "url-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.1.tgz", - "integrity": "sha512-vugEeXjyYFBCUOpX+ZuaunbK3QXMKaQ3zUnRfIpRBlGkY7QizCnzyyn2ASfcxsvyU3ef+CJppVywnl3Kgf13Gg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -21652,17 +21888,6 @@ "browser-process-hrtime": "^0.1.2" } }, - "w3c-xmlserializer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.0.1.tgz", - "integrity": "sha512-XZGI1OH/OLQr/NaJhhPmzhngwcAnZDLytsvXnRmlYeRkmbb0I7sqFFA22erq4WQR0sUu17ZSQOAV9mFwCqKRNg==", - "dev": true, - "requires": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", @@ -21718,29 +21943,40 @@ "minimalistic-assert": "^1.0.0" } }, + "web-namespaces": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.2.tgz", + "integrity": "sha512-II+n2ms4mPxK+RnIxRPOw3zwF2jRscdJIUE9BfkKHm4FYEg9+biIoTMnaZF5MpemE3T+VhMLrhbyD4ilkPCSbg==", + "dev": true + }, "web3": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.43.tgz", - "integrity": "sha512-jEQJ4NHoMI3dPum/kiFiVapOa16Pi5dZ5WWg3A7IpRPlalmaQTV2EGffYmfLbLt0UbbpBhF2M2yXnaGLy4izLQ==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.46.tgz", + "integrity": "sha512-a+apA/pXiivrurVEq5Pv9+0GZ5vC6Utu8M9fojW9YUuvory29WFDg+tg+ITBmMvz/dQxInahNS32xJB6HhZbHg==", "requires": { "@babel/runtime": "^7.3.1", "@types/node": "^10.12.18", - "web3-bzz": "1.0.0-beta.43", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-eth": "1.0.0-beta.43", - "web3-eth-personal": "1.0.0-beta.43", - "web3-net": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-shh": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-bzz": "1.0.0-beta.46", + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-eth": "1.0.0-beta.46", + "web3-eth-personal": "1.0.0-beta.46", + "web3-net": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-shh": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" }, "dependencies": { + "@types/node": { + "version": "10.12.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.27.tgz", + "integrity": "sha512-e9wgeY6gaY21on3ve0xAjgBVjGDWq/xUteK0ujsE53bUoxycMkqfnkUgMt6ffZtykZ5X12Mg3T7Pw4TRCObDKg==" + }, "ethers": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.23.tgz", - "integrity": "sha512-9IwYV3LuESPF2cgwF42SL2vqrwWEsA2+15WVtO2dZb1F/twARaCWb7PrgoODldj+bmwKmUv3rG9PFfBkbumPwA==", + "version": "4.0.26", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.26.tgz", + "integrity": "sha512-3hK4S8eAGhuWZ/feip5z17MswjGgjb4lEPJqWO/O0dNqToYLSHhvu6gGQPs8d9f+XfpEB2EYexfF0qjhWiZjUA==", "requires": { "@types/node": "^10.3.2", "aes-js": "3.0.0", @@ -21853,9 +22089,9 @@ "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" }, "web3-bzz": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.43.tgz", - "integrity": "sha512-5h0MCfJaguwI2TbqSp9elmbZs201uiorRqSxl/TUqeZkzj7hvBjI4nzaCipNxUDoJq2N9Z4J4qVEppj9SsyVLg==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.46.tgz", + "integrity": "sha512-l2gnK3wM+dfBfGIbxwz7ZE9mhDMArrENbLmFDMCrNng/PurrXy16GQJ5ziLCt4D2kyO4VWtnGeG2yGiEJSI+Vg==", "requires": { "@babel/runtime": "^7.3.1", "@types/node": "^10.12.18", @@ -21864,100 +22100,100 @@ } }, "web3-core": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.43.tgz", - "integrity": "sha512-YkLehXkKpI0jyVqyEsuYR1JUeCcuCs2ihXbV4bPyM9DNbw+RryYZoyb7tMP3LtRuXFIDfBxn+rw3TrKiiAfgMQ==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.46.tgz", + "integrity": "sha512-9Iqp4Szn52ldo1dIJ3uzfKA73TkSvQKJd4lOwxMKK77qniP0C3qpRjTMZumIGsR3iydT0QWWgmxlaca0B4LRYQ==", "requires": { "@babel/runtime": "^7.3.1", "@types/node": "^10.12.18", "lodash": "^4.17.11", - "web3-utils": "1.0.0-beta.43" + "web3-utils": "1.0.0-beta.46" } }, "web3-core-helpers": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.43.tgz", - "integrity": "sha512-AtDS3elq03vCj4YsivP9WM27BKGEpGg1y6zmbe+gXY8i0MGOiUo3yrolIoeAw5hZzwEyRdBgCzfkL8Mfb7aABA==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.46.tgz", + "integrity": "sha512-bYUEVxW1LbhlLjwGHfyQ6otc41F91tPQVuarqWypaiFcYXJxQKxg8n5tEg89ZsiAxU23wlQvQMAJ2vg9r0g33A==", "requires": { "@babel/runtime": "^7.3.1", "lodash": "^4.17.11", - "web3-eth-iban": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-eth-iban": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-core-method": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.43.tgz", - "integrity": "sha512-lZvU1FAEdBIm65KmqpYDWIqFaK5aqoNtgLgxqPs6xMEDX1MCqzoimKlNaGZn3oLxt2wpCawtaCymqE4v2KBf9w==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.46.tgz", + "integrity": "sha512-n++LCk2I6UEfbXJFsDPuw8mPn3T6iQLGMTaTBjhybmu1ok4o11xqxuN/Yv7dXWJVTlf2wDiiCIaLdHGQKdjilA==", "requires": { "@babel/runtime": "^7.3.1", "eventemitter3": "3.1.0", "lodash": "^4.17.11", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-promievent": "1.0.0-beta.43", - "web3-core-subscriptions": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-promievent": "1.0.0-beta.46", + "web3-core-subscriptions": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-core-promievent": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.43.tgz", - "integrity": "sha512-HaQY6FuP+I0cn+Wi87Us24P4tAjUbhoDVtzE4K9CtmFTY1lvIQSLn+pzGhbwDYyKyovQpVMS/oroaI8QI46N1A==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.46.tgz", + "integrity": "sha512-Z0GuazAKpwEJKjE1BpFF74VQ8/hsGCU2vubF5AHrVHIZCaEKIw2mm7uccKyw6QELweOEDpxTM687Gnw2PU6QTw==", "requires": { "@babel/runtime": "^7.3.1", "eventemitter3": "^3.1.0" } }, "web3-core-subscriptions": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.43.tgz", - "integrity": "sha512-M7XuypZZvkPZNQg415j6CZ4Q0Mukydpup4aKiUwpQreJ2CnM05etaNkyhKydVRiAB3v7m63MLTz+LyHBsDjZKA==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.46.tgz", + "integrity": "sha512-wgz6pMXS0hKdTiPXeWMbGMoDkxKwaHK9KZeSyRGHfzrTThins2PrbduC9yjl+M862zsb6DCk/oQ+AjnUoMnLow==", "requires": { "@babel/runtime": "^7.3.1", "eventemitter3": "^3.1.0", "lodash": "^4.17.11", - "web3-core-helpers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core-helpers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-eth": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.43.tgz", - "integrity": "sha512-RUxbgPY4lyYozYwdI6ClyJrLACoY1JNywjM/wwno212B2/aDnzOMKPeZdi5py7pPh/RKlfEPOdsT6kVYf79S3A==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.46.tgz", + "integrity": "sha512-9gUO3SPBAzL4t31iRmNi/7hK8+35YC3lJz6XH0t1dYhybF8rg5zqxMTjsxQFxcilS9N+4hoCVuA6fVpjAKn4Zg==", "requires": { "@babel/runtime": "^7.3.1", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-core-promievent": "1.0.0-beta.43", - "web3-core-subscriptions": "1.0.0-beta.43", - "web3-eth-abi": "1.0.0-beta.43", - "web3-eth-accounts": "1.0.0-beta.43", - "web3-eth-contract": "1.0.0-beta.43", - "web3-eth-ens": "1.0.0-beta.43", - "web3-eth-iban": "1.0.0-beta.43", - "web3-eth-personal": "1.0.0-beta.43", - "web3-net": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-core-promievent": "1.0.0-beta.46", + "web3-core-subscriptions": "1.0.0-beta.46", + "web3-eth-abi": "1.0.0-beta.46", + "web3-eth-accounts": "1.0.0-beta.46", + "web3-eth-contract": "1.0.0-beta.46", + "web3-eth-ens": "1.0.0-beta.46", + "web3-eth-iban": "1.0.0-beta.46", + "web3-eth-personal": "1.0.0-beta.46", + "web3-net": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-eth-abi": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.43.tgz", - "integrity": "sha512-2ghl2N6XHkHlUjkJFIOk8atiNYUFh+fijNci+lxMzeY7RoYA4lIF+o3Z422FhKlZdw8ySPaILTQ8wcwjiiuaEw==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.46.tgz", + "integrity": "sha512-Ac0JTptqZPpoiF+5sg6gJlNkFZPO77qRd39YxIKoxXaXLP8JPFujpNQUJBMJU6kxT9fMYmR1T453JQj3aMEHeQ==", "requires": { "@babel/runtime": "^7.3.1", "ethers": "^4.0.0", "lodash": "^4.17.11", - "web3-utils": "1.0.0-beta.43" + "web3-utils": "1.0.0-beta.46" } }, "web3-eth-accounts": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.43.tgz", - "integrity": "sha512-GaHW0ELydWkbd6uiSsjagd9egeGNG9kaAeSjuwNlcouXMMuaC+TkYTwvy7vVFhk+/qusxdw0jWr+PBWcc0q6/g==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.46.tgz", + "integrity": "sha512-b5XYe3lcm1JZTqkO0amTIVJcqauFGjSDnCFA/mpYnabJgoQv6119fE2fcLPHSavCetLingCL+zrMqk57IvfYRw==", "requires": { "@babel/runtime": "^7.3.1", "crypto-browserify": "3.12.0", @@ -21965,11 +22201,11 @@ "lodash": "^4.17.11", "scrypt.js": "0.2.0", "uuid": "3.3.2", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" }, "dependencies": { "eth-lib": { @@ -21990,99 +22226,99 @@ } }, "web3-eth-contract": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.43.tgz", - "integrity": "sha512-/ydJTHgM2yzOF8N2lLbMOp31d6ne/KdAC/EAujWeT0i5kf78X4cWGe0payGYbZ10Qj0S1OsfBS6RBqih7s2neA==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.46.tgz", + "integrity": "sha512-hcr5a9/SC8CwpV7ZNXuLQXEpzDcJudS1OlPYMQjnrFVjkjRtuYNb6ldUTaTK9R2WV5bVws9qQEJbvsD+NPnqHw==", "requires": { "@babel/runtime": "^7.3.1", "lodash": "^4.17.11", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-core-promievent": "1.0.0-beta.43", - "web3-core-subscriptions": "1.0.0-beta.43", - "web3-eth-abi": "1.0.0-beta.43", - "web3-eth-accounts": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-core-promievent": "1.0.0-beta.46", + "web3-core-subscriptions": "1.0.0-beta.46", + "web3-eth-abi": "1.0.0-beta.46", + "web3-eth-accounts": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-eth-ens": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.43.tgz", - "integrity": "sha512-SVpukYXhGOJTdGxztzvzAOZJMbjn9kItV8iBAUtTnffMvA09BPI+VcC4KYvmKfruhbkm3EJnKox8PrY36MukNQ==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.46.tgz", + "integrity": "sha512-7wXZnFW66ZQUD0gMUTdYsnz5VG9yo/PzJmccL73Swza6NHMpeejTNMgUc/GUzyE3449+Mu/37o3hRu3Z4eWi/w==", "requires": { "@babel/runtime": "^7.3.1", "eth-ens-namehash": "2.0.8", "lodash": "^4.17.11", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-core-promievent": "1.0.0-beta.43", - "web3-eth-abi": "1.0.0-beta.43", - "web3-eth-contract": "1.0.0-beta.43", - "web3-net": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-core-promievent": "1.0.0-beta.46", + "web3-eth-abi": "1.0.0-beta.46", + "web3-eth-contract": "1.0.0-beta.46", + "web3-net": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-eth-iban": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.43.tgz", - "integrity": "sha512-qJMzjWWlHJuWFFYO4meoPfUQMBaUZ4RZnD2jUPAtjnoVa5s4Kc1j4MiSPsAbxSjVdy0gRrCydIufAtBVYCV8eg==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.46.tgz", + "integrity": "sha512-IM9VbznRaEs58n7mYbJcPviOLMAiiveqZT1jtlcJ/DbrvMkArV0Xf6n2OyFY+ak3ppddKVMIAGISxhky6r/7cg==", "requires": { "@babel/runtime": "^7.3.1", "bn.js": "4.11.8", - "web3-utils": "1.0.0-beta.43" + "web3-utils": "1.0.0-beta.46" } }, "web3-eth-personal": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.43.tgz", - "integrity": "sha512-NoPZHaetrFaVSCLpjIOG8DQvPPVpSf41Z5PM4VMRGLXC1Ofkomwr+MF3ewdHMjjRTUxJam/ksCFHbsNDxOM54w==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.46.tgz", + "integrity": "sha512-NEmuitdSmoeixXfnw23Br8YZGmAw2iH79gUEvYPto0OQ7edc1LtkZP6h0lFPwXRPhz0Z8UDOg+lv31EN4NKBwA==", "requires": { "@babel/runtime": "^7.3.1", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-net": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-net": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-net": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.43.tgz", - "integrity": "sha512-fWoTlXneRG/4yOTQ+c6iwDcu63OE4PnB+PRnBFLtArTPVr6U1ndQwRUOzlm8PgkGd6ieHZuFnrj3uGcUR6ZU9A==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.46.tgz", + "integrity": "sha512-mSEgq5S1SI/M17pS6UEGYBt6v54gaSYw3hvRmx5pu4zoHMz8YmbUSfZh+98uxtcV/TE9v3rCwZur7/0bar9kCA==", "requires": { "@babel/runtime": "^7.3.1", "lodash": "^4.17.11", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-shh": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.43.tgz", - "integrity": "sha512-S4Petfrb+998persyS/zuK4Qhc8BDqefVpMhAyMiF8tCbOSvP667L4cOV6FCq5peAJ/hJk1HEC3WUJlX5m6SBw==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.46.tgz", + "integrity": "sha512-1Qka0DEXbcC07+HAdXM9i848FseaGi/G719aU0XbuEZgjbLYp8/uuKExrRkq9kLly6CIPwq20lrVRzScblAKQw==", "requires": { "@babel/runtime": "^7.3.1", - "web3-core": "1.0.0-beta.43", - "web3-core-helpers": "1.0.0-beta.43", - "web3-core-method": "1.0.0-beta.43", - "web3-core-subscriptions": "1.0.0-beta.43", - "web3-net": "1.0.0-beta.43", - "web3-providers": "1.0.0-beta.43", - "web3-utils": "1.0.0-beta.43" + "web3-core": "1.0.0-beta.46", + "web3-core-helpers": "1.0.0-beta.46", + "web3-core-method": "1.0.0-beta.46", + "web3-core-subscriptions": "1.0.0-beta.46", + "web3-net": "1.0.0-beta.46", + "web3-providers": "1.0.0-beta.46", + "web3-utils": "1.0.0-beta.46" } }, "web3-utils": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.43.tgz", - "integrity": "sha512-fdV3TELMnbzV75awcRFFzbfpt+FhJrKUHFRmE1KSxFIPSDFTgTBo3KpCvS5D4PajXOAnNb0QbSML9ekSqKtx/A==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.46.tgz", + "integrity": "sha512-mSz+NrAil2fDZkxTXHPntCclZ8DofMjv8Q+BYR0VAyzTzylpYNXAV0WDdxBp/sXgniWRZXZMF7OkQNWqhZ1J9g==", "requires": { "@babel/runtime": "^7.3.1", "@types/bn.js": "^4.11.4", @@ -22317,9 +22553,9 @@ } }, "web3-providers": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/web3-providers/-/web3-providers-1.0.0-beta.43.tgz", - "integrity": "sha512-1BMXNLzmQ9HlX8lBq9Eze4yE1VMFekp/fp85hL+garX3fVEeIDVNtA7/AnWGaoe19UMNx8WGAPL19pgUnkoCCQ==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-providers/-/web3-providers-1.0.0-beta.46.tgz", + "integrity": "sha512-5h4dFuASthr+EE8xBpAtQ5b5bngjv1ihIBcyEVQEP+bRtvU7qPKA8It2fQLtDl4iSADJDjhhQmvBPKbSlJ9jWg==", "requires": { "@babel/runtime": "^7.3.1", "@types/node": "^10.12.18", @@ -22331,6 +22567,11 @@ "xhr2-cookies": "1.1.0" }, "dependencies": { + "@types/node": { + "version": "10.12.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.27.tgz", + "integrity": "sha512-e9wgeY6gaY21on3ve0xAjgBVjGDWq/xUteK0ujsE53bUoxycMkqfnkUgMt6ffZtykZ5X12Mg3T7Pw4TRCObDKg==" + }, "eventemitter3": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", @@ -22413,15 +22654,15 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "webpack": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.19.1.tgz", - "integrity": "sha512-j7Q/5QqZRqIFXJvC0E59ipLV5Hf6lAnS3ezC3I4HMUybwEDikQBVad5d+IpPtmaQPQArvgUZLXIN6lWijHBn4g==", + "version": "4.28.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.3.tgz", + "integrity": "sha512-vLZN9k5I7Nr/XB1IDG9GbZB4yQd1sPuvufMFgJkx0b31fi2LD97KQIjwjxE7xytdruAYfu5S0FLBLjdxmwGJCg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-module-context": "1.7.6", - "@webassemblyjs/wasm-edit": "1.7.6", - "@webassemblyjs/wasm-parser": "1.7.6", + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/wasm-edit": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", "acorn": "^5.6.2", "acorn-dynamic-import": "^3.0.0", "ajv": "^6.1.0", @@ -22439,9 +22680,9 @@ "node-libs-browser": "^2.0.0", "schema-utils": "^0.4.4", "tapable": "^1.1.0", - "uglifyjs-webpack-plugin": "^1.2.4", + "terser-webpack-plugin": "^1.1.0", "watchpack": "^1.5.0", - "webpack-sources": "^1.2.0" + "webpack-sources": "^1.3.0" }, "dependencies": { "acorn": { @@ -22852,15 +23093,6 @@ "xregexp": "4.0.0" } }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -22929,6 +23161,17 @@ "path-exists": "^3.0.0" } }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -22985,20 +23228,6 @@ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", "dev": true }, - "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -23178,6 +23407,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "requires": { "isexe": "^2.0.0" } @@ -23209,7 +23439,8 @@ "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true }, "workbox-background-sync": { "version": "3.6.3", @@ -23453,6 +23684,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, "requires": { "mkdirp": "^0.5.1" } @@ -23549,12 +23781,6 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, - "xmlchars": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz", - "integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==", - "dev": true - }, "xmlhttprequest": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", diff --git a/package.json b/package.json index ee147b1..291a199 100644 --- a/package.json +++ b/package.json @@ -16,47 +16,47 @@ }, "dependencies": { "@oceanprotocol/art": "^2.2.0", - "@oceanprotocol/squid": "^0.3.0", - "@types/is-url": "^1.2.28", - "@types/react-helmet": "^5.0.8", - "@types/react-transition-group": "^2.0.15", + "@oceanprotocol/squid": "^0.3.1", "classnames": "^2.2.6", - "eslint": "^5.6.0", "is-url": "^1.2.4", "moment": "^2.24.0", "query-string": "^6.2.0", - "react": "^16.8.1", - "react-dom": "^16.8.1", + "react": "^16.8.3", + "react-dom": "^16.8.3", "react-helmet": "^5.2.0", "react-moment": "^0.8.4", "react-router-dom": "^4.3.1", - "react-transition-group": "^2.5.3", + "react-transition-group": "^2.6.0", "slugify": "^1.3.4", - "web3": "^1.0.0-beta.43" + "web3": "^1.0.0-beta.46" }, "devDependencies": { "@types/classnames": "^2.2.7", - "@types/jest": "^24.0.0", - "@types/node": "^10.12.21", + "@types/is-url": "^1.2.28", + "@types/jest": "^24.0.9", + "@types/node": "^11.9.5", "@types/query-string": "^6.2.0", - "@types/react": "^16.8.2", - "@types/react-dom": "^16.8.0", + "@types/react": "^16.8.5", + "@types/react-dom": "^16.8.2", + "@types/react-helmet": "^5.0.8", "@types/react-router-dom": "^4.3.1", + "@types/react-transition-group": "^2.0.16", "@types/web3": "^1.0.18", - "@typescript-eslint/eslint-plugin": "^1.2.0", - "@typescript-eslint/parser": "^1.2.0", + "@typescript-eslint/eslint-plugin": "^1.4.2", + "@typescript-eslint/parser": "^1.4.2", + "eslint": "5.12.0", "eslint-config-oceanprotocol": "^1.3.0", - "eslint-config-prettier": "^4.0.0", + "eslint-config-prettier": "^4.1.0", "eslint-plugin-prettier": "^3.0.1", "node-sass": "^4.11.0", "prettier": "^1.16.4", "prettier-stylelint": "^0.4.2", - "react-scripts": "^2.1.3", + "react-scripts": "^2.1.5", "stylelint": "^9.10.1", "stylelint-config-bigchaindb": "^1.2.1", "stylelint-config-css-modules": "^1.3.0", "stylelint-config-standard": "^18.2.0", - "typescript": "3.2.4" + "typescript": "^3.3.3333" }, "browserslist": [ ">0.2%", From 825bb7a0eea0a030cbc8515fed49562460c5dced Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 27 Feb 2019 09:42:31 -0300 Subject: [PATCH 17/66] copy, success feedback for faucet action --- .../molecules/AccountStatus/Faucet.tsx | 17 ++++++-- .../molecules/AccountStatus/Popover.tsx | 39 ++++++++++--------- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/components/molecules/AccountStatus/Faucet.tsx b/src/components/molecules/AccountStatus/Faucet.tsx index 4febe8e..0836c08 100644 --- a/src/components/molecules/AccountStatus/Faucet.tsx +++ b/src/components/molecules/AccountStatus/Faucet.tsx @@ -2,23 +2,32 @@ import React, { PureComponent } from 'react' import Button from '../../atoms/Button' import { User } from '../../../context/User' +interface FaucetProps { + togglePopover: any +} + interface FaucetState { isLoading: boolean + success?: string error?: string } -export default class Faucet extends PureComponent<{}, FaucetState> { +export default class Faucet extends PureComponent { public state = { isLoading: false, + success: undefined, error: undefined } private getTokens = async (requestFromFaucet: any) => { + // prevent popup from closing on click + this.props.togglePopover() + this.setState({ isLoading: true }) try { await requestFromFaucet() - this.setState({ isLoading: false }) + this.setState({ isLoading: false, success: 'Tokens added!' }) } catch (error) { this.setState({ isLoading: false, error }) } @@ -32,6 +41,8 @@ export default class Faucet extends PureComponent<{}, FaucetState> { 'Getting tokens...' ) : this.state.error ? ( this.state.error + ) : this.state.success ? ( + this.state.success ) : ( ) } diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 47d51a4..570f4b5 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -9,6 +9,23 @@ const Popover = ({ togglePopover }: { togglePopover: any }) => ( onMouseOver={togglePopover} onMouseOut={togglePopover} > +
+ + 30 ETH + + {/* + {(eth / 1e18).toFixed(3).slice(0, -1)} ETH + */} + + {/* {ocn} OCEAN */} + 2474290 OCEAN + +
+ +
+ +
+
{states => @@ -22,28 +39,14 @@ const Popover = ({ togglePopover }: { togglePopover: any }) => ( }
+
- Network:   Fake Network Name - {/* Network: + Fake Network Name + {/* - {states => states.network && {states.network}} + {states => states.network && states.network} */}
-
- - 30 ETH - - {/* - {(eth / 1e18).toFixed(3).slice(0, -1)} ETH - */} - - {/* {ocn} OCEAN */} - 2474290 OCEAN - -
-
- -
) From e91de4a64d924e57abe8c29210a8b4586b0de7e5 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 19 Feb 2019 16:32:58 +0100 Subject: [PATCH 18/66] split up form in multiple steps, one component for all steps --- src/data/form-publish.json | 183 ++++++++++++++++------------ src/routes/Publish/Step.module.scss | 5 + src/routes/Publish/Step.tsx | 121 ++++++++++++++++++ src/routes/Publish/index.tsx | 110 ++++++----------- 4 files changed, 268 insertions(+), 151 deletions(-) create mode 100644 src/routes/Publish/Step.module.scss create mode 100644 src/routes/Publish/Step.tsx diff --git a/src/data/form-publish.json b/src/data/form-publish.json index cc221be..37c7c6e 100644 --- a/src/data/form-publish.json +++ b/src/data/form-publish.json @@ -1,90 +1,111 @@ { "title": "Publish a new data asset", "description": "A cool form description", - "fields": { - "name": { - "label": "Title", - "placeholder": "i.e. My cool data set", - "type": "text", - "required": true, - "help": "Help me Obiwan" + "steps": [ + { + "title": "Essentials", + "fields": { + "name": { + "label": "Title", + "placeholder": "i.e. My cool data set", + "type": "text", + "required": true, + "help": "Help me Obiwan" + }, + "files": { + "label": "Files", + "placeholder": "i.e. https://file.com/file.json", + "type": "text", + "required": true, + "help": "Provide one or multiple links to your data files." + } + } }, - "files": { - "label": "Files", - "placeholder": "i.e. https://file.com/file.json", - "type": "text", - "required": true, - "help": "Provide one or multiple links to your data files." + { + "title": "Information", + "fields": { + "description": { + "label": "Description", + "placeholder": "i.e. My cool data set", + "type": "textarea", + "required": true, + "rows": 5 + }, + "categories": { + "label": "Categories", + "type": "select", + "options": [ + "Image Recognition", + "Dataset Of Datasets", + "Language", + "Performing Arts", + "Visual Arts & Design", + "Philosophy", + "History", + "Theology", + "Anthropology & Archeology", + "Sociology", + "Psychology", + "Politics", + "Interdisciplinary", + "Economics & Finance", + "Demography", + "Biology", + "Chemistry", + "Physics & Energy", + "Earth & Climate", + "Space & Astronomy", + "Mathematics", + "Computer Technology", + "Engineering", + "Agriculture & Bio Engineering", + "Transportation", + "Urban Planning", + "Medicine", + "Business & Management", + "Sports & Recreation", + "Communication & Journalism", + "Other" + ] + } + } }, - "description": { - "label": "Description", - "placeholder": "i.e. My cool data set", - "type": "textarea", - "required": true, - "rows": 5 + { + "title": "Credentials", + "fields": { + "author": { + "label": "Author", + "placeholder": "i.e. Jelly McJellyfish", + "type": "text", + "required": true + }, + "copyrightHolder": { + "label": "Copyright Holder", + "placeholder": "i.e. fwhfiw", + "type": "text", + "required": true + }, + "license": { + "label": "License", + "type": "select", + "required": true, + "options": [ + "Public Domain", + "CC BY: Attribution", + "CC BY-SA: Attribution ShareAlike", + "CC BY-ND: Attribution-NoDerivs", + "CC BY-NC: Attribution-NonCommercial", + "CC BY-NC-SA: Attribution-NonCommercial-ShareAlike", + "CC BY-NC-ND: Attribution-NonCommercial-NoDerivs" + ] + } + } }, - "categories": { - "label": "Categories", - "type": "select", - "options": [ - "Image Recognition", - "Dataset Of Datasets", - "Language", - "Performing Arts", - "Visual Arts & Design", - "Philosophy", - "History", - "Theology", - "Anthropology & Archeology", - "Sociology", - "Psychology", - "Politics", - "Interdisciplinary", - "Economics & Finance", - "Demography", - "Biology", - "Chemistry", - "Physics & Energy", - "Earth & Climate", - "Space & Astronomy", - "Mathematics", - "Computer Technology", - "Engineering", - "Agriculture & Bio Engineering", - "Transportation", - "Urban Planning", - "Medicine", - "Business & Management", - "Sports & Recreation", - "Communication & Journalism", - "Other" - ] + { + "title": "Wallet" }, - "copyrightHolder": { - "label": "Copyright Holder", - "placeholder": "i.e. fwhfiw", - "type": "text", - "required": true - }, - "author": { - "label": "Author", - "placeholder": "i.e. Jelly McJellyfish", - "type": "text", - "required": true - }, - "license": { - "label": "License", - "type": "select", - "required": true, - "options": [ - "Public Domain", - "CC BY: Attribution", - "CC BY-SA: Attribution ShareAlike", - "CC BY-ND: Attribution-NoDerivs", - "CC BY-NC: Attribution-NonCommercial", - "CC BY-NC-SA: Attribution-NonCommercial-ShareAlike", - "CC BY-NC-ND: Attribution-NonCommercial-NoDerivs" - ] + { + "title": "Complete" } - } + ] } diff --git a/src/routes/Publish/Step.module.scss b/src/routes/Publish/Step.module.scss new file mode 100644 index 0000000..e56002c --- /dev/null +++ b/src/routes/Publish/Step.module.scss @@ -0,0 +1,5 @@ +@import '../../styles/variables'; + +.title { + font-size: $font-size-h2; +} diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx new file mode 100644 index 0000000..56f72b7 --- /dev/null +++ b/src/routes/Publish/Step.tsx @@ -0,0 +1,121 @@ +import React, { PureComponent } from 'react' +import Input from '../../components/atoms/Form/Input' +import Label from '../../components/atoms/Form/Label' +import Row from '../../components/atoms/Form/Row' +import Button from '../../components/atoms/Button' +import { User } from '../../context/User' +import Files from './Files/' +import styles from './Step.module.scss' + +interface StepProps { + currentStep: number + index: number + inputChange: any + inputToArrayChange: any + fields?: any[] + files?: any + state: any + title: string + next: any + prev: any +} + +export default class Step extends PureComponent { + public previousButton() { + let { currentStep, prev } = this.props + + if (currentStep !== 1) { + return + } + return null + } + + public nextButton() { + let { currentStep, next } = this.props + if (currentStep < 3) { + return + } + return null + } + + public render() { + const { + currentStep, + index, + title, + fields, + inputChange, + inputToArrayChange, + files, + state + } = this.props + + if (currentStep !== index + 1) { + return null + } + + return ( + <> +

{title}

+ {fields && + Object.entries(fields).map(([key, value]) => { + let onChange = inputChange + + if (key === 'files' || key === 'categories') { + onChange = inputToArrayChange + } + + if (key === 'files') { + return ( + + + + + ) + } + + return ( + + ) + })} + + {this.previousButton()} + {this.nextButton()} + + + {states => + states.isLogged ? ( + + ) : ( + + ) + } + + + ) + } +} + +Step.contextType = User diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 8e23393..f27f981 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -1,15 +1,10 @@ import React, { ChangeEvent, Component, FormEvent } from 'react' import { Logger } from '@oceanprotocol/squid' import Route from '../../components/templates/Route' -import Button from '../../components/atoms/Button' import Form from '../../components/atoms/Form/Form' -import Input from '../../components/atoms/Form/Input' -import Label from '../../components/atoms/Form/Label' -import Row from '../../components/atoms/Form/Row' -import { User } from '../../context/User' import AssetModel from '../../models/AssetModel' import Web3message from '../../components/Web3message' -import Files from './Files/' +import Step from './Step' import form from '../../data/form-publish.json' @@ -19,7 +14,7 @@ interface PublishState { name?: string dateCreated?: Date description?: string - files?: any[] + files?: string[] price?: number author?: string type?: AssetType @@ -31,10 +26,12 @@ interface PublishState { isPublished?: boolean publishedDid?: string publishingError?: string + currentStep?: number } class Publish extends Component<{}, PublishState> { public state = { + currentStep: 1, name: '', dateCreated: new Date(), description: '', @@ -51,48 +48,6 @@ class Publish extends Component<{}, PublishState> { publishingError: '' } - public formFields = (entries: any[]) => - entries.map(([key, value]) => { - let onChange = this.inputChange - - if (key === 'files' || key === 'categories') { - onChange = this.inputToArrayChange - } - - if (key === 'files') { - return ( - - - - - ) - } - - return ( - - ) - }) - private inputChange = ( event: ChangeEvent | ChangeEvent ) => { @@ -113,6 +68,22 @@ class Publish extends Component<{}, PublishState> { this.setState({ publishingError: '' }) } + private next = () => { + let { currentStep } = this.state + currentStep = currentStep >= 2 ? 3 : currentStep + 1 + this.setState({ + currentStep: currentStep + }) + } + + private prev = () => { + let { currentStep } = this.state + currentStep = currentStep <= 1 ? 1 : currentStep - 1 + this.setState({ + currentStep: currentStep + }) + } + private toStart = () => { this.setState({ name: '', @@ -187,8 +158,6 @@ class Publish extends Component<{}, PublishState> { } public render() { - const entries = Object.entries(form.fields) - return ( @@ -200,25 +169,27 @@ class Publish extends Component<{}, PublishState> { ) : this.state.isPublished ? ( this.publishedState() ) : ( -
- {this.formFields(entries)} + <> +

Step {this.state.currentStep}

- - {states => - states.isLogged ? ( - - ) : ( - - ) - } - -
+
+ {form.steps.map((step: any, index: number) => ( + + ))} + + )}
) @@ -249,5 +220,4 @@ class Publish extends Component<{}, PublishState> { } } -Publish.contextType = User export default Publish From 720705cb6cab0137be4bc9e9e3a94df679a9ea42 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 19 Feb 2019 17:26:15 +0100 Subject: [PATCH 19/66] step & button fixes --- src/data/form-publish.json | 6 ------ src/routes/Publish/Step.tsx | 35 ++++++++++++++++++++--------------- src/routes/Publish/index.tsx | 14 +++++++------- 3 files changed, 27 insertions(+), 28 deletions(-) diff --git a/src/data/form-publish.json b/src/data/form-publish.json index 37c7c6e..5c57de2 100644 --- a/src/data/form-publish.json +++ b/src/data/form-publish.json @@ -100,12 +100,6 @@ ] } } - }, - { - "title": "Wallet" - }, - { - "title": "Complete" } ] } diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 56f72b7..6677e1a 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -1,4 +1,4 @@ -import React, { PureComponent } from 'react' +import React, { PureComponent, FormEvent } from 'react' import Input from '../../components/atoms/Form/Input' import Label from '../../components/atoms/Form/Label' import Row from '../../components/atoms/Form/Row' @@ -18,6 +18,7 @@ interface StepProps { title: string next: any prev: any + totalSteps: number } export default class Step extends PureComponent { @@ -31,8 +32,9 @@ export default class Step extends PureComponent { } public nextButton() { - let { currentStep, next } = this.props - if (currentStep < 3) { + let { currentStep, next, totalSteps } = this.props + + if (currentStep < totalSteps) { return } return null @@ -47,7 +49,8 @@ export default class Step extends PureComponent { inputChange, inputToArrayChange, files, - state + state, + totalSteps } = this.props if (currentStep !== index + 1) { @@ -102,17 +105,19 @@ export default class Step extends PureComponent { {this.previousButton()} {this.nextButton()} - - {states => - states.isLogged ? ( - - ) : ( - - ) - } - + {currentStep === totalSteps && ( + + {states => + states.isLogged ? ( + + ) : ( + + ) + } + + )} ) } diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index f27f981..3583534 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -70,18 +70,17 @@ class Publish extends Component<{}, PublishState> { private next = () => { let { currentStep } = this.state - currentStep = currentStep >= 2 ? 3 : currentStep + 1 - this.setState({ - currentStep: currentStep - }) + const totalSteps = form.steps.length + + currentStep = + currentStep >= totalSteps - 1 ? totalSteps : currentStep + 1 + this.setState({ currentStep }) } private prev = () => { let { currentStep } = this.state currentStep = currentStep <= 1 ? 1 : currentStep - 1 - this.setState({ - currentStep: currentStep - }) + this.setState({ currentStep }) } private toStart = () => { @@ -186,6 +185,7 @@ class Publish extends Component<{}, PublishState> { state={this.state} next={this.next} prev={this.prev} + totalSteps={form.steps.length} /> ))} From 2597e8a63ce5fbb3b401eb241706bfc134805fa1 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 19 Feb 2019 17:39:53 +0100 Subject: [PATCH 20/66] progress component setup --- src/routes/Publish/Progress.tsx | 26 ++++++++++++++++++++++++++ src/routes/Publish/index.tsx | 7 ++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/routes/Publish/Progress.tsx diff --git a/src/routes/Publish/Progress.tsx b/src/routes/Publish/Progress.tsx new file mode 100644 index 0000000..91e6cb3 --- /dev/null +++ b/src/routes/Publish/Progress.tsx @@ -0,0 +1,26 @@ +import React from 'react' + +const Progress = ({ + currentStep, + totalSteps, + steps +}: { + currentStep: number + totalSteps: number + steps: any[] +}) => { + return ( + + ) +} + +export default Progress diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 3583534..f035ec5 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -5,6 +5,7 @@ import Form from '../../components/atoms/Form/Form' import AssetModel from '../../models/AssetModel' import Web3message from '../../components/Web3message' import Step from './Step' +import Progress from './Progress' import form from '../../data/form-publish.json' @@ -169,7 +170,11 @@ class Publish extends Component<{}, PublishState> { this.publishedState() ) : ( <> -

Step {this.state.currentStep}

+
{form.steps.map((step: any, index: number) => ( From 73f479be22c31f2d3b31793bf0720bd661ed105c Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 11:12:10 +0100 Subject: [PATCH 21/66] add step descriptions, button layout --- src/data/form-publish.json | 3 ++ src/routes/Publish/Step.module.scss | 23 ++++++++++++++ src/routes/Publish/Step.tsx | 48 ++++++++++++++++++----------- src/routes/Publish/index.tsx | 1 + 4 files changed, 57 insertions(+), 18 deletions(-) diff --git a/src/data/form-publish.json b/src/data/form-publish.json index 5c57de2..965c4dd 100644 --- a/src/data/form-publish.json +++ b/src/data/form-publish.json @@ -4,6 +4,7 @@ "steps": [ { "title": "Essentials", + "description": "A description about these essential fields", "fields": { "name": { "label": "Title", @@ -23,6 +24,7 @@ }, { "title": "Information", + "description": "A description about these fields", "fields": { "description": { "label": "Description", @@ -72,6 +74,7 @@ }, { "title": "Credentials", + "description": "A description about these credentials fields", "fields": { "author": { "label": "Author", diff --git a/src/routes/Publish/Step.module.scss b/src/routes/Publish/Step.module.scss index e56002c..0ee678a 100644 --- a/src/routes/Publish/Step.module.scss +++ b/src/routes/Publish/Step.module.scss @@ -1,5 +1,28 @@ @import '../../styles/variables'; +.header { + margin-bottom: $spacer * 1.5; + border-bottom: .1rem solid $brand-grey-lighter; +} + .title { font-size: $font-size-h2; + margin: 0; +} + +.description { + margin-top: $spacer / 4; +} + +.actions { + display: flex; + justify-content: space-between; + border-top: .1rem solid $brand-grey-lighter; + padding-top: $spacer; + margin-top: $spacer * 2; + + button:last-child { + min-width: 12rem; + margin-left: auto; + } } diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 6677e1a..6d2e88f 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -16,6 +16,7 @@ interface StepProps { files?: any state: any title: string + description: string next: any prev: any totalSteps: number @@ -26,7 +27,11 @@ export default class Step extends PureComponent { let { currentStep, prev } = this.props if (currentStep !== 1) { - return + return ( + + ) } return null } @@ -35,7 +40,7 @@ export default class Step extends PureComponent { let { currentStep, next, totalSteps } = this.props if (currentStep < totalSteps) { - return + return } return null } @@ -45,6 +50,7 @@ export default class Step extends PureComponent { currentStep, index, title, + description, fields, inputChange, inputToArrayChange, @@ -59,7 +65,11 @@ export default class Step extends PureComponent { return ( <> -

{title}

+
+

{title}

+

{description}

+
+ {fields && Object.entries(fields).map(([key, value]) => { let onChange = inputChange @@ -102,22 +112,24 @@ export default class Step extends PureComponent { ) })} - {this.previousButton()} - {this.nextButton()} +
+ {this.previousButton()} + {this.nextButton()} - {currentStep === totalSteps && ( - - {states => - states.isLogged ? ( - - ) : ( - - ) - } - - )} + {currentStep === totalSteps && ( + + {states => + states.isLogged ? ( + + ) : ( + + ) + } + + )} +
) } diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index f035ec5..298f9f0 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -182,6 +182,7 @@ class Publish extends Component<{}, PublishState> { key={index} index={index} title={step.title} + description={step.description} currentStep={this.state.currentStep} fields={step.fields} inputChange={this.inputChange} From ab315532c70ea03305df310d4b47223221fbf9ad Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 12:33:04 +0100 Subject: [PATCH 22/66] progress styling, visually structure form, lots of tweaks --- src/components/atoms/Form/Form.module.scss | 4 ++ src/data/form-publish.json | 7 +- src/routes/Publish/Progress.module.scss | 76 ++++++++++++++++++++++ src/routes/Publish/Progress.tsx | 30 +++++---- src/routes/Publish/Step.module.scss | 3 +- src/routes/Publish/Step.tsx | 13 +++- src/routes/Publish/index.tsx | 10 +-- 7 files changed, 119 insertions(+), 24 deletions(-) create mode 100644 src/routes/Publish/Progress.module.scss diff --git a/src/components/atoms/Form/Form.module.scss b/src/components/atoms/Form/Form.module.scss index 27fb268..b7d8752 100644 --- a/src/components/atoms/Form/Form.module.scss +++ b/src/components/atoms/Form/Form.module.scss @@ -2,6 +2,10 @@ .form { width: 100%; + background: $brand-white; + padding: $spacer; + border: 1px solid $brand-grey-lighter; + border-radius: $border-radius; fieldset { border: 0; diff --git a/src/data/form-publish.json b/src/data/form-publish.json index 965c4dd..6b9aba8 100644 --- a/src/data/form-publish.json +++ b/src/data/form-publish.json @@ -18,7 +18,7 @@ "placeholder": "i.e. https://file.com/file.json", "type": "text", "required": true, - "help": "Provide one or multiple links to your data files." + "help": "Provide one or multiple urls to your data set files." } } }, @@ -73,7 +73,7 @@ } }, { - "title": "Credentials", + "title": "Authorship", "description": "A description about these credentials fields", "fields": { "author": { @@ -103,6 +103,9 @@ ] } } + }, + { + "title": "Register" } ] } diff --git a/src/routes/Publish/Progress.module.scss b/src/routes/Publish/Progress.module.scss new file mode 100644 index 0000000..6e89805 --- /dev/null +++ b/src/routes/Publish/Progress.module.scss @@ -0,0 +1,76 @@ +@import '../../styles/variables'; + +.progress { + display: block; + padding: 0; + position: relative; + margin-top: $spacer * 1.5; + margin-bottom: $spacer; +} + +.item { + display: inline-block; + width: 25%; + text-align: center; + color: $brand-grey-light; + + &:before { + content: ''; + display: block; + width: 60%; + height: .1rem; + background: $brand-grey-lighter; + position: absolute; + top: 20%; + left: -30%; + } + + &:first-child { + &:before { + display: none; + } + } + + span { + display: block; + } +} + +.active { + composes: item; + font-family: $font-family-button; + font-weight: $font-weight-bold; + color: $brand-black; + + .number { + background: $brand-black; + } + + &:before { + background: $green; + } +} + +.completed { + composes: active; + + .number { + background: $green; + } +} + +.label { + margin-top: $spacer / 8; + font-size: $font-size-small; +} + +.number { + width: 1.6rem; + height: 1.6rem; + margin: auto; + border-radius: 50%; + background: $brand-grey-light; + color: $brand-white; + font-family: $font-family-button; + font-weight: $font-weight-bold; +} diff --git a/src/routes/Publish/Progress.tsx b/src/routes/Publish/Progress.tsx index 91e6cb3..5880dec 100644 --- a/src/routes/Publish/Progress.tsx +++ b/src/routes/Publish/Progress.tsx @@ -1,25 +1,31 @@ import React from 'react' +import styles from './Progress.module.scss' const Progress = ({ currentStep, - totalSteps, steps }: { currentStep: number - totalSteps: number steps: any[] }) => { return ( - +
    + {steps.map(({ title }, index) => ( +
  • index + 1 + ? styles.completed + : styles.item + } + > + {index + 1} + {title} +
  • + ))} +
) } diff --git a/src/routes/Publish/Step.module.scss b/src/routes/Publish/Step.module.scss index 0ee678a..97d8555 100644 --- a/src/routes/Publish/Step.module.scss +++ b/src/routes/Publish/Step.module.scss @@ -2,7 +2,6 @@ .header { margin-bottom: $spacer * 1.5; - border-bottom: .1rem solid $brand-grey-lighter; } .title { @@ -19,7 +18,7 @@ justify-content: space-between; border-top: .1rem solid $brand-grey-lighter; padding-top: $spacer; - margin-top: $spacer * 2; + margin-top: $spacer; button:last-child { min-width: 12rem; diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 6d2e88f..c8236ee 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -1,8 +1,9 @@ -import React, { PureComponent, FormEvent } from 'react' +import React, { PureComponent } from 'react' import Input from '../../components/atoms/Form/Input' import Label from '../../components/atoms/Form/Label' import Row from '../../components/atoms/Form/Row' import Button from '../../components/atoms/Button' +import Web3message from '../../components/Web3message' import { User } from '../../context/User' import Files from './Files/' import styles from './Step.module.scss' @@ -20,6 +21,7 @@ interface StepProps { next: any prev: any totalSteps: number + component?: string } export default class Step extends PureComponent { @@ -56,13 +58,16 @@ export default class Step extends PureComponent { inputToArrayChange, files, state, - totalSteps + totalSteps, + component } = this.props if (currentStep !== index + 1) { return null } + const lastStep = currentStep === totalSteps + return ( <>
@@ -112,11 +117,13 @@ export default class Step extends PureComponent { ) })} + {lastStep && } +
{this.previousButton()} {this.nextButton()} - {currentStep === totalSteps && ( + {lastStep && ( {states => states.isLogged ? ( diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 298f9f0..ff5600a 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -3,7 +3,6 @@ import { Logger } from '@oceanprotocol/squid' import Route from '../../components/templates/Route' import Form from '../../components/atoms/Form/Form' import AssetModel from '../../models/AssetModel' -import Web3message from '../../components/Web3message' import Step from './Step' import Progress from './Progress' @@ -159,9 +158,10 @@ class Publish extends Component<{}, PublishState> { public render() { return ( - - - + {this.state.isPublishing ? ( this.publishingState() ) : this.state.publishingError ? ( @@ -173,7 +173,6 @@ class Publish extends Component<{}, PublishState> { @@ -192,6 +191,7 @@ class Publish extends Component<{}, PublishState> { next={this.next} prev={this.prev} totalSteps={form.steps.length} + component={step.component} /> ))} From 2688a7a8c505a89a7ac5ab803abe8950baaf81c2 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 13:46:54 +0100 Subject: [PATCH 23/66] move register feedback onto last step --- src/components/atoms/Spinner.module.scss | 6 +- src/routes/Publish/Step.module.scss | 7 +- src/routes/Publish/Step.tsx | 21 ++++-- src/routes/Publish/StepRegisterContent.tsx | 52 +++++++++++++ src/routes/Publish/index.tsx | 88 +++++++--------------- 5 files changed, 99 insertions(+), 75 deletions(-) create mode 100644 src/routes/Publish/StepRegisterContent.tsx diff --git a/src/components/atoms/Spinner.module.scss b/src/components/atoms/Spinner.module.scss index 78992c6..f89de59 100644 --- a/src/components/atoms/Spinner.module.scss +++ b/src/components/atoms/Spinner.module.scss @@ -3,7 +3,8 @@ .spinner { position: relative; text-align: center; - margin-bottom: $spacer / 2; + margin-bottom: $spacer * 2; + margin-top: $spacer * 2; &:before { content: ''; @@ -13,7 +14,7 @@ left: 50%; width: 20px; height: 20px; - margin-top: -10px; + margin-top: -20px; margin-left: -10px; border-radius: 50%; border: 2px solid $brand-purple; @@ -24,7 +25,6 @@ .spinnerMessage { color: $brand-grey-light; - margin-top: $spacer / 2; } @keyframes spinner { diff --git a/src/routes/Publish/Step.module.scss b/src/routes/Publish/Step.module.scss index 97d8555..e96ea6d 100644 --- a/src/routes/Publish/Step.module.scss +++ b/src/routes/Publish/Step.module.scss @@ -1,7 +1,7 @@ @import '../../styles/variables'; .header { - margin-bottom: $spacer * 1.5; + margin-bottom: $spacer; } .title { @@ -11,14 +11,13 @@ .description { margin-top: $spacer / 4; + margin-bottom: 0; } .actions { display: flex; justify-content: space-between; - border-top: .1rem solid $brand-grey-lighter; - padding-top: $spacer; - margin-top: $spacer; + margin-top: $spacer * 2; button:last-child { min-width: 12rem; diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index c8236ee..899b767 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -3,9 +3,9 @@ import Input from '../../components/atoms/Form/Input' import Label from '../../components/atoms/Form/Label' import Row from '../../components/atoms/Form/Row' import Button from '../../components/atoms/Button' -import Web3message from '../../components/Web3message' import { User } from '../../context/User' import Files from './Files/' +import StepRegisterContent from './StepRegisterContent' import styles from './Step.module.scss' interface StepProps { @@ -14,14 +14,15 @@ interface StepProps { inputChange: any inputToArrayChange: any fields?: any[] - files?: any state: any title: string description: string next: any prev: any totalSteps: number - component?: string + tryAgain: any + toStart: any + publishedDid?: string } export default class Step extends PureComponent { @@ -56,10 +57,10 @@ export default class Step extends PureComponent { fields, inputChange, inputToArrayChange, - files, state, totalSteps, - component + tryAgain, + toStart } = this.props if (currentStep !== index + 1) { @@ -93,7 +94,7 @@ export default class Step extends PureComponent { placeholder={value.placeholder} name={value.name} help={value.help} - files={files} + files={state.files} onChange={onChange} /> @@ -117,7 +118,13 @@ export default class Step extends PureComponent { ) })} - {lastStep && } + {lastStep && ( + + )}
{this.previousButton()} diff --git a/src/routes/Publish/StepRegisterContent.tsx b/src/routes/Publish/StepRegisterContent.tsx new file mode 100644 index 0000000..6b7aa6e --- /dev/null +++ b/src/routes/Publish/StepRegisterContent.tsx @@ -0,0 +1,52 @@ +import React, { PureComponent } from 'react' +import Web3message from '../../components/Web3message' +import Spinner from '../../components/atoms/Spinner' + +interface StepRegisterContentProps { + tryAgain: any + toStart: any + state: any +} + +export default class StepRegisterContent extends PureComponent< + StepRegisterContentProps, + {} +> { + public publishingState = () => ( + + ) + + public errorState = () => ( +
+ Something went wrong,{' '} + this.props.tryAgain()}>try again +
+ ) + + public publishedState = () => ( +
+ Your asset is published! See it{' '} + here, submit + another asset by clicking{' '} + this.props.toStart()}>here +
+ ) + + public render() { + return ( + <> + + + {this.props.state.isPublishing ? ( + this.publishingState() + ) : this.props.state.publishingError ? ( + this.errorState() + ) : this.props.state.isPublished ? ( + this.publishedState() + ) : ( +
Hello
+ )} + + ) + } +} diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index ff5600a..7c91762 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -64,10 +64,6 @@ class Publish extends Component<{}, PublishState> { }) } - private tryAgain = () => { - this.setState({ publishingError: '' }) - } - private next = () => { let { currentStep } = this.state const totalSteps = form.steps.length @@ -83,6 +79,10 @@ class Publish extends Component<{}, PublishState> { this.setState({ currentStep }) } + private tryAgain = () => { + this.setState({ publishingError: '' }) + } + private toStart = () => { this.setState({ name: '', @@ -162,68 +162,34 @@ class Publish extends Component<{}, PublishState> { title="Publish" description="Publish a new data set into the Ocean Protocol Network." > - {this.state.isPublishing ? ( - this.publishingState() - ) : this.state.publishingError ? ( - this.errorState() - ) : this.state.isPublished ? ( - this.publishedState() - ) : ( - <> - + +
+ {form.steps.map((step: any, index: number) => ( + - - - {form.steps.map((step: any, index: number) => ( - - ))} - - - )} + ))} + ) } - - public publishingState = () => { - return
Please sign with your crypto wallet
- } - - public errorState = () => { - return ( -
- Something went wrong,{' '} - this.tryAgain()}>try again -
- ) - } - - public publishedState = () => { - return ( -
- Your asset is published! See it{' '} - here, submit - another asset by clicking{' '} - this.toStart()}>here -
- ) - } } export default Publish From 2656bdb5153fa8faa091b2956b00c9051871fb9a Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 14:07:29 +0100 Subject: [PATCH 24/66] fix resetting form --- src/routes/Publish/Step.module.scss | 2 +- src/routes/Publish/StepRegisterContent.tsx | 4 ++-- src/routes/Publish/index.tsx | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/routes/Publish/Step.module.scss b/src/routes/Publish/Step.module.scss index e96ea6d..692e8d4 100644 --- a/src/routes/Publish/Step.module.scss +++ b/src/routes/Publish/Step.module.scss @@ -17,7 +17,7 @@ .actions { display: flex; justify-content: space-between; - margin-top: $spacer * 2; + padding-top: $spacer / 2; button:last-child { min-width: 12rem; diff --git a/src/routes/Publish/StepRegisterContent.tsx b/src/routes/Publish/StepRegisterContent.tsx index 6b7aa6e..c3e4f2b 100644 --- a/src/routes/Publish/StepRegisterContent.tsx +++ b/src/routes/Publish/StepRegisterContent.tsx @@ -24,12 +24,12 @@ export default class StepRegisterContent extends PureComponent< ) public publishedState = () => ( -
+

Your asset is published! See it{' '} here, submit another asset by clicking{' '} this.props.toStart()}>here -

+

) public render() { diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 7c91762..bd8e30d 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -96,7 +96,8 @@ class Publish extends Component<{}, PublishState> { copyrightHolder: '', categories: [], isPublishing: false, - isPublished: false + isPublished: false, + currentStep: 1 }) } From 1fee0cfc66f83a0ac5033e2f7c2672eeba7f1084 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 14:35:41 +0100 Subject: [PATCH 25/66] basic feedback message styling, fix publishing --- src/components/atoms/Spinner.module.scss | 2 +- src/data/form-publish.json | 4 +++- src/routes/Publish/Step.tsx | 5 ++++- src/routes/Publish/StepRegisterContent.module.scss | 5 +++++ src/routes/Publish/StepRegisterContent.tsx | 10 ++++++---- src/routes/Publish/index.tsx | 3 +++ 6 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 src/routes/Publish/StepRegisterContent.module.scss diff --git a/src/components/atoms/Spinner.module.scss b/src/components/atoms/Spinner.module.scss index f89de59..c5705f6 100644 --- a/src/components/atoms/Spinner.module.scss +++ b/src/components/atoms/Spinner.module.scss @@ -3,7 +3,7 @@ .spinner { position: relative; text-align: center; - margin-bottom: $spacer * 2; + margin-bottom: $spacer; margin-top: $spacer * 2; &:before { diff --git a/src/data/form-publish.json b/src/data/form-publish.json index 6b9aba8..a8bc3e4 100644 --- a/src/data/form-publish.json +++ b/src/data/form-publish.json @@ -105,7 +105,9 @@ } }, { - "title": "Register" + "title": "Register", + "description": "We got all the data, now let's register your data set.", + "content": "After clicking the button below you will be asked by your wallet to sign this request." } ] } diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 899b767..90fc1fa 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -23,6 +23,7 @@ interface StepProps { tryAgain: any toStart: any publishedDid?: string + content?: string } export default class Step extends PureComponent { @@ -60,7 +61,8 @@ export default class Step extends PureComponent { state, totalSteps, tryAgain, - toStart + toStart, + content } = this.props if (currentStep !== index + 1) { @@ -123,6 +125,7 @@ export default class Step extends PureComponent { tryAgain={tryAgain} toStart={toStart} state={state} + content={content} /> )} diff --git a/src/routes/Publish/StepRegisterContent.module.scss b/src/routes/Publish/StepRegisterContent.module.scss new file mode 100644 index 0000000..60a5936 --- /dev/null +++ b/src/routes/Publish/StepRegisterContent.module.scss @@ -0,0 +1,5 @@ +@import '../../styles/variables'; + +.message { + margin-bottom: $spacer; +} diff --git a/src/routes/Publish/StepRegisterContent.tsx b/src/routes/Publish/StepRegisterContent.tsx index c3e4f2b..ea1a718 100644 --- a/src/routes/Publish/StepRegisterContent.tsx +++ b/src/routes/Publish/StepRegisterContent.tsx @@ -1,11 +1,13 @@ import React, { PureComponent } from 'react' import Web3message from '../../components/Web3message' import Spinner from '../../components/atoms/Spinner' +import styles from './StepRegisterContent.module.scss' interface StepRegisterContentProps { tryAgain: any toStart: any state: any + content?: string } export default class StepRegisterContent extends PureComponent< @@ -17,19 +19,19 @@ export default class StepRegisterContent extends PureComponent< ) public errorState = () => ( -
+
Something went wrong,{' '} this.props.tryAgain()}>try again
) public publishedState = () => ( -

+

Your asset is published! See it{' '} here, submit another asset by clicking{' '} this.props.toStart()}>here -

+
) public render() { @@ -44,7 +46,7 @@ export default class StepRegisterContent extends PureComponent< ) : this.props.state.isPublished ? ( this.publishedState() ) : ( -
Hello
+

{this.props.content}

)} ) diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index bd8e30d..efcf0fa 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -3,6 +3,7 @@ import { Logger } from '@oceanprotocol/squid' import Route from '../../components/templates/Route' import Form from '../../components/atoms/Form/Form' import AssetModel from '../../models/AssetModel' +import { User } from '../../context/User' import Step from './Step' import Progress from './Progress' @@ -185,6 +186,7 @@ class Publish extends Component<{}, PublishState> { totalSteps={form.steps.length} tryAgain={this.tryAgain} toStart={this.toStart} + content={step.content} /> ))} @@ -193,4 +195,5 @@ class Publish extends Component<{}, PublishState> { } } +Publish.contextType = User export default Publish From d58a5f1f1b7ab8e9a7fa0c6b22ab07043833bfc1 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 14:58:55 +0100 Subject: [PATCH 26/66] prepare disabling button based on form validation --- src/components/atoms/Button.module.scss | 3 +-- src/components/atoms/Button.tsx | 1 + src/routes/Publish/Step.tsx | 19 +++++++++++++++++-- src/routes/Publish/index.tsx | 8 +++----- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/components/atoms/Button.module.scss b/src/components/atoms/Button.module.scss index 8805c03..4a98a2c 100644 --- a/src/components/atoms/Button.module.scss +++ b/src/components/atoms/Button.module.scss @@ -37,10 +37,9 @@ } &:disabled { - color: rgba($brand-white, .7); cursor: not-allowed; pointer-events: none; - opacity: .8; + opacity: .5; } } diff --git a/src/components/atoms/Button.tsx b/src/components/atoms/Button.tsx index 312565b..473db50 100644 --- a/src/components/atoms/Button.tsx +++ b/src/components/atoms/Button.tsx @@ -9,6 +9,7 @@ interface ButtonProps { link?: boolean href?: string onClick?: any + disabled?: boolean } export default class Button extends PureComponent { diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 90fc1fa..c54f0e6 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -26,7 +26,17 @@ interface StepProps { content?: string } -export default class Step extends PureComponent { +interface StepState { + inputInvalid: boolean +} + +export default class Step extends PureComponent { + public state = { + // TODO: manipulate with some form validation for every step, + // should be 'true' by default here + inputInvalid: false + } + public previousButton() { let { currentStep, prev } = this.props @@ -42,9 +52,14 @@ export default class Step extends PureComponent { public nextButton() { let { currentStep, next, totalSteps } = this.props + const { inputInvalid } = this.state if (currentStep < totalSteps) { - return + return ( + + ) } return null } diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index efcf0fa..4982ce5 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -108,7 +108,8 @@ class Publish extends Component<{}, PublishState> { publishingError: '', isPublishing: true }) - const account = await this.context.ocean.getAccounts() + const { ocean } = this.context + const account = await ocean.getAccounts() const newAsset = { // OEP-08 Attributes // https://github.com/oceanprotocol/OEPs/tree/master/8 @@ -138,10 +139,7 @@ class Publish extends Component<{}, PublishState> { } try { - const asset = await this.context.ocean.registerAsset( - newAsset, - account[0] - ) + const asset = await ocean.registerAsset(newAsset, account[0]) this.setState({ publishedDid: asset.id, isPublished: true From c155f22955e8d446588cbf1529bd1d1b80d1fc6b Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Wed, 20 Feb 2019 16:50:27 +0100 Subject: [PATCH 27/66] hack in some basic input validation --- src/routes/Publish/Step.tsx | 22 +++++---------- src/routes/Publish/index.tsx | 55 +++++++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 16 deletions(-) diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index c54f0e6..4001f54 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -26,19 +26,9 @@ interface StepProps { content?: string } -interface StepState { - inputInvalid: boolean -} - -export default class Step extends PureComponent { - public state = { - // TODO: manipulate with some form validation for every step, - // should be 'true' by default here - inputInvalid: false - } - +export default class Step extends PureComponent { public previousButton() { - let { currentStep, prev } = this.props + const { currentStep, prev } = this.props if (currentStep !== 1) { return ( @@ -51,12 +41,14 @@ export default class Step extends PureComponent { } public nextButton() { - let { currentStep, next, totalSteps } = this.props - const { inputInvalid } = this.state + const { currentStep, next, totalSteps, state } = this.props if (currentStep < totalSteps) { return ( - ) diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 4982ce5..7b7da1b 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -28,6 +28,7 @@ interface PublishState { publishedDid?: string publishingError?: string currentStep?: number + validationStatus?: any } class Publish extends Component<{}, PublishState> { @@ -46,12 +47,19 @@ class Publish extends Component<{}, PublishState> { isPublishing: false, isPublished: false, publishedDid: '', - publishingError: '' + publishingError: '', + validationStatus: { + 1: false, + 2: false, + 3: false + } } private inputChange = ( event: ChangeEvent | ChangeEvent ) => { + this.validateInputs(event.currentTarget.name, event.currentTarget.value) + this.setState({ [event.currentTarget.name]: event.currentTarget.value }) @@ -102,6 +110,51 @@ class Publish extends Component<{}, PublishState> { }) } + private validateInputs = (name: string, value: any) => { + // Step 1 + if (name === 'name') { + if (value !== '') { + this.setState({ + validationStatus: { 1: true } + }) + } else { + this.setState({ + validationStatus: { 1: false } + }) + } + } + + // Step 2 + if (name === 'description') { + if (value !== '') { + this.setState({ + validationStatus: { 2: true } + }) + } else { + this.setState({ + validationStatus: { 2: false } + }) + } + } + + // Step 3 + if ( + name === 'author' || + name === 'copyrightHolder' || + name === 'license' + ) { + if (value !== '') { + this.setState({ + validationStatus: { 3: true } + }) + } else { + this.setState({ + validationStatus: { 3: false } + }) + } + } + } + private registerAsset = async (event: FormEvent) => { event.preventDefault() this.setState({ From b61d1cc63738feaa65e01ab10e8e784e9467ef60 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 21 Feb 2019 14:35:25 +0100 Subject: [PATCH 28/66] new form validation mechanism --- src/routes/Publish/Files/index.tsx | 2 +- src/routes/Publish/Step.tsx | 6 +- src/routes/Publish/index.tsx | 104 ++++++++++++++++++----------- 3 files changed, 69 insertions(+), 43 deletions(-) diff --git a/src/routes/Publish/Files/index.tsx b/src/routes/Publish/Files/index.tsx index 600fb61..c50e7cf 100644 --- a/src/routes/Publish/Files/index.tsx +++ b/src/routes/Publish/Files/index.tsx @@ -52,7 +52,7 @@ export default class Files extends PureComponent { diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 4001f54..7d06e6d 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -46,7 +46,9 @@ export default class Step extends PureComponent { if (currentStep < totalSteps) { return ( ) } From dbd765124a9383111f0cc4f0645952a7df9a83cf Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 28 Feb 2019 13:12:48 -0300 Subject: [PATCH 33/66] put faucet onto its own page --- src/Routes.tsx | 2 + .../molecules/AccountStatus/Faucet.tsx | 60 ----------------- .../molecules/AccountStatus/Indicator.tsx | 2 +- .../molecules/AccountStatus/Popover.tsx | 6 +- src/data/menu.json | 4 ++ src/routes/Faucet.module.scss | 2 + src/routes/Faucet.tsx | 65 +++++++++++++++++++ 7 files changed, 77 insertions(+), 64 deletions(-) delete mode 100644 src/components/molecules/AccountStatus/Faucet.tsx create mode 100644 src/routes/Faucet.module.scss create mode 100644 src/routes/Faucet.tsx diff --git a/src/Routes.tsx b/src/Routes.tsx index 84fef08..4b82bf3 100644 --- a/src/Routes.tsx +++ b/src/Routes.tsx @@ -7,6 +7,7 @@ import Home from './routes/Home' import NotFound from './routes/NotFound' import Publish from './routes/Publish/' import Search from './routes/Search' +import Faucet from './routes/Faucet' import Styleguide from './routes/Styleguide' const Routes = () => ( @@ -17,6 +18,7 @@ const Routes = () => ( + ) diff --git a/src/components/molecules/AccountStatus/Faucet.tsx b/src/components/molecules/AccountStatus/Faucet.tsx deleted file mode 100644 index 7b1ea80..0000000 --- a/src/components/molecules/AccountStatus/Faucet.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import React, { PureComponent } from 'react' -import Button from '../../atoms/Button' -import { User } from '../../../context/User' - -interface FaucetProps { - togglePopover: any -} - -interface FaucetState { - isLoading: boolean - success?: string - error?: string -} - -export default class Faucet extends PureComponent { - public state = { - isLoading: false, - success: undefined, - error: undefined - } - - private getTokens = async (requestFromFaucet: any) => { - // prevent popup from closing on click - this.props.togglePopover() - - this.setState({ isLoading: true }) - - try { - await requestFromFaucet() - this.setState({ isLoading: false, success: 'Tokens added!' }) - } catch (error) { - this.setState({ isLoading: false, error }) - } - } - - public render() { - return ( - - {states => - this.state.isLoading ? ( - 'Getting tokens...' - ) : this.state.error ? ( - this.state.error - ) : this.state.success ? ( - this.state.success - ) : ( - - ) - } - - ) - } -} diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/src/components/molecules/AccountStatus/Indicator.tsx index aa3c6e0..52c2d86 100644 --- a/src/components/molecules/AccountStatus/Indicator.tsx +++ b/src/components/molecules/AccountStatus/Indicator.tsx @@ -8,7 +8,7 @@ const Indicator = ({ togglePopover }: { className?: string - togglePopover: any + togglePopover: () => void }) => (
( +const Popover = ({ togglePopover }: { togglePopover: () => void }) => (
(
- + Request Ether
diff --git a/src/data/menu.json b/src/data/menu.json index 5dc0a19..b48c27b 100644 --- a/src/data/menu.json +++ b/src/data/menu.json @@ -3,6 +3,10 @@ "title": "Publish", "link": "/publish" }, + { + "title": "Faucet", + "link": "/faucet" + }, { "title": "About", "link": "/about" diff --git a/src/routes/Faucet.module.scss b/src/routes/Faucet.module.scss new file mode 100644 index 0000000..38b9719 --- /dev/null +++ b/src/routes/Faucet.module.scss @@ -0,0 +1,2 @@ +@import '../styles/variables'; + diff --git a/src/routes/Faucet.tsx b/src/routes/Faucet.tsx new file mode 100644 index 0000000..2a7ae5e --- /dev/null +++ b/src/routes/Faucet.tsx @@ -0,0 +1,65 @@ +import React, { PureComponent } from 'react' +import Route from '../components/templates/Route' +import Button from '../components/atoms/Button' +import { User } from '../context/User' +import Web3message from '../components/molecules/Web3message' +import styles from './Faucet.module.scss' + +interface FaucetState { + isLoading: boolean + success?: string + error?: string +} + +class Faucet extends PureComponent<{}, FaucetState> { + public state = { + isLoading: false, + success: undefined, + error: undefined + } + + private getTokens = async (requestFromFaucet: () => void) => { + this.setState({ isLoading: true }) + + try { + await requestFromFaucet() + this.setState({ isLoading: false, success: 'Tokens added!' }) + } catch (error) { + this.setState({ isLoading: false, error }) + } + } + + public render() { + return ( + + + + + {states => + this.state.isLoading ? ( + 'Getting tokens...' + ) : this.state.error ? ( + this.state.error + ) : this.state.success ? ( + this.state.success + ) : ( + + ) + } + + + ) + } +} + +export default Faucet From 94201d202168ef6b1ac265eb0e5cb2ffbf5199a3 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 28 Feb 2019 13:28:38 -0300 Subject: [PATCH 34/66] faucet styling --- src/components/atoms/Spinner.module.scss | 3 +- src/routes/Faucet.module.scss | 12 +++++ src/routes/Faucet.tsx | 62 +++++++++++++++--------- 3 files changed, 54 insertions(+), 23 deletions(-) diff --git a/src/components/atoms/Spinner.module.scss b/src/components/atoms/Spinner.module.scss index 78992c6..d2406f2 100644 --- a/src/components/atoms/Spinner.module.scss +++ b/src/components/atoms/Spinner.module.scss @@ -3,6 +3,7 @@ .spinner { position: relative; text-align: center; + margin-top: $spacer * $line-height; margin-bottom: $spacer / 2; &:before { @@ -13,7 +14,7 @@ left: 50%; width: 20px; height: 20px; - margin-top: -10px; + margin-top: -20px; margin-left: -10px; border-radius: 50%; border: 2px solid $brand-purple; diff --git a/src/routes/Faucet.module.scss b/src/routes/Faucet.module.scss index 38b9719..2aef577 100644 --- a/src/routes/Faucet.module.scss +++ b/src/routes/Faucet.module.scss @@ -1,2 +1,14 @@ @import '../styles/variables'; +.action { + text-align: center; + margin-top: $spacer * $line-height; + + p { + margin-bottom: $spacer; + } +} + +.success { + color: $green; +} diff --git a/src/routes/Faucet.tsx b/src/routes/Faucet.tsx index 2a7ae5e..28acefb 100644 --- a/src/routes/Faucet.tsx +++ b/src/routes/Faucet.tsx @@ -1,6 +1,7 @@ import React, { PureComponent } from 'react' import Route from '../components/templates/Route' import Button from '../components/atoms/Button' +import Spinner from '../components/atoms/Spinner' import { User } from '../context/User' import Web3message from '../components/molecules/Web3message' import styles from './Faucet.module.scss' @@ -9,13 +10,15 @@ interface FaucetState { isLoading: boolean success?: string error?: string + eth?: string } class Faucet extends PureComponent<{}, FaucetState> { public state = { isLoading: false, success: undefined, - error: undefined + error: undefined, + eth: 'xx' } private getTokens = async (requestFromFaucet: () => void) => { @@ -23,7 +26,12 @@ class Faucet extends PureComponent<{}, FaucetState> { try { await requestFromFaucet() - this.setState({ isLoading: false, success: 'Tokens added!' }) + this.setState({ + isLoading: false, + success: `Successfully added ${ + this.state.eth + } ETH to your account.` + }) } catch (error) { this.setState({ isLoading: false, error }) } @@ -37,26 +45,36 @@ class Faucet extends PureComponent<{}, FaucetState> { > - - {states => - this.state.isLoading ? ( - 'Getting tokens...' - ) : this.state.error ? ( - this.state.error - ) : this.state.success ? ( - this.state.success - ) : ( - - ) - } - +
+

+ Click the button below to request Ether for the Ocean + POA network. +
You can only request Ether once every 24 hours + for your address. +

+ + {states => + this.state.isLoading ? ( + + ) : this.state.error ? ( + this.state.error + ) : this.state.success ? ( +
+ {this.state.success} +
+ ) : ( + + ) + } +
+
) } From f21706bcf3faf15c52f7eea7d45327addda63dca Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 28 Feb 2019 13:39:35 -0300 Subject: [PATCH 35/66] shuffle copy around --- src/routes/Faucet.module.scss | 5 +++-- src/routes/Faucet.tsx | 13 ++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/routes/Faucet.module.scss b/src/routes/Faucet.module.scss index 2aef577..4ec11b4 100644 --- a/src/routes/Faucet.module.scss +++ b/src/routes/Faucet.module.scss @@ -2,10 +2,11 @@ .action { text-align: center; - margin-top: $spacer * $line-height; + margin-top: $spacer * 2; p { - margin-bottom: $spacer; + margin-top: $spacer; + color: $brand-grey-light; } } diff --git a/src/routes/Faucet.tsx b/src/routes/Faucet.tsx index 28acefb..2909dce 100644 --- a/src/routes/Faucet.tsx +++ b/src/routes/Faucet.tsx @@ -41,17 +41,11 @@ class Faucet extends PureComponent<{}, FaucetState> { return (
-

- Click the button below to request Ether for the Ocean - POA network. -
You can only request Ether once every 24 hours - for your address. -

{states => this.state.isLoading ? ( @@ -74,6 +68,11 @@ class Faucet extends PureComponent<{}, FaucetState> { ) } + +

+ You can only request Ether once every 24 hours for your + address. +

) From acef1130cb0ab180be48ffb5ae0d805c881db795 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 28 Feb 2019 14:04:55 -0300 Subject: [PATCH 36/66] cleanup, keep render function short --- src/routes/Faucet.tsx | 78 +++++++++++++++++++++++++------------------ 1 file changed, 46 insertions(+), 32 deletions(-) diff --git a/src/routes/Faucet.tsx b/src/routes/Faucet.tsx index 2909dce..51f9404 100644 --- a/src/routes/Faucet.tsx +++ b/src/routes/Faucet.tsx @@ -13,7 +13,7 @@ interface FaucetState { eth?: string } -class Faucet extends PureComponent<{}, FaucetState> { +export default class Faucet extends PureComponent<{}, FaucetState> { public state = { isLoading: false, success: undefined, @@ -37,6 +37,50 @@ class Faucet extends PureComponent<{}, FaucetState> { } } + private RequestMarkup = () => ( + + {states => ( + + )} + + ) + + private ActionMarkup = () => ( +
+ {this.state.isLoading ? ( + + ) : this.state.error ? ( +
+ {this.state.error}{' '} + +
+ ) : this.state.success ? ( +
{this.state.success}
+ ) : ( + + )} + +

+ You can only request Ether once every 24 hours for your address. +

+
+ ) + + private reset = () => { + this.setState({ + error: undefined, + success: undefined, + isLoading: false + }) + } + public render() { return ( { > -
- - {states => - this.state.isLoading ? ( - - ) : this.state.error ? ( - this.state.error - ) : this.state.success ? ( -
- {this.state.success} -
- ) : ( - - ) - } -
- -

- You can only request Ether once every 24 hours for your - address. -

-
+
) } } - -export default Faucet From 9069947ca10ffb94c39b15703fc6988596f224b6 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Thu, 28 Feb 2019 14:24:04 -0300 Subject: [PATCH 37/66] form.steps fix, add todos --- src/routes/Publish/index.tsx | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index c02e8c9..00ad0d9 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -7,7 +7,7 @@ import { User } from '../../context/User' import Step from './Step' import Progress from './Progress' -import form from '../../data/form-publish.json' +import { steps } from '../../data/form-publish.json' type AssetType = 'dataset' | 'algorithm' | 'container' | 'workflow' | 'other' @@ -82,7 +82,7 @@ class Publish extends Component<{}, PublishState> { private next = () => { let { currentStep } = this.state - const totalSteps = form.steps.length + const totalSteps = steps.length currentStep = currentStep >= totalSteps - 1 ? totalSteps : currentStep + 1 @@ -147,7 +147,8 @@ class Publish extends Component<{}, PublishState> { // // Step 1 // - // TODO: also validate files with validationStatus[1].files here + // TODO: also validate files with validationStatus[1].files here, + // change event for hidden file input is not working // if (validationStatus[1].name) { this.setState(prevState => ({ @@ -166,6 +167,9 @@ class Publish extends Component<{}, PublishState> { // // Step 2 // + // TODO: validationStatus[2].categories is not working, + // select change event is not firing + // if (validationStatus[2].description && validationStatus[2].categories) { this.setState(prevState => ({ validationStatus: { @@ -183,6 +187,9 @@ class Publish extends Component<{}, PublishState> { // // Step 3 // + // TODO: validationStatus[3].license is not working, + // select change event is not firing + // if ( validationStatus[3].author && validationStatus[3].copyrightHolder && @@ -262,13 +269,10 @@ class Publish extends Component<{}, PublishState> { title="Publish" description="Publish a new data set into the Ocean Protocol Network." > - +
- {form.steps.map((step: any, index: number) => ( + {steps.map((step: any, index: number) => ( { state={this.state} next={this.next} prev={this.prev} - totalSteps={form.steps.length} + totalSteps={steps.length} tryAgain={this.tryAgain} toStart={this.toStart} content={step.content} From 38d0b0ae01eefa4b2b35a51153fcf42fb024adbc Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Fri, 1 Mar 2019 12:18:48 +0100 Subject: [PATCH 38/66] run validation as a callback to first state updates --- src/routes/Publish/index.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 00ad0d9..7109a22 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -118,7 +118,6 @@ class Publish extends Component<{}, PublishState> { } private validateInputs = (name: string, value: any) => { - let { validationStatus } = this.state let hasContent = value.length > 0 // Setting state for all fields @@ -131,7 +130,7 @@ class Publish extends Component<{}, PublishState> { [name]: true } } - })) + }), this.runValidation) } else { this.setState(prevState => ({ validationStatus: { @@ -141,9 +140,12 @@ class Publish extends Component<{}, PublishState> { [name]: false } } - })) + }), this.runValidation) } + } + private runValidation = () => { + let { validationStatus } = this.state // // Step 1 // From 2f4d4ac93a6de1fb183af646aecd96c9b4d75842 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Fri, 1 Mar 2019 12:57:09 -0300 Subject: [PATCH 39/66] formatting fixes --- src/routes/Publish/index.tsx | 42 ++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 7109a22..8e25456 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -122,25 +122,35 @@ class Publish extends Component<{}, PublishState> { // Setting state for all fields if (hasContent) { - this.setState(prevState => ({ - validationStatus: { - ...prevState.validationStatus, - [this.state.currentStep]: { - ...prevState.validationStatus[this.state.currentStep], - [name]: true + this.setState( + prevState => ({ + validationStatus: { + ...prevState.validationStatus, + [this.state.currentStep]: { + ...prevState.validationStatus[ + this.state.currentStep + ], + [name]: true + } } - } - }), this.runValidation) + }), + this.runValidation + ) } else { - this.setState(prevState => ({ - validationStatus: { - ...prevState.validationStatus, - [this.state.currentStep]: { - ...prevState.validationStatus[this.state.currentStep], - [name]: false + this.setState( + prevState => ({ + validationStatus: { + ...prevState.validationStatus, + [this.state.currentStep]: { + ...prevState.validationStatus[ + this.state.currentStep + ], + [name]: false + } } - } - }), this.runValidation) + }), + this.runValidation + ) } } From f9013acbc2c4bcffcdb6ef00eec1b548aa13889d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Fri, 1 Mar 2019 15:43:50 -0300 Subject: [PATCH 40/66] switch to react-tether, solve almost all the popup issues with it --- package-lock.json | 33 +++++++++++-- package.json | 3 +- .../AccountStatus/Indicator.module.scss | 2 +- .../molecules/AccountStatus/Indicator.tsx | 5 +- .../molecules/AccountStatus/Popover.tsx | 12 +---- .../molecules/AccountStatus/index.tsx | 49 +++++++++---------- 6 files changed, 62 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b3ea37..78fa561 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1534,6 +1534,16 @@ "@types/react-router": "*" } }, + "@types/react-tether": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@types/react-tether/-/react-tether-0.5.5.tgz", + "integrity": "sha512-ZM/wd77k/kn+nPQyP3j9tnLfK1MehIG/KXAhPbZeHP4J2ZLQ/xXonzdxbeyOdQgLSQtB0hbuRZcSOUOP/VjQnw==", + "dev": true, + "requires": { + "@types/react": "*", + "@types/tether": "*" + } + }, "@types/react-transition-group": { "version": "2.0.16", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.16.tgz", @@ -1549,6 +1559,12 @@ "integrity": "sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ==", "dev": true }, + "@types/tether": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@types/tether/-/tether-1.4.4.tgz", + "integrity": "sha512-6qhsFJVMuMqaQRVyQVi3zUBLfKYyryktL0ZP0Z3zegzeQ7WKm0PZNCdl3JsaitJbzqaoQ9qsFKMfaj5MiMfcSQ==", + "dev": true + }, "@types/underscore": { "version": "1.8.9", "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.8.9.tgz", @@ -17540,10 +17556,14 @@ "shallowequal": "^1.0.1" } }, - "react-tiny-popover": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/react-tiny-popover/-/react-tiny-popover-3.4.2.tgz", - "integrity": "sha512-3lH+GHvyJbjHNg14B7Md8bpUapQ5W3s8IdBFguODjrgEV1+LWrKOmVrpe8xhIQDOkgkiDfLwMVgsI7BQM9Udpg==" + "react-tether": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-tether/-/react-tether-2.0.0.tgz", + "integrity": "sha512-iJnqTQV42Pf7w4xrg3g1gxSxbBCXleDt8AzlSoAqRINqB+mhcJUeegpB8SFMJ/nKT7lSfMkx3GvUfYY+9sPBGw==", + "requires": { + "prop-types": "^15.6.2", + "tether": "^1.4.5" + } }, "react-transition-group": { "version": "2.6.0", @@ -21052,6 +21072,11 @@ } } }, + "tether": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/tether/-/tether-1.4.5.tgz", + "integrity": "sha512-fysT1Gug2wbRi7a6waeu39yVDwiNtvwj5m9eRD+qZDSHKNghLo6KqP/U3yM2ap6TNUL2skjXGJaJJTJqoC31vw==" + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", diff --git a/package.json b/package.json index 861b11c..6b5d6b3 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "react-helmet": "^5.2.0", "react-moment": "^0.8.4", "react-router-dom": "^4.3.1", - "react-tiny-popover": "^3.4.2", + "react-tether": "^2.0.0", "react-transition-group": "^2.6.0", "slugify": "^1.3.4", "web3": "^1.0.0-beta.46" @@ -41,6 +41,7 @@ "@types/react-dom": "^16.8.2", "@types/react-helmet": "^5.0.8", "@types/react-router-dom": "^4.3.1", + "@types/react-tether": "^0.5.5", "@types/react-transition-group": "^2.0.16", "@types/web3": "^1.0.18", "@typescript-eslint/eslint-plugin": "^1.4.2", diff --git a/src/components/molecules/AccountStatus/Indicator.module.scss b/src/components/molecules/AccountStatus/Indicator.module.scss index e1e9ef9..7d82117 100644 --- a/src/components/molecules/AccountStatus/Indicator.module.scss +++ b/src/components/molecules/AccountStatus/Indicator.module.scss @@ -3,7 +3,7 @@ .status { display: inline-block; position: relative; - cursor: pointer; + cursor: help; } // default: red square diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/src/components/molecules/AccountStatus/Indicator.tsx index 52c2d86..23082f6 100644 --- a/src/components/molecules/AccountStatus/Indicator.tsx +++ b/src/components/molecules/AccountStatus/Indicator.tsx @@ -5,15 +5,18 @@ import styles from './Indicator.module.scss' const Indicator = ({ className, - togglePopover + togglePopover, + forwardedRef }: { className?: string togglePopover: () => void + forwardedRef: any }) => (
{states => diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index ce46c1f..1ddf691 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -3,12 +3,8 @@ import { Link } from 'react-router-dom' import { User } from '../../../context/User' import styles from './Popover.module.scss' -const Popover = ({ togglePopover }: { togglePopover: () => void }) => ( -
+const Popover = ({ forwardedRef }: { forwardedRef: any }) => ( +
30 ETH @@ -22,10 +18,6 @@ const Popover = ({ togglePopover }: { togglePopover: () => void }) => (
-
- Request Ether -
-
{states => diff --git a/src/components/molecules/AccountStatus/index.tsx b/src/components/molecules/AccountStatus/index.tsx index e166018..b88bd24 100644 --- a/src/components/molecules/AccountStatus/index.tsx +++ b/src/components/molecules/AccountStatus/index.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react' -import Popover, { ArrowContainer } from 'react-tiny-popover' +import TetherComponent from 'react-tether' import AccountPopover from './Popover' import AccountIndicator from './Indicator' @@ -27,31 +27,30 @@ export default class AccountStatus extends PureComponent< public render() { return ( - ( - - this.togglePopover()} - /> - + ( + this.togglePopover()} + className={this.props.className} + forwardedRef={ref} + /> )} - > - this.togglePopover()} - className={this.props.className} - /> - + renderElement={ref => + this.state.isPopoverOpen && ( + + ) + } + /> ) } } From 37bff21e4b33023789e91b41293f507e3d3686df Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Fri, 1 Mar 2019 16:21:00 -0300 Subject: [PATCH 41/66] never stop switching popover libraries, switch to react-popper --- package-lock.json | 135 +++++++++++++----- package.json | 3 +- .../molecules/AccountStatus/Indicator.tsx | 2 +- .../AccountStatus/Popover.module.scss | 11 ++ .../molecules/AccountStatus/Popover.tsx | 17 ++- .../molecules/AccountStatus/index.tsx | 47 +++--- 6 files changed, 151 insertions(+), 64 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78fa561..0766274 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1534,16 +1534,6 @@ "@types/react-router": "*" } }, - "@types/react-tether": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@types/react-tether/-/react-tether-0.5.5.tgz", - "integrity": "sha512-ZM/wd77k/kn+nPQyP3j9tnLfK1MehIG/KXAhPbZeHP4J2ZLQ/xXonzdxbeyOdQgLSQtB0hbuRZcSOUOP/VjQnw==", - "dev": true, - "requires": { - "@types/react": "*", - "@types/tether": "*" - } - }, "@types/react-transition-group": { "version": "2.0.16", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.16.tgz", @@ -1559,12 +1549,6 @@ "integrity": "sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ==", "dev": true }, - "@types/tether": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@types/tether/-/tether-1.4.4.tgz", - "integrity": "sha512-6qhsFJVMuMqaQRVyQVi3zUBLfKYyryktL0ZP0Z3zegzeQ7WKm0PZNCdl3JsaitJbzqaoQ9qsFKMfaj5MiMfcSQ==", - "dev": true - }, "@types/underscore": { "version": "1.8.9", "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.8.9.tgz", @@ -2418,8 +2402,7 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { "version": "0.2.4", @@ -5064,6 +5047,15 @@ "sha.js": "^2.4.8" } }, + "create-react-context": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", + "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", + "requires": { + "fbjs": "^0.8.0", + "gud": "^1.0.0" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -6290,6 +6282,14 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -7490,6 +7490,35 @@ "bser": "^2.0.0" } }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + } + } + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -8998,6 +9027,11 @@ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, "gzip-size": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", @@ -10492,6 +10526,26 @@ "isarray": "1.0.0" } }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -13420,6 +13474,11 @@ "ts-pnp": "^1.0.0" } }, + "popper.js": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.7.tgz", + "integrity": "sha512-4q1hNvoUre/8srWsH7hnoSJ5xVmIL4qgz+s4qf2TnJIMyZFUFMGH+9vE7mXynAlHSZ/NdTmmow86muD0myUkVQ==" + }, "portfinder": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", @@ -17249,6 +17308,19 @@ "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.8.4.tgz", "integrity": "sha512-QhI19OcfhiAn60/O6bMR0w8ApXrPFCjv6+eV0I/P9/AswzjgEAx4L7VxMBCpS/jrythLa12Q9v88req+ys4YpA==" }, + "react-popper": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.3.tgz", + "integrity": "sha512-ynMZBPkXONPc5K4P5yFWgZx5JGAUIP3pGGLNs58cfAPgK67olx7fmLp+AdpZ0+GoQ+ieFDa/z4cdV6u7sioH6w==", + "requires": { + "@babel/runtime": "^7.1.2", + "create-react-context": "<=0.2.2", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + } + }, "react-router": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", @@ -17556,15 +17628,6 @@ "shallowequal": "^1.0.1" } }, - "react-tether": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-tether/-/react-tether-2.0.0.tgz", - "integrity": "sha512-iJnqTQV42Pf7w4xrg3g1gxSxbBCXleDt8AzlSoAqRINqB+mhcJUeegpB8SFMJ/nKT7lSfMkx3GvUfYY+9sPBGw==", - "requires": { - "prop-types": "^15.6.2", - "tether": "^1.4.5" - } - }, "react-transition-group": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.6.0.tgz", @@ -21072,11 +21135,6 @@ } } }, - "tether": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/tether/-/tether-1.4.5.tgz", - "integrity": "sha512-fysT1Gug2wbRi7a6waeu39yVDwiNtvwj5m9eRD+qZDSHKNghLo6KqP/U3yM2ap6TNUL2skjXGJaJJTJqoC31vw==" - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -21373,6 +21431,11 @@ "mime-types": "~2.1.18" } }, + "typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==" + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -21393,6 +21456,11 @@ "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", "dev": true }, + "ua-parser-js": { + "version": "0.7.19", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", + "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" + }, "uglify-js": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", @@ -23414,8 +23482,7 @@ "whatwg-fetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", - "dev": true + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" }, "whatwg-mimetype": { "version": "2.3.0", diff --git a/package.json b/package.json index 6b5d6b3..ac4111a 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "react-dom": "^16.8.3", "react-helmet": "^5.2.0", "react-moment": "^0.8.4", + "react-popper": "^1.3.3", "react-router-dom": "^4.3.1", - "react-tether": "^2.0.0", "react-transition-group": "^2.6.0", "slugify": "^1.3.4", "web3": "^1.0.0-beta.46" @@ -41,7 +41,6 @@ "@types/react-dom": "^16.8.2", "@types/react-helmet": "^5.0.8", "@types/react-router-dom": "^4.3.1", - "@types/react-tether": "^0.5.5", "@types/react-transition-group": "^2.0.16", "@types/web3": "^1.0.18", "@typescript-eslint/eslint-plugin": "^1.4.2", diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/src/components/molecules/AccountStatus/Indicator.tsx index 23082f6..8deeacb 100644 --- a/src/components/molecules/AccountStatus/Indicator.tsx +++ b/src/components/molecules/AccountStatus/Indicator.tsx @@ -10,7 +10,7 @@ const Indicator = ({ }: { className?: string togglePopover: () => void - forwardedRef: any + forwardedRef: (ref: HTMLElement | null) => void }) => (
( -
+const Popover = ({ + forwardedRef, + style, + arrowProps +}: { + forwardedRef: (ref: HTMLElement | null) => void + style: React.CSSProperties + arrowProps: { + ref: (ref: HTMLElement | null) => void + style: React.CSSProperties + } +}) => ( +
30 ETH @@ -39,6 +49,7 @@ const Popover = ({ forwardedRef }: { forwardedRef: any }) => ( {states => states.network && states.network} */}
+
) diff --git a/src/components/molecules/AccountStatus/index.tsx b/src/components/molecules/AccountStatus/index.tsx index b88bd24..248d087 100644 --- a/src/components/molecules/AccountStatus/index.tsx +++ b/src/components/molecules/AccountStatus/index.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react' -import TetherComponent from 'react-tether' +import { Manager, Reference, Popper } from 'react-popper' import AccountPopover from './Popover' import AccountIndicator from './Indicator' @@ -27,30 +27,29 @@ export default class AccountStatus extends PureComponent< public render() { return ( - ( - this.togglePopover()} - className={this.props.className} - forwardedRef={ref} - /> + + + {({ ref }) => ( + this.togglePopover()} + className={this.props.className} + forwardedRef={ref} + /> + )} + + {this.state.isPopoverOpen && ( + + {({ ref, style, placement, arrowProps }) => ( + + )} + )} - renderElement={ref => - this.state.isPopoverOpen && ( - - ) - } - /> + ) } } From 87cb5fe36b47065f2b929c8c313eae04b4cd9dc5 Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Mon, 4 Mar 2019 11:58:52 +0100 Subject: [PATCH 42/66] balances, network to context --- src/App.tsx | 20 +++++++++++++++++--- src/context/User.ts | 3 +++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 67c71c6..31a3df1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -32,6 +32,9 @@ interface AppState { isLoading: boolean isWeb3: boolean account: string + balanceEth: number + balanceOcn: number + network: string web3: Web3 ocean: {} startLogin: () => void @@ -63,7 +66,7 @@ class App extends Component<{}, AppState> { } ) } catch (error) { - Logger.log(error) + Logger.log('requestFromFaucet', error) } } else { // no account found @@ -74,6 +77,9 @@ class App extends Component<{}, AppState> { isLogged: false, isLoading: true, isWeb3: false, + balanceEth: 0, + balanceOcn: 0, + network: '', web3: new Web3( new Web3.providers.HttpProvider( `${nodeScheme}://${nodeHost}:${nodePort}` @@ -141,7 +147,7 @@ class App extends Component<{}, AppState> { }) } } catch (e) { - // continue with default + Logger.log('web3 error', e) } } try { @@ -150,8 +156,16 @@ class App extends Component<{}, AppState> { isLoading: false, ocean }) + // TODO: squid-js balance retrieval fix + const accounts = await ocean.getAccounts() + const balance = await accounts[0].getBalance() + this.setState({ + balanceEth: balance.eth, + balanceOcn: balance.ocn + }) + // TODO: squid-js expose keeper for getNetworkName } catch (e) { - // show loading error / unable to initialize ocean + Logger.log('ocean/balance error', e) this.setState({ isLoading: false }) diff --git a/src/context/User.ts b/src/context/User.ts index d3b3a21..03b7ec4 100644 --- a/src/context/User.ts +++ b/src/context/User.ts @@ -7,6 +7,9 @@ export const User = React.createContext({ account: '', web3: {}, ocean: {}, + balanceEth: 0, + balanceOcn: 0, + network: '', startLogin: () => { /* empty */ }, From f3d011cae73d81c1f98c3b6bc4702e5557e0496d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 11:46:02 -0300 Subject: [PATCH 43/66] ditch popover arrow for now --- .../molecules/AccountStatus/Popover.module.scss | 1 + src/components/molecules/AccountStatus/Popover.tsx | 8 +------- src/components/molecules/AccountStatus/index.tsx | 3 +-- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/components/molecules/AccountStatus/Popover.module.scss b/src/components/molecules/AccountStatus/Popover.module.scss index b67c144..0860ed9 100644 --- a/src/components/molecules/AccountStatus/Popover.module.scss +++ b/src/components/molecules/AccountStatus/Popover.module.scss @@ -3,6 +3,7 @@ $popoverWidth: 18rem; .popover { + position: relative; width: $popoverWidth; padding: $spacer / 2; background: $brand-black; diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 28741c3..e782a5e 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -4,15 +4,10 @@ import styles from './Popover.module.scss' const Popover = ({ forwardedRef, - style, - arrowProps + style }: { forwardedRef: (ref: HTMLElement | null) => void style: React.CSSProperties - arrowProps: { - ref: (ref: HTMLElement | null) => void - style: React.CSSProperties - } }) => (
@@ -49,7 +44,6 @@ const Popover = ({ {states => states.network && states.network} */}
-
) diff --git a/src/components/molecules/AccountStatus/index.tsx b/src/components/molecules/AccountStatus/index.tsx index 248d087..8c420bb 100644 --- a/src/components/molecules/AccountStatus/index.tsx +++ b/src/components/molecules/AccountStatus/index.tsx @@ -39,11 +39,10 @@ export default class AccountStatus extends PureComponent< {this.state.isPopoverOpen && ( - {({ ref, style, placement, arrowProps }) => ( + {({ ref, style, placement }) => ( )} From 662b608148b23ebc4b2270faea829d9c4e459bc3 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 11:56:24 -0300 Subject: [PATCH 44/66] prepare showing real balances and network name --- .../molecules/AccountStatus/Popover.tsx | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index e782a5e..6e47316 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -10,15 +10,40 @@ const Popover = ({ style: React.CSSProperties }) => (
+ {/* + TODO: uncomment to show real balances, + and remove next infoline block with fake data + */} + {/* + + {states => + (states.balanceEth || states.balanceOcn) && ( +
+ + + {(states.balanceEth / 1e18) + .toFixed(3) + .slice(0, -1)} + {' '} + ETH + + + {states.balanceOcn} OCEAN + +
+ ) + } +
+ */} +
30 ETH - {/* - {(eth / 1e18).toFixed(3).slice(0, -1)} ETH - */} - {/* {ocn} OCEAN */} 2474290 OCEAN
@@ -39,10 +64,14 @@ const Popover = ({
Fake Network Name + {/* + TODO: uncomment to show real network name + */} {/* {states => states.network && states.network} - */} + + */}
) From a6c2431cb190a1b83cd2598068d2f65c811b1e9d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 12:06:52 -0300 Subject: [PATCH 45/66] balance display tweaks --- src/App.tsx | 17 ++++++----- .../molecules/AccountStatus/Popover.tsx | 30 ++++--------------- src/context/User.ts | 6 ++-- 3 files changed, 18 insertions(+), 35 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 31a3df1..7eb6481 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -32,8 +32,10 @@ interface AppState { isLoading: boolean isWeb3: boolean account: string - balanceEth: number - balanceOcn: number + balance: { + eth: number + ocn: number + } network: string web3: Web3 ocean: {} @@ -77,8 +79,10 @@ class App extends Component<{}, AppState> { isLogged: false, isLoading: true, isWeb3: false, - balanceEth: 0, - balanceOcn: 0, + balance: { + eth: 0, + ocn: 0 + }, network: '', web3: new Web3( new Web3.providers.HttpProvider( @@ -159,10 +163,7 @@ class App extends Component<{}, AppState> { // TODO: squid-js balance retrieval fix const accounts = await ocean.getAccounts() const balance = await accounts[0].getBalance() - this.setState({ - balanceEth: balance.eth, - balanceOcn: balance.ocn - }) + this.setState({ balance }) // TODO: squid-js expose keeper for getNetworkName } catch (e) { Logger.log('ocean/balance error', e) diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/src/components/molecules/AccountStatus/Popover.tsx index 6e47316..e8c3541 100644 --- a/src/components/molecules/AccountStatus/Popover.tsx +++ b/src/components/molecules/AccountStatus/Popover.tsx @@ -10,43 +10,29 @@ const Popover = ({ style: React.CSSProperties }) => (
- {/* - TODO: uncomment to show real balances, - and remove next infoline block with fake data - */} - {/* {states => - (states.balanceEth || states.balanceOcn) && ( + states.account && + states.balance && (
- {(states.balanceEth / 1e18) + {(states.balance.eth / 1e18) .toFixed(3) .slice(0, -1)} {' '} ETH - {states.balanceOcn} OCEAN + {states.balance.ocn} OCEAN
) }
- */} - -
- - 30 ETH - - - 2474290 OCEAN - -
@@ -63,15 +49,9 @@ const Popover = ({
- Fake Network Name - {/* - TODO: uncomment to show real network name - */} - {/* {states => states.network && states.network} - */}
) diff --git a/src/context/User.ts b/src/context/User.ts index 03b7ec4..6a36c98 100644 --- a/src/context/User.ts +++ b/src/context/User.ts @@ -7,8 +7,10 @@ export const User = React.createContext({ account: '', web3: {}, ocean: {}, - balanceEth: 0, - balanceOcn: 0, + balance: { + eth: 0, + ocn: 0 + }, network: '', startLogin: () => { /* empty */ From 5046ccf0f2861e4e5becdc75b78f58a47eeae41a Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Mon, 4 Mar 2019 16:58:33 +0100 Subject: [PATCH 46/66] categories error fix, files adding validation, files removing --- src/routes/Publish/Files/index.tsx | 19 +++++++++++++++++-- src/routes/Publish/Step.tsx | 2 +- src/routes/Publish/index.tsx | 23 ++++------------------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/routes/Publish/Files/index.tsx b/src/routes/Publish/Files/index.tsx index c50e7cf..9afb006 100644 --- a/src/routes/Publish/Files/index.tsx +++ b/src/routes/Publish/Files/index.tsx @@ -1,10 +1,11 @@ -import React, { PureComponent } from 'react' +import React, { PureComponent, ChangeEvent } from 'react' import { CSSTransition, TransitionGroup } from 'react-transition-group' import Button from '../../../components/atoms/Button' import Help from '../../../components/atoms/Form/Help' import ItemForm from './ItemForm' import Item from './Item' import styles from './index.module.scss' +import { Logger } from '@oceanprotocol/squid'; interface FilesProps { files: any[] @@ -32,12 +33,26 @@ export default class Files extends PureComponent { public addItem = (value: string) => { this.props.files.push({ url: value }) - // this.props.resetForm() + const event = { + currentTarget: { + name: 'files', + value: this.props.files + } + } + this.props.onChange(event as any) this.setState({ isFormShown: !this.state.isFormShown }) } public removeItem = (index: number) => { this.props.files.splice(index, 1) + const event = { + currentTarget: { + name: 'files', + value: this.props.files + } + } + this.props.onChange(event as any) + this.forceUpdate() } public render() { diff --git a/src/routes/Publish/Step.tsx b/src/routes/Publish/Step.tsx index 7d06e6d..8ab1014 100644 --- a/src/routes/Publish/Step.tsx +++ b/src/routes/Publish/Step.tsx @@ -91,7 +91,7 @@ export default class Step extends PureComponent { Object.entries(fields).map(([key, value]) => { let onChange = inputChange - if (key === 'files' || key === 'categories') { + if (key === 'categories') { onChange = inputToArrayChange } diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 8e25456..162d422 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -21,7 +21,7 @@ interface PublishState { type?: AssetType license?: string copyrightHolder?: string - categories?: string[] + categories?: string tags?: string[] isPublishing?: boolean isPublished?: boolean @@ -43,7 +43,7 @@ class Publish extends Component<{}, PublishState> { type: 'dataset' as AssetType, license: '', copyrightHolder: '', - categories: [], + categories: '', isPublishing: false, isPublished: false, publishedDid: '', @@ -110,7 +110,7 @@ class Publish extends Component<{}, PublishState> { type: 'dataset' as AssetType, license: '', copyrightHolder: '', - categories: [], + categories: '', isPublishing: false, isPublished: false, currentStep: 1 @@ -159,10 +159,7 @@ class Publish extends Component<{}, PublishState> { // // Step 1 // - // TODO: also validate files with validationStatus[1].files here, - // change event for hidden file input is not working - // - if (validationStatus[1].name) { + if (validationStatus[1].name && validationStatus[1].files) { this.setState(prevState => ({ validationStatus: { ...prevState.validationStatus, @@ -174,14 +171,9 @@ class Publish extends Component<{}, PublishState> { })) } - // console.log(validationStatus[1]) - // // Step 2 // - // TODO: validationStatus[2].categories is not working, - // select change event is not firing - // if (validationStatus[2].description && validationStatus[2].categories) { this.setState(prevState => ({ validationStatus: { @@ -194,14 +186,9 @@ class Publish extends Component<{}, PublishState> { })) } - // console.log(validationStatus[2]) - // // Step 3 // - // TODO: validationStatus[3].license is not working, - // select change event is not firing - // if ( validationStatus[3].author && validationStatus[3].copyrightHolder && @@ -217,8 +204,6 @@ class Publish extends Component<{}, PublishState> { } })) } - - // console.log(validationStatus[3]) } private registerAsset = async (event: FormEvent) => { From 05b3cfcc741664f4f1e8cd6be395dd9a7421c8fe Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 13:46:13 -0300 Subject: [PATCH 47/66] add real copy for all steps --- src/data/form-publish.json | 21 +++++++++++---------- src/routes/Publish/Files/index.tsx | 4 +--- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/data/form-publish.json b/src/data/form-publish.json index a8bc3e4..588ed38 100644 --- a/src/data/form-publish.json +++ b/src/data/form-publish.json @@ -1,17 +1,15 @@ { - "title": "Publish a new data asset", - "description": "A cool form description", "steps": [ { "title": "Essentials", - "description": "A description about these essential fields", + "description": "Start by adding a title and URLs for your data set.", "fields": { "name": { "label": "Title", - "placeholder": "i.e. My cool data set", + "placeholder": "i.e. Almond sales data", "type": "text", "required": true, - "help": "Help me Obiwan" + "help": "Enter a concise title. You will be able to enter a more thorough description in the next step." }, "files": { "label": "Files", @@ -24,18 +22,21 @@ }, { "title": "Information", - "description": "A description about these fields", + "description": "Further describe and categorize your data set to help people discover it.", "fields": { "description": { "label": "Description", - "placeholder": "i.e. My cool data set", + "description": "Add a thorough description with as much detail as possible.", + "placeholder": "i.e. Almond sales data ", "type": "textarea", "required": true, "rows": 5 }, "categories": { "label": "Categories", + "description": "Pick a category which best fits your data set.", "type": "select", + "required": true, "options": [ "Image Recognition", "Dataset Of Datasets", @@ -74,7 +75,7 @@ }, { "title": "Authorship", - "description": "A description about these credentials fields", + "description": "Give proper attribution for your data set.", "fields": { "author": { "label": "Author", @@ -84,7 +85,7 @@ }, "copyrightHolder": { "label": "Copyright Holder", - "placeholder": "i.e. fwhfiw", + "placeholder": "i.e. Marine Institute of Jellyfish", "type": "text", "required": true }, @@ -106,7 +107,7 @@ }, { "title": "Register", - "description": "We got all the data, now let's register your data set.", + "description": "Splendid, we got all the data. Now let's register your data set.", "content": "After clicking the button below you will be asked by your wallet to sign this request." } ] diff --git a/src/routes/Publish/Files/index.tsx b/src/routes/Publish/Files/index.tsx index 9afb006..dd8f40f 100644 --- a/src/routes/Publish/Files/index.tsx +++ b/src/routes/Publish/Files/index.tsx @@ -1,11 +1,10 @@ -import React, { PureComponent, ChangeEvent } from 'react' +import React, { PureComponent } from 'react' import { CSSTransition, TransitionGroup } from 'react-transition-group' import Button from '../../../components/atoms/Button' import Help from '../../../components/atoms/Form/Help' import ItemForm from './ItemForm' import Item from './Item' import styles from './index.module.scss' -import { Logger } from '@oceanprotocol/squid'; interface FilesProps { files: any[] @@ -13,7 +12,6 @@ interface FilesProps { help?: string name: string onChange: any - // resetForm: any } interface FilesStates { From 49efed73c7817c7784f97701539b7e4f9c4ca76b Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 13:50:24 -0300 Subject: [PATCH 48/66] sort all select options alphabetically --- src/components/atoms/Form/Input.tsx | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/components/atoms/Form/Input.tsx b/src/components/atoms/Form/Input.tsx index 1d6a3a5..ad74e73 100644 --- a/src/components/atoms/Form/Input.tsx +++ b/src/components/atoms/Form/Input.tsx @@ -76,16 +76,18 @@ export default class Input extends PureComponent { > {options && - options.map((option: string, index: number) => ( - - ))} + options + .sort((a, b) => a.localeCompare(b)) + .map((option: string, index: number) => ( + + ))}
) From b3459547e3c7de98b2069ce47113bc22ea9ca78d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 13:59:21 -0300 Subject: [PATCH 49/66] frontpage form tweaks, disable button based on input state --- src/components/atoms/Form/Form.module.scss | 7 +++++++ src/components/atoms/Form/Form.tsx | 8 +++++++- src/routes/Home.module.scss | 5 +++++ src/routes/Home.tsx | 10 +++++++--- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/components/atoms/Form/Form.module.scss b/src/components/atoms/Form/Form.module.scss index b7d8752..7d55ec7 100644 --- a/src/components/atoms/Form/Form.module.scss +++ b/src/components/atoms/Form/Form.module.scss @@ -13,6 +13,13 @@ } } +.formMinimal { + composes: form; + background: none; + padding: 0; + border: 0; +} + .formHeader { margin-bottom: $spacer; } diff --git a/src/components/atoms/Form/Form.tsx b/src/components/atoms/Form/Form.tsx index 3ef1cfc..945f50e 100644 --- a/src/components/atoms/Form/Form.tsx +++ b/src/components/atoms/Form/Form.tsx @@ -6,14 +6,20 @@ const Form = ({ description, children, onSubmit, + minimal, ...props }: { title?: string description?: string children: any onSubmit?: any + minimal?: boolean }) => ( - + {title && (

{title}

diff --git a/src/routes/Home.module.scss b/src/routes/Home.module.scss index da87cc8..1b56304 100644 --- a/src/routes/Home.module.scss +++ b/src/routes/Home.module.scss @@ -2,6 +2,11 @@ .home { display: block; + + form { + margin-top: $spacer * 2; + margin-bottom: $spacer * 4; + } } .published { diff --git a/src/routes/Home.tsx b/src/routes/Home.tsx index 1804bf7..cad4448 100644 --- a/src/routes/Home.tsx +++ b/src/routes/Home.tsx @@ -26,15 +26,19 @@ class Home extends Component { description={meta.description} className={styles.home} > - + Search} + group={ + + } /> From c4b100bad413cd3cbfcf93f2b5a753d8a964d10d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 4 Mar 2019 14:07:18 -0300 Subject: [PATCH 50/66] remove data set listing on frontpage for now * will be added back in https://github.com/oceanprotocol/commons-marketplace/pull/19 --- src/routes/Home.module.scss | 18 ------------------ src/routes/Home.tsx | 9 --------- 2 files changed, 27 deletions(-) diff --git a/src/routes/Home.module.scss b/src/routes/Home.module.scss index 1b56304..9e3082a 100644 --- a/src/routes/Home.module.scss +++ b/src/routes/Home.module.scss @@ -8,21 +8,3 @@ margin-bottom: $spacer * 4; } } - -.published { - margin-top: $spacer * 3; - margin-bottom: $spacer; - - > div { - text-align: center; - margin-top: $spacer; - margin-bottom: $spacer; - } -} - -.subTitle { - font-size: $font-size-h4; - color: $brand-grey-light; - border-bottom: 1px solid $brand-grey-lighter; - padding-bottom: $spacer / 2; -} diff --git a/src/routes/Home.tsx b/src/routes/Home.tsx index cad4448..7c7dc68 100644 --- a/src/routes/Home.tsx +++ b/src/routes/Home.tsx @@ -41,15 +41,6 @@ class Home extends Component { } /> - -
-

Your Data Sets

- -
-

None yet.

- + Publish A Data Set -
-
) } From fe9f85033837c2d7603bbcd61cff69d63789cf9a Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Tue, 5 Mar 2019 10:10:22 +0100 Subject: [PATCH 51/66] disable next button on clearing form --- src/routes/Publish/index.tsx | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/routes/Publish/index.tsx b/src/routes/Publish/index.tsx index 162d422..f93b5a5 100644 --- a/src/routes/Publish/index.tsx +++ b/src/routes/Publish/index.tsx @@ -169,6 +169,16 @@ class Publish extends Component<{}, PublishState> { } } })) + } else { + this.setState(prevState => ({ + validationStatus: { + ...prevState.validationStatus, + 1: { + ...prevState.validationStatus[1], + allFieldsValid: false + } + } + })) } // @@ -184,6 +194,16 @@ class Publish extends Component<{}, PublishState> { } } })) + } else { + this.setState(prevState => ({ + validationStatus: { + ...prevState.validationStatus, + 2: { + ...prevState.validationStatus[2], + allFieldsValid: false + } + } + })) } // @@ -203,6 +223,16 @@ class Publish extends Component<{}, PublishState> { } } })) + } else { + this.setState(prevState => ({ + validationStatus: { + ...prevState.validationStatus, + 3: { + ...prevState.validationStatus[3], + allFieldsValid: false + } + } + })) } } From c52fa5d0bf1b42bd05909c482d1374515f4a3e30 Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Tue, 5 Mar 2019 15:21:41 +0100 Subject: [PATCH 52/66] path fix --- src/routes/Publish/StepRegisterContent.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/Publish/StepRegisterContent.tsx b/src/routes/Publish/StepRegisterContent.tsx index ea1a718..753578b 100644 --- a/src/routes/Publish/StepRegisterContent.tsx +++ b/src/routes/Publish/StepRegisterContent.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react' -import Web3message from '../../components/Web3message' +import Web3message from '../../components/molecules/Web3message' import Spinner from '../../components/atoms/Spinner' import styles from './StepRegisterContent.module.scss' From bbf7df087d207c48baaf3585cd0ec748c717f44d Mon Sep 17 00:00:00 2001 From: Jernej Pregelj Date: Thu, 7 Mar 2019 14:41:27 +0100 Subject: [PATCH 53/66] root app->/client, microservice in /server --- .editorconfig => client/.editorconfig | 0 .eslintrc => client/.eslintrc | 0 .gitignore => client/.gitignore | 0 .prettierignore => client/.prettierignore | 0 .prettierrc => client/.prettierrc | 0 .stylelintrc => client/.stylelintrc | 0 .travis.yml => client/.travis.yml | 0 LICENSE => client/LICENSE | 0 README.md => client/README.md | 0 library.json => client/library.json | 0 package-lock.json => client/package-lock.json | 111 +- package.json => client/package.json | 3 + {public => client/public}/favicon.ico | Bin .../public}/fonts/SharpSans-Bold.woff | Bin .../public}/fonts/SharpSans-Bold.woff2 | Bin .../public}/fonts/SharpSans-Extrabold.woff | Bin .../public}/fonts/SharpSans-Extrabold.woff2 | Bin .../public}/fonts/SharpSans-Medium.woff | Bin .../public}/fonts/SharpSans-Medium.woff2 | Bin .../public}/fonts/SharpSansDispNo1-Bold.woff | Bin .../public}/fonts/SharpSansDispNo1-Bold.woff2 | Bin .../public}/icons/favicon_128.png | Bin .../public}/icons/favicon_256.png | Bin .../public}/icons/favicon_512.png | Bin {public => client/public}/index.html | 0 {public => client/public}/manifest.json | 0 {src => client/src}/App.module.scss | 0 {src => client/src}/App.test.tsx | 0 {src => client/src}/App.tsx | 0 {src => client/src}/Routes.tsx | 0 .../src}/components/Footer.module.scss | 0 {src => client/src}/components/Footer.tsx | 0 .../src}/components/Header.module.scss | 0 {src => client/src}/components/Header.tsx | 0 .../src}/components/atoms/Button.module.scss | 0 .../src}/components/atoms/Button.test.tsx | 0 .../src}/components/atoms/Button.tsx | 0 .../src}/components/atoms/Content.module.scss | 0 .../src}/components/atoms/Content.tsx | 0 .../components/atoms/Form/Form.module.scss | 0 .../src}/components/atoms/Form/Form.tsx | 0 .../components/atoms/Form/Help.module.scss | 0 .../src}/components/atoms/Form/Help.test.tsx | 0 .../src}/components/atoms/Form/Help.tsx | 0 .../components/atoms/Form/Input.module.scss | 0 .../src}/components/atoms/Form/Input.tsx | 0 .../atoms/Form/InputGroup.module.scss | 0 .../src}/components/atoms/Form/InputGroup.tsx | 0 .../components/atoms/Form/Label.module.scss | 0 .../src}/components/atoms/Form/Label.tsx | 0 .../components/atoms/Form/Row.module.scss | 0 .../src}/components/atoms/Form/Row.tsx | 0 .../src}/components/atoms/Spinner.module.scss | 0 .../src}/components/atoms/Spinner.tsx | 0 .../AccountStatus/Indicator.module.scss | 0 .../molecules/AccountStatus/Indicator.tsx | 0 .../AccountStatus/Popover.module.scss | 0 .../molecules/AccountStatus/Popover.tsx | 0 .../molecules/AccountStatus/index.tsx | 0 .../components/molecules/Asset.module.scss | 0 .../src}/components/molecules/Asset.tsx | 0 .../molecules/Web3message.module.scss | 0 .../src}/components/molecules/Web3message.tsx | 0 .../components/templates/Route.module.scss | 0 .../src}/components/templates/Route.tsx | 0 {src => client/src}/config.ts | 4 + {src => client/src}/context/User.ts | 0 {src => client/src}/data/form-publish.json | 0 {src => client/src}/data/form-styleguide.json | 0 {src => client/src}/data/menu.json | 0 {src => client/src}/data/meta.json | 0 {src => client/src}/img/search.svg | 0 {src => client/src}/index.tsx | 0 {src => client/src}/models/AssetModel.ts | 0 {src => client/src}/ocean.ts | 0 {src => client/src}/react-app-env.d.ts | 0 {src => client/src}/routes/About.tsx | 0 .../routes/Details/AssetDetails.module.scss | 0 .../src}/routes/Details/AssetDetails.tsx | 0 {src => client/src}/routes/Details/index.tsx | 0 {src => client/src}/routes/Faucet.module.scss | 0 {src => client/src}/routes/Faucet.tsx | 0 {src => client/src}/routes/Home.module.scss | 0 {src => client/src}/routes/Home.tsx | 0 {src => client/src}/routes/NotFound.tsx | 0 .../routes/Publish/Files/Item.module.scss | 10 + .../src}/routes/Publish/Files/Item.tsx | 6 + .../routes/Publish/Files/ItemForm.module.scss | 0 .../src}/routes/Publish/Files/ItemForm.tsx | 0 .../routes/Publish/Files/index.module.scss | 0 .../src}/routes/Publish/Files/index.tsx | 29 +- .../src}/routes/Publish/Progress.module.scss | 0 .../src}/routes/Publish/Progress.tsx | 0 .../src}/routes/Publish/Step.module.scss | 0 {src => client/src}/routes/Publish/Step.tsx | 0 .../Publish/StepRegisterContent.module.scss | 0 .../routes/Publish/StepRegisterContent.tsx | 0 {src => client/src}/routes/Publish/index.tsx | 0 {src => client/src}/routes/Search.module.scss | 0 {src => client/src}/routes/Search.tsx | 0 .../src}/routes/Styleguide.module.scss | 0 {src => client/src}/routes/Styleguide.tsx | 0 {src => client/src}/serviceWorker.ts | 0 {src => client/src}/styles/_animations.scss | 0 {src => client/src}/styles/_variables.scss | 0 {src => client/src}/styles/global.scss | 0 tsconfig.json => client/tsconfig.json | 0 server/.gitignore | 38 + server/nodemon.json | 6 + server/package-lock.json | 6717 +++++++++++++++++ server/package.json | 57 + server/src/config/config.ts | 5 + server/src/index.ts | 58 + server/src/routes/UrlCheckRouter.ts | 58 + server/test/api.test.ts | 15 + server/tsconfig.json | 25 + server/tslint.json | 60 + 117 files changed, 7133 insertions(+), 69 deletions(-) rename .editorconfig => client/.editorconfig (100%) rename .eslintrc => client/.eslintrc (100%) rename .gitignore => client/.gitignore (100%) rename .prettierignore => client/.prettierignore (100%) rename .prettierrc => client/.prettierrc (100%) rename .stylelintrc => client/.stylelintrc (100%) rename .travis.yml => client/.travis.yml (100%) rename LICENSE => client/LICENSE (100%) rename README.md => client/README.md (100%) rename library.json => client/library.json (100%) rename package-lock.json => client/package-lock.json (99%) rename package.json => client/package.json (96%) rename {public => client/public}/favicon.ico (100%) rename {public => client/public}/fonts/SharpSans-Bold.woff (100%) rename {public => client/public}/fonts/SharpSans-Bold.woff2 (100%) rename {public => client/public}/fonts/SharpSans-Extrabold.woff (100%) rename {public => client/public}/fonts/SharpSans-Extrabold.woff2 (100%) rename {public => client/public}/fonts/SharpSans-Medium.woff (100%) rename {public => client/public}/fonts/SharpSans-Medium.woff2 (100%) rename {public => client/public}/fonts/SharpSansDispNo1-Bold.woff (100%) rename {public => client/public}/fonts/SharpSansDispNo1-Bold.woff2 (100%) rename {public => client/public}/icons/favicon_128.png (100%) rename {public => client/public}/icons/favicon_256.png (100%) rename {public => client/public}/icons/favicon_512.png (100%) rename {public => client/public}/index.html (100%) rename {public => client/public}/manifest.json (100%) rename {src => client/src}/App.module.scss (100%) rename {src => client/src}/App.test.tsx (100%) rename {src => client/src}/App.tsx (100%) rename {src => client/src}/Routes.tsx (100%) rename {src => client/src}/components/Footer.module.scss (100%) rename {src => client/src}/components/Footer.tsx (100%) rename {src => client/src}/components/Header.module.scss (100%) rename {src => client/src}/components/Header.tsx (100%) rename {src => client/src}/components/atoms/Button.module.scss (100%) rename {src => client/src}/components/atoms/Button.test.tsx (100%) rename {src => client/src}/components/atoms/Button.tsx (100%) rename {src => client/src}/components/atoms/Content.module.scss (100%) rename {src => client/src}/components/atoms/Content.tsx (100%) rename {src => client/src}/components/atoms/Form/Form.module.scss (100%) rename {src => client/src}/components/atoms/Form/Form.tsx (100%) rename {src => client/src}/components/atoms/Form/Help.module.scss (100%) rename {src => client/src}/components/atoms/Form/Help.test.tsx (100%) rename {src => client/src}/components/atoms/Form/Help.tsx (100%) rename {src => client/src}/components/atoms/Form/Input.module.scss (100%) rename {src => client/src}/components/atoms/Form/Input.tsx (100%) rename {src => client/src}/components/atoms/Form/InputGroup.module.scss (100%) rename {src => client/src}/components/atoms/Form/InputGroup.tsx (100%) rename {src => client/src}/components/atoms/Form/Label.module.scss (100%) rename {src => client/src}/components/atoms/Form/Label.tsx (100%) rename {src => client/src}/components/atoms/Form/Row.module.scss (100%) rename {src => client/src}/components/atoms/Form/Row.tsx (100%) rename {src => client/src}/components/atoms/Spinner.module.scss (100%) rename {src => client/src}/components/atoms/Spinner.tsx (100%) rename {src => client/src}/components/molecules/AccountStatus/Indicator.module.scss (100%) rename {src => client/src}/components/molecules/AccountStatus/Indicator.tsx (100%) rename {src => client/src}/components/molecules/AccountStatus/Popover.module.scss (100%) rename {src => client/src}/components/molecules/AccountStatus/Popover.tsx (100%) rename {src => client/src}/components/molecules/AccountStatus/index.tsx (100%) rename {src => client/src}/components/molecules/Asset.module.scss (100%) rename {src => client/src}/components/molecules/Asset.tsx (100%) rename {src => client/src}/components/molecules/Web3message.module.scss (100%) rename {src => client/src}/components/molecules/Web3message.tsx (100%) rename {src => client/src}/components/templates/Route.module.scss (100%) rename {src => client/src}/components/templates/Route.tsx (100%) rename {src => client/src}/config.ts (88%) rename {src => client/src}/context/User.ts (100%) rename {src => client/src}/data/form-publish.json (100%) rename {src => client/src}/data/form-styleguide.json (100%) rename {src => client/src}/data/menu.json (100%) rename {src => client/src}/data/meta.json (100%) rename {src => client/src}/img/search.svg (100%) rename {src => client/src}/index.tsx (100%) rename {src => client/src}/models/AssetModel.ts (100%) rename {src => client/src}/ocean.ts (100%) rename {src => client/src}/react-app-env.d.ts (100%) rename {src => client/src}/routes/About.tsx (100%) rename {src => client/src}/routes/Details/AssetDetails.module.scss (100%) rename {src => client/src}/routes/Details/AssetDetails.tsx (100%) rename {src => client/src}/routes/Details/index.tsx (100%) rename {src => client/src}/routes/Faucet.module.scss (100%) rename {src => client/src}/routes/Faucet.tsx (100%) rename {src => client/src}/routes/Home.module.scss (100%) rename {src => client/src}/routes/Home.tsx (100%) rename {src => client/src}/routes/NotFound.tsx (100%) rename {src => client/src}/routes/Publish/Files/Item.module.scss (83%) rename {src => client/src}/routes/Publish/Files/Item.tsx (55%) rename {src => client/src}/routes/Publish/Files/ItemForm.module.scss (100%) rename {src => client/src}/routes/Publish/Files/ItemForm.tsx (100%) rename {src => client/src}/routes/Publish/Files/index.module.scss (100%) rename {src => client/src}/routes/Publish/Files/index.tsx (80%) rename {src => client/src}/routes/Publish/Progress.module.scss (100%) rename {src => client/src}/routes/Publish/Progress.tsx (100%) rename {src => client/src}/routes/Publish/Step.module.scss (100%) rename {src => client/src}/routes/Publish/Step.tsx (100%) rename {src => client/src}/routes/Publish/StepRegisterContent.module.scss (100%) rename {src => client/src}/routes/Publish/StepRegisterContent.tsx (100%) rename {src => client/src}/routes/Publish/index.tsx (100%) rename {src => client/src}/routes/Search.module.scss (100%) rename {src => client/src}/routes/Search.tsx (100%) rename {src => client/src}/routes/Styleguide.module.scss (100%) rename {src => client/src}/routes/Styleguide.tsx (100%) rename {src => client/src}/serviceWorker.ts (100%) rename {src => client/src}/styles/_animations.scss (100%) rename {src => client/src}/styles/_variables.scss (100%) rename {src => client/src}/styles/global.scss (100%) rename tsconfig.json => client/tsconfig.json (100%) create mode 100644 server/.gitignore create mode 100644 server/nodemon.json create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server/src/config/config.ts create mode 100644 server/src/index.ts create mode 100644 server/src/routes/UrlCheckRouter.ts create mode 100644 server/test/api.test.ts create mode 100644 server/tsconfig.json create mode 100644 server/tslint.json diff --git a/.editorconfig b/client/.editorconfig similarity index 100% rename from .editorconfig rename to client/.editorconfig diff --git a/.eslintrc b/client/.eslintrc similarity index 100% rename from .eslintrc rename to client/.eslintrc diff --git a/.gitignore b/client/.gitignore similarity index 100% rename from .gitignore rename to client/.gitignore diff --git a/.prettierignore b/client/.prettierignore similarity index 100% rename from .prettierignore rename to client/.prettierignore diff --git a/.prettierrc b/client/.prettierrc similarity index 100% rename from .prettierrc rename to client/.prettierrc diff --git a/.stylelintrc b/client/.stylelintrc similarity index 100% rename from .stylelintrc rename to client/.stylelintrc diff --git a/.travis.yml b/client/.travis.yml similarity index 100% rename from .travis.yml rename to client/.travis.yml diff --git a/LICENSE b/client/LICENSE similarity index 100% rename from LICENSE rename to client/LICENSE diff --git a/README.md b/client/README.md similarity index 100% rename from README.md rename to client/README.md diff --git a/library.json b/client/library.json similarity index 100% rename from library.json rename to client/library.json diff --git a/package-lock.json b/client/package-lock.json similarity index 99% rename from package-lock.json rename to client/package-lock.json index 0766274..8545f71 100644 --- a/package-lock.json +++ b/client/package-lock.json @@ -1427,6 +1427,12 @@ "integrity": "sha512-rzOhiQ55WzAiFgXRtitP/ZUT8iVNyllEpylJ5zHzR4vArUvMB39GTk+Zon/uAM0JxEFAWnwsxC2gH8s+tZ3Myg==", "dev": true }, + "@types/filesize": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/filesize/-/filesize-4.0.1.tgz", + "integrity": "sha512-GzPnNTUdyLSdLuKwPaI5dLJ783D/pEVTsikxX+3Q+8QNelZF2k5HQgEv0yFMo7N/vj5tvpRi9xAzXDQNUwuvfg==", + "dev": true + }, "@types/history": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.2.tgz", @@ -1439,6 +1445,12 @@ "integrity": "sha1-kU2r1QVG2bAUKAbkLHK8fCt+B4c=", "dev": true }, + "@types/jasmine": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.9.tgz", + "integrity": "sha512-vw3VyFPa9mlba6NZPBZC3q2Zrnkgy5xuCVI43/tTLX6umdYrYvcFtQUKi2zH3PjFZQ9XCxNM/NMrM9uk8TPOzg==", + "dev": true + }, "@types/jest": { "version": "24.0.9", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.9.tgz", @@ -3923,8 +3935,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3945,14 +3956,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3967,20 +3976,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -4097,8 +4103,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -4110,7 +4115,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4125,7 +4129,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4133,14 +4136,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -4159,7 +4160,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4240,8 +4240,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -4253,7 +4252,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4339,8 +4337,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -4376,7 +4373,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4396,7 +4392,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4440,14 +4435,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -7594,10 +7587,9 @@ } }, "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "dev": true + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.1.2.tgz", + "integrity": "sha512-iSWteWtfNcrWQTkQw8ble2bnonSl7YJImsn9OZKpE2E4IHhXI78eASpDYUljXZZdYj36QsEKjOs/CsiDqmKMJw==" }, "fill-range": { "version": "2.2.4", @@ -8204,8 +8196,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -8226,14 +8217,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8248,20 +8237,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -8378,8 +8364,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -8391,7 +8376,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -8406,7 +8390,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -8414,14 +8397,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -8440,7 +8421,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -8521,8 +8501,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -8534,7 +8513,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -8620,8 +8598,7 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -8657,7 +8634,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -8677,7 +8653,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -8721,14 +8696,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -17159,6 +17132,12 @@ "path-type": "^3.0.0" } }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -22661,7 +22640,7 @@ "lodash": "^4.17.11", "oboe": "2.1.4", "url-parse": "1.4.4", - "websocket": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", + "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", "xhr2-cookies": "1.1.0" }, "dependencies": { @@ -22711,7 +22690,7 @@ "requires": { "underscore": "1.8.3", "web3-core-helpers": "1.0.0-beta.37", - "websocket": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" + "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2" } }, "web3-shh": { diff --git a/package.json b/client/package.json similarity index 96% rename from package.json rename to client/package.json index ac4111a..aec3ebc 100644 --- a/package.json +++ b/client/package.json @@ -18,6 +18,7 @@ "@oceanprotocol/art": "^2.2.0", "@oceanprotocol/squid": "^0.3.1", "classnames": "^2.2.6", + "filesize": "^4.1.2", "is-url": "^1.2.4", "moment": "^2.24.0", "query-string": "^6.2.0", @@ -33,7 +34,9 @@ }, "devDependencies": { "@types/classnames": "^2.2.7", + "@types/filesize": "^4.0.1", "@types/is-url": "^1.2.28", + "@types/jasmine": "^3.3.9", "@types/jest": "^24.0.9", "@types/node": "^11.9.5", "@types/query-string": "^6.2.0", diff --git a/public/favicon.ico b/client/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to client/public/favicon.ico diff --git a/public/fonts/SharpSans-Bold.woff b/client/public/fonts/SharpSans-Bold.woff similarity index 100% rename from public/fonts/SharpSans-Bold.woff rename to client/public/fonts/SharpSans-Bold.woff diff --git a/public/fonts/SharpSans-Bold.woff2 b/client/public/fonts/SharpSans-Bold.woff2 similarity index 100% rename from public/fonts/SharpSans-Bold.woff2 rename to client/public/fonts/SharpSans-Bold.woff2 diff --git a/public/fonts/SharpSans-Extrabold.woff b/client/public/fonts/SharpSans-Extrabold.woff similarity index 100% rename from public/fonts/SharpSans-Extrabold.woff rename to client/public/fonts/SharpSans-Extrabold.woff diff --git a/public/fonts/SharpSans-Extrabold.woff2 b/client/public/fonts/SharpSans-Extrabold.woff2 similarity index 100% rename from public/fonts/SharpSans-Extrabold.woff2 rename to client/public/fonts/SharpSans-Extrabold.woff2 diff --git a/public/fonts/SharpSans-Medium.woff b/client/public/fonts/SharpSans-Medium.woff similarity index 100% rename from public/fonts/SharpSans-Medium.woff rename to client/public/fonts/SharpSans-Medium.woff diff --git a/public/fonts/SharpSans-Medium.woff2 b/client/public/fonts/SharpSans-Medium.woff2 similarity index 100% rename from public/fonts/SharpSans-Medium.woff2 rename to client/public/fonts/SharpSans-Medium.woff2 diff --git a/public/fonts/SharpSansDispNo1-Bold.woff b/client/public/fonts/SharpSansDispNo1-Bold.woff similarity index 100% rename from public/fonts/SharpSansDispNo1-Bold.woff rename to client/public/fonts/SharpSansDispNo1-Bold.woff diff --git a/public/fonts/SharpSansDispNo1-Bold.woff2 b/client/public/fonts/SharpSansDispNo1-Bold.woff2 similarity index 100% rename from public/fonts/SharpSansDispNo1-Bold.woff2 rename to client/public/fonts/SharpSansDispNo1-Bold.woff2 diff --git a/public/icons/favicon_128.png b/client/public/icons/favicon_128.png similarity index 100% rename from public/icons/favicon_128.png rename to client/public/icons/favicon_128.png diff --git a/public/icons/favicon_256.png b/client/public/icons/favicon_256.png similarity index 100% rename from public/icons/favicon_256.png rename to client/public/icons/favicon_256.png diff --git a/public/icons/favicon_512.png b/client/public/icons/favicon_512.png similarity index 100% rename from public/icons/favicon_512.png rename to client/public/icons/favicon_512.png diff --git a/public/index.html b/client/public/index.html similarity index 100% rename from public/index.html rename to client/public/index.html diff --git a/public/manifest.json b/client/public/manifest.json similarity index 100% rename from public/manifest.json rename to client/public/manifest.json diff --git a/src/App.module.scss b/client/src/App.module.scss similarity index 100% rename from src/App.module.scss rename to client/src/App.module.scss diff --git a/src/App.test.tsx b/client/src/App.test.tsx similarity index 100% rename from src/App.test.tsx rename to client/src/App.test.tsx diff --git a/src/App.tsx b/client/src/App.tsx similarity index 100% rename from src/App.tsx rename to client/src/App.tsx diff --git a/src/Routes.tsx b/client/src/Routes.tsx similarity index 100% rename from src/Routes.tsx rename to client/src/Routes.tsx diff --git a/src/components/Footer.module.scss b/client/src/components/Footer.module.scss similarity index 100% rename from src/components/Footer.module.scss rename to client/src/components/Footer.module.scss diff --git a/src/components/Footer.tsx b/client/src/components/Footer.tsx similarity index 100% rename from src/components/Footer.tsx rename to client/src/components/Footer.tsx diff --git a/src/components/Header.module.scss b/client/src/components/Header.module.scss similarity index 100% rename from src/components/Header.module.scss rename to client/src/components/Header.module.scss diff --git a/src/components/Header.tsx b/client/src/components/Header.tsx similarity index 100% rename from src/components/Header.tsx rename to client/src/components/Header.tsx diff --git a/src/components/atoms/Button.module.scss b/client/src/components/atoms/Button.module.scss similarity index 100% rename from src/components/atoms/Button.module.scss rename to client/src/components/atoms/Button.module.scss diff --git a/src/components/atoms/Button.test.tsx b/client/src/components/atoms/Button.test.tsx similarity index 100% rename from src/components/atoms/Button.test.tsx rename to client/src/components/atoms/Button.test.tsx diff --git a/src/components/atoms/Button.tsx b/client/src/components/atoms/Button.tsx similarity index 100% rename from src/components/atoms/Button.tsx rename to client/src/components/atoms/Button.tsx diff --git a/src/components/atoms/Content.module.scss b/client/src/components/atoms/Content.module.scss similarity index 100% rename from src/components/atoms/Content.module.scss rename to client/src/components/atoms/Content.module.scss diff --git a/src/components/atoms/Content.tsx b/client/src/components/atoms/Content.tsx similarity index 100% rename from src/components/atoms/Content.tsx rename to client/src/components/atoms/Content.tsx diff --git a/src/components/atoms/Form/Form.module.scss b/client/src/components/atoms/Form/Form.module.scss similarity index 100% rename from src/components/atoms/Form/Form.module.scss rename to client/src/components/atoms/Form/Form.module.scss diff --git a/src/components/atoms/Form/Form.tsx b/client/src/components/atoms/Form/Form.tsx similarity index 100% rename from src/components/atoms/Form/Form.tsx rename to client/src/components/atoms/Form/Form.tsx diff --git a/src/components/atoms/Form/Help.module.scss b/client/src/components/atoms/Form/Help.module.scss similarity index 100% rename from src/components/atoms/Form/Help.module.scss rename to client/src/components/atoms/Form/Help.module.scss diff --git a/src/components/atoms/Form/Help.test.tsx b/client/src/components/atoms/Form/Help.test.tsx similarity index 100% rename from src/components/atoms/Form/Help.test.tsx rename to client/src/components/atoms/Form/Help.test.tsx diff --git a/src/components/atoms/Form/Help.tsx b/client/src/components/atoms/Form/Help.tsx similarity index 100% rename from src/components/atoms/Form/Help.tsx rename to client/src/components/atoms/Form/Help.tsx diff --git a/src/components/atoms/Form/Input.module.scss b/client/src/components/atoms/Form/Input.module.scss similarity index 100% rename from src/components/atoms/Form/Input.module.scss rename to client/src/components/atoms/Form/Input.module.scss diff --git a/src/components/atoms/Form/Input.tsx b/client/src/components/atoms/Form/Input.tsx similarity index 100% rename from src/components/atoms/Form/Input.tsx rename to client/src/components/atoms/Form/Input.tsx diff --git a/src/components/atoms/Form/InputGroup.module.scss b/client/src/components/atoms/Form/InputGroup.module.scss similarity index 100% rename from src/components/atoms/Form/InputGroup.module.scss rename to client/src/components/atoms/Form/InputGroup.module.scss diff --git a/src/components/atoms/Form/InputGroup.tsx b/client/src/components/atoms/Form/InputGroup.tsx similarity index 100% rename from src/components/atoms/Form/InputGroup.tsx rename to client/src/components/atoms/Form/InputGroup.tsx diff --git a/src/components/atoms/Form/Label.module.scss b/client/src/components/atoms/Form/Label.module.scss similarity index 100% rename from src/components/atoms/Form/Label.module.scss rename to client/src/components/atoms/Form/Label.module.scss diff --git a/src/components/atoms/Form/Label.tsx b/client/src/components/atoms/Form/Label.tsx similarity index 100% rename from src/components/atoms/Form/Label.tsx rename to client/src/components/atoms/Form/Label.tsx diff --git a/src/components/atoms/Form/Row.module.scss b/client/src/components/atoms/Form/Row.module.scss similarity index 100% rename from src/components/atoms/Form/Row.module.scss rename to client/src/components/atoms/Form/Row.module.scss diff --git a/src/components/atoms/Form/Row.tsx b/client/src/components/atoms/Form/Row.tsx similarity index 100% rename from src/components/atoms/Form/Row.tsx rename to client/src/components/atoms/Form/Row.tsx diff --git a/src/components/atoms/Spinner.module.scss b/client/src/components/atoms/Spinner.module.scss similarity index 100% rename from src/components/atoms/Spinner.module.scss rename to client/src/components/atoms/Spinner.module.scss diff --git a/src/components/atoms/Spinner.tsx b/client/src/components/atoms/Spinner.tsx similarity index 100% rename from src/components/atoms/Spinner.tsx rename to client/src/components/atoms/Spinner.tsx diff --git a/src/components/molecules/AccountStatus/Indicator.module.scss b/client/src/components/molecules/AccountStatus/Indicator.module.scss similarity index 100% rename from src/components/molecules/AccountStatus/Indicator.module.scss rename to client/src/components/molecules/AccountStatus/Indicator.module.scss diff --git a/src/components/molecules/AccountStatus/Indicator.tsx b/client/src/components/molecules/AccountStatus/Indicator.tsx similarity index 100% rename from src/components/molecules/AccountStatus/Indicator.tsx rename to client/src/components/molecules/AccountStatus/Indicator.tsx diff --git a/src/components/molecules/AccountStatus/Popover.module.scss b/client/src/components/molecules/AccountStatus/Popover.module.scss similarity index 100% rename from src/components/molecules/AccountStatus/Popover.module.scss rename to client/src/components/molecules/AccountStatus/Popover.module.scss diff --git a/src/components/molecules/AccountStatus/Popover.tsx b/client/src/components/molecules/AccountStatus/Popover.tsx similarity index 100% rename from src/components/molecules/AccountStatus/Popover.tsx rename to client/src/components/molecules/AccountStatus/Popover.tsx diff --git a/src/components/molecules/AccountStatus/index.tsx b/client/src/components/molecules/AccountStatus/index.tsx similarity index 100% rename from src/components/molecules/AccountStatus/index.tsx rename to client/src/components/molecules/AccountStatus/index.tsx diff --git a/src/components/molecules/Asset.module.scss b/client/src/components/molecules/Asset.module.scss similarity index 100% rename from src/components/molecules/Asset.module.scss rename to client/src/components/molecules/Asset.module.scss diff --git a/src/components/molecules/Asset.tsx b/client/src/components/molecules/Asset.tsx similarity index 100% rename from src/components/molecules/Asset.tsx rename to client/src/components/molecules/Asset.tsx diff --git a/src/components/molecules/Web3message.module.scss b/client/src/components/molecules/Web3message.module.scss similarity index 100% rename from src/components/molecules/Web3message.module.scss rename to client/src/components/molecules/Web3message.module.scss diff --git a/src/components/molecules/Web3message.tsx b/client/src/components/molecules/Web3message.tsx similarity index 100% rename from src/components/molecules/Web3message.tsx rename to client/src/components/molecules/Web3message.tsx diff --git a/src/components/templates/Route.module.scss b/client/src/components/templates/Route.module.scss similarity index 100% rename from src/components/templates/Route.module.scss rename to client/src/components/templates/Route.module.scss diff --git a/src/components/templates/Route.tsx b/client/src/components/templates/Route.tsx similarity index 100% rename from src/components/templates/Route.tsx rename to client/src/components/templates/Route.tsx diff --git a/src/config.ts b/client/src/config.ts similarity index 88% rename from src/config.ts rename to client/src/config.ts index 5891de4..d5ddcb6 100644 --- a/src/config.ts +++ b/client/src/config.ts @@ -1,3 +1,7 @@ +export const serviceScheme = 'http' +export const serviceHost = 'localhost' +export const servicePort = 4000 + export const nodeScheme = 'http' export const nodeHost = 'localhost' export const nodePort = 8545 diff --git a/src/context/User.ts b/client/src/context/User.ts similarity index 100% rename from src/context/User.ts rename to client/src/context/User.ts diff --git a/src/data/form-publish.json b/client/src/data/form-publish.json similarity index 100% rename from src/data/form-publish.json rename to client/src/data/form-publish.json diff --git a/src/data/form-styleguide.json b/client/src/data/form-styleguide.json similarity index 100% rename from src/data/form-styleguide.json rename to client/src/data/form-styleguide.json diff --git a/src/data/menu.json b/client/src/data/menu.json similarity index 100% rename from src/data/menu.json rename to client/src/data/menu.json diff --git a/src/data/meta.json b/client/src/data/meta.json similarity index 100% rename from src/data/meta.json rename to client/src/data/meta.json diff --git a/src/img/search.svg b/client/src/img/search.svg similarity index 100% rename from src/img/search.svg rename to client/src/img/search.svg diff --git a/src/index.tsx b/client/src/index.tsx similarity index 100% rename from src/index.tsx rename to client/src/index.tsx diff --git a/src/models/AssetModel.ts b/client/src/models/AssetModel.ts similarity index 100% rename from src/models/AssetModel.ts rename to client/src/models/AssetModel.ts diff --git a/src/ocean.ts b/client/src/ocean.ts similarity index 100% rename from src/ocean.ts rename to client/src/ocean.ts diff --git a/src/react-app-env.d.ts b/client/src/react-app-env.d.ts similarity index 100% rename from src/react-app-env.d.ts rename to client/src/react-app-env.d.ts diff --git a/src/routes/About.tsx b/client/src/routes/About.tsx similarity index 100% rename from src/routes/About.tsx rename to client/src/routes/About.tsx diff --git a/src/routes/Details/AssetDetails.module.scss b/client/src/routes/Details/AssetDetails.module.scss similarity index 100% rename from src/routes/Details/AssetDetails.module.scss rename to client/src/routes/Details/AssetDetails.module.scss diff --git a/src/routes/Details/AssetDetails.tsx b/client/src/routes/Details/AssetDetails.tsx similarity index 100% rename from src/routes/Details/AssetDetails.tsx rename to client/src/routes/Details/AssetDetails.tsx diff --git a/src/routes/Details/index.tsx b/client/src/routes/Details/index.tsx similarity index 100% rename from src/routes/Details/index.tsx rename to client/src/routes/Details/index.tsx diff --git a/src/routes/Faucet.module.scss b/client/src/routes/Faucet.module.scss similarity index 100% rename from src/routes/Faucet.module.scss rename to client/src/routes/Faucet.module.scss diff --git a/src/routes/Faucet.tsx b/client/src/routes/Faucet.tsx similarity index 100% rename from src/routes/Faucet.tsx rename to client/src/routes/Faucet.tsx diff --git a/src/routes/Home.module.scss b/client/src/routes/Home.module.scss similarity index 100% rename from src/routes/Home.module.scss rename to client/src/routes/Home.module.scss diff --git a/src/routes/Home.tsx b/client/src/routes/Home.tsx similarity index 100% rename from src/routes/Home.tsx rename to client/src/routes/Home.tsx diff --git a/src/routes/NotFound.tsx b/client/src/routes/NotFound.tsx similarity index 100% rename from src/routes/NotFound.tsx rename to client/src/routes/NotFound.tsx diff --git a/src/routes/Publish/Files/Item.module.scss b/client/src/routes/Publish/Files/Item.module.scss similarity index 83% rename from src/routes/Publish/Files/Item.module.scss rename to client/src/routes/Publish/Files/Item.module.scss index 59e2f81..08fdc7b 100644 --- a/src/routes/Publish/Files/Item.module.scss +++ b/client/src/routes/Publish/Files/Item.module.scss @@ -32,3 +32,13 @@ opacity: .7; } } + +.details { + font-size: $font-size-mini; + font-size: .85rem; + color: #6e7e93; + + span { + padding-right: .5rem; + } +} diff --git a/src/routes/Publish/Files/Item.tsx b/client/src/routes/Publish/Files/Item.tsx similarity index 55% rename from src/routes/Publish/Files/Item.tsx rename to client/src/routes/Publish/Files/Item.tsx index 995569c..bba4d0e 100644 --- a/src/routes/Publish/Files/Item.tsx +++ b/client/src/routes/Publish/Files/Item.tsx @@ -1,9 +1,15 @@ import React from 'react' import styles from './Item.module.scss' +import filesize from 'filesize' const Item = ({ item, removeItem }: { item: any; removeItem: any }) => (
  • {item.url} +
    + url: {item.found ? 'confirmed' : 'unconfirmed'} + size: { item.found && item.size ? filesize(item.size) : 'unknown'} + type: { item.found && item.type ? item.type : 'unknown'} +