diff --git a/.babelrc b/.babelrc index 730f18c9..e6b4c23b 100644 --- a/.babelrc +++ b/.babelrc @@ -15,5 +15,5 @@ "react", "stage-0" ], - "plugins": [["module-resolver", { "root": ["src"] }], "recharts", "styled-components"] + "plugins": [["module-resolver", { "root": ["src"] }], "styled-components"] } diff --git a/electron-builder.yml b/electron-builder.yml index 70b1b19f..55bd7f54 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -44,4 +44,3 @@ nsis: files: - dist/internals - "!node_modules/jsqr/test-data${/*}" - - "!node_modules/recharts/node_modules${/*}" diff --git a/package.json b/package.json index e2209509..302073b0 100644 --- a/package.json +++ b/package.json @@ -42,14 +42,14 @@ "webpack-sources": "1.0.1" }, "dependencies": { - "@fortawesome/fontawesome": "^1.1.3", - "@fortawesome/fontawesome-free-brands": "^5.0.6", - "@fortawesome/fontawesome-free-regular": "^5.0.6", - "@fortawesome/fontawesome-free-solid": "^5.0.6", + "@fortawesome/fontawesome": "^1.1.4", + "@fortawesome/fontawesome-free-brands": "^5.0.7", + "@fortawesome/fontawesome-free-regular": "^5.0.7", + "@fortawesome/fontawesome-free-solid": "^5.0.7", "@fortawesome/react-fontawesome": "^0.0.17", "@ledgerhq/common": "^4.2.0", - "@ledgerhq/currencies": "^4.2.0", - "@ledgerhq/hw-app-btc": "^4.2.1", + "@ledgerhq/currencies": "^4.2.2", + "@ledgerhq/hw-app-btc": "^4.2.2", "@ledgerhq/hw-app-eth": "^4.2.0", "@ledgerhq/hw-transport": "^4.2.0", "@ledgerhq/hw-transport-node-hid": "^4.2.0", @@ -61,12 +61,12 @@ "color": "^3.0.0", "cross-env": "^5.1.3", "debug": "^3.1.0", - "downshift": "^1.28.0", + "downshift": "^1.28.1", "electron-store": "^1.3.0", "electron-updater": "^2.20.1", "fuse.js": "^3.2.0", "history": "^4.7.2", - "i18next": "^10.4.1", + "i18next": "^10.5.0", "i18next-node-fs-backend": "^1.0.0", "ledger-test-library": "KhalilBellakrid/ledger-test-library", "lodash": "^4.17.5", @@ -87,7 +87,6 @@ "react-router-dom": "^4.2.2", "react-router-redux": "5.0.0-alpha.9", "react-smooth-scrollbar": "^8.0.6", - "recharts": "^1.0.0-beta.10", "redux": "^3.7.2", "redux-actions": "^2.2.1", "redux-thunk": "^2.2.0", @@ -95,7 +94,8 @@ "source-map-support": "^0.5.3", "styled-components": "^3.1.6", "styled-system": "^2.1.0", - "tippy.js": "^2.2.3" + "tippy.js": "^2.2.3", + "victory": "^0.25.6" }, "devDependencies": { "@storybook/addon-actions": "^3.3.14", @@ -106,9 +106,8 @@ "@storybook/react": "^3.3.14", "babel-core": "^6.26.0", "babel-eslint": "^8.2.1", - "babel-loader": "^7.1.2", + "babel-loader": "^7.1.3", "babel-plugin-module-resolver": "^3.1.0", - "babel-plugin-recharts": "^1.1.1", "babel-plugin-styled-components": "^1.5.0", "babel-preset-env": "^1.6.1", "babel-preset-flow": "^6.23.0", @@ -117,9 +116,9 @@ "chalk": "^2.3.1", "chance": "^1.0.13", "concurrently": "^3.5.1", - "dotenv": "^5.0.0", + "dotenv": "^5.0.1", "electron": "1.8.2", - "electron-builder": "^20.0.8", + "electron-builder": "^20.2.0", "electron-devtools-installer": "^2.2.3", "electron-webpack": "1.13.0", "eslint": "^4.18.1", @@ -132,12 +131,12 @@ "eslint-plugin-react": "^7.7.0", "flow-bin": "^0.66.0", "flow-typed": "^2.3.0", - "hard-source-webpack-plugin": "^0.5.18", + "hard-source-webpack-plugin": "^0.6.0", "husky": "^0.14.3", "js-yaml": "^3.10.0", "lint-staged": "^7.0.0", "node-loader": "^0.6.0", - "prettier": "^1.10.2", + "prettier": "^1.11.0", "react-hot-loader": "^4.0.0-beta.21", "webpack": "^3.11.0" } diff --git a/src/components/DashboardPage/AccountCard.js b/src/components/DashboardPage/AccountCard.js index 1a67861f..ede20d9b 100644 --- a/src/components/DashboardPage/AccountCard.js +++ b/src/components/DashboardPage/AccountCard.js @@ -5,7 +5,7 @@ import { getIconByCoinType } from '@ledgerhq/currencies/react' import type { Account } from 'types/common' -import { AreaChart } from 'components/base/Chart' +import { SimpleAreaChart } from 'components/base/Chart' import Bar from 'components/base/Bar' import Box, { Card } from 'components/base/Box' import FormattedVal from 'components/base/FormattedVal' @@ -20,6 +20,7 @@ const AccountCard = ({ onClick: Function, }) => { const Icon = getIconByCoinType(account.currency.coinType) + return ( @@ -45,14 +46,13 @@ const AccountCard = ({ val={account.balance} /> - ) diff --git a/src/components/DashboardPage/index.js b/src/components/DashboardPage/index.js index e016f295..ccfafc5b 100644 --- a/src/components/DashboardPage/index.js +++ b/src/components/DashboardPage/index.js @@ -51,7 +51,7 @@ type Props = { type State = { accountsChunk: Array, allTransactions: Array, - fakeDatas: Array, + fakeDatas: Object, fakeDatasMerge: Array, selectedTime: string, } @@ -63,16 +63,22 @@ const TIMEOUT_REFRESH_DATAS = 5e3 const itemsTimes = [{ key: 'day' }, { key: 'week' }, { key: 'month' }, { key: 'year' }] const generateFakeData = v => ({ + index: v, name: `Day ${v}`, value: random(10, 100), }) const generateFakeDatas = accounts => - accounts.map(() => [...Array(25).keys()].map(v => generateFakeData(v + 1))) + accounts.reduce((result, a) => { + result[a.id] = [...Array(25).keys()].map(v => generateFakeData(v + 1)) + + return result + }, {}) const mergeFakeDatas = fakeDatas => takeRight( - fakeDatas.reduce((res, data) => { + Object.keys(fakeDatas).reduce((res, k) => { + const data = fakeDatas[k] data.forEach((d, i) => { res[i] = { name: d.name, @@ -122,7 +128,7 @@ class DashboardPage extends PureComponent { this.state = { accountsChunk: getAccountsChunk(props.accounts), allTransactions: getAllTransactions(props.accounts), - fakeDatas: generateFakeDatas(props.accounts), + fakeDatas, fakeDatasMerge: mergeFakeDatas(fakeDatas), selectedTime: 'day', } @@ -142,7 +148,7 @@ class DashboardPage extends PureComponent { } componentWillReceiveProps(nextProps) { - if (this.state.fakeDatas.length === 0) { + if (Object.keys(this.state.fakeDatas).length === 0) { const fakeDatas = generateFakeDatas(nextProps.accounts) this.setState({ @@ -165,30 +171,32 @@ class DashboardPage extends PureComponent { } addFakeDatasOnAccounts = () => { - const { accounts } = this.props - const { fakeDatas } = this.state - - const newFakeDatas = accounts.reduce((res, acc, i) => { - if (res[i]) { - const nextIndex = res[i].length - res[i][nextIndex] = generateFakeData(nextIndex) - res[i] = takeRight(res[i], 25) - } - return res - }, fakeDatas) + this._timeout = setTimeout(() => { + const { fakeDatas } = this.state + + const newFakeDatas = {} + + Object.keys(fakeDatas).forEach(k => { + const data = fakeDatas[k] + + data.shift() - window.requestIdleCallback(() => { - if (this._mounted) { - this.setState({ - fakeDatas: newFakeDatas, - fakeDatasMerge: mergeFakeDatas(newFakeDatas), - }) - } + const lastIndex = data[data.length - 1] + + newFakeDatas[k] = [...data, generateFakeData(lastIndex.index + 1)] + }) + + window.requestIdleCallback(() => { + if (this._mounted) { + this.setState({ + fakeDatas: newFakeDatas, + fakeDatasMerge: mergeFakeDatas(newFakeDatas), + }) + } - this._timeout = setTimeout(() => { this.addFakeDatasOnAccounts() - }, TIMEOUT_REFRESH_DATAS) - }) + }) + }, TIMEOUT_REFRESH_DATAS) } _timeout = undefined @@ -199,7 +207,6 @@ class DashboardPage extends PureComponent { const { push, accounts, t } = this.props const { accountsChunk, allTransactions, selectedTime, fakeDatas, fakeDatasMerge } = this.state - let accountIndex = 0 const totalAccounts = accounts.length return ( @@ -232,15 +239,16 @@ class DashboardPage extends PureComponent { @@ -272,7 +280,7 @@ class DashboardPage extends PureComponent { push(`/account/${account.id}`)} /> ), diff --git a/src/components/DevTools.js b/src/components/DevTools.js index e709200f..1ca4312d 100644 --- a/src/components/DevTools.js +++ b/src/components/DevTools.js @@ -5,7 +5,12 @@ import React, { PureComponent } from 'react' import { remote, ipcRenderer } from 'electron' import { translate } from 'react-i18next' -import { AreaChart, Area } from 'recharts' +import { VictoryArea } from 'victory' +import styled from 'styled-components' +import color from 'color' +import fs from 'fs' +import path from 'path' + import takeRight from 'lodash/takeRight' import last from 'lodash/last' import reduce from 'lodash/fp/reduce' @@ -13,15 +18,11 @@ import flow from 'lodash/fp/flow' import filter from 'lodash/fp/filter' import sortBy from 'lodash/fp/sortBy' import chunk from 'lodash/chunk' -import styled from 'styled-components' -import color from 'color' -import fs from 'fs' -import path from 'path' import Box from 'components/base/Box' import Bar from 'components/base/Bar' import CopyToClipboard from 'components/base/CopyToClipboard' -import { ChartWrapper } from 'components/base/Chart' +import { WrapperChart } from 'components/base/Chart' import staticPath from 'helpers/staticPath' @@ -245,22 +246,22 @@ class DevTools extends PureComponent { {k} - ( - ( + - - + y="value" + style={{ + data: { + stroke: '#8884d8', + fill: '#8884d8', + }, + }} + height={height} + width={width} + padding={{ top: 10, right: 0, left: 0, bottom: 0 }} + /> )} /> diff --git a/src/components/base/Chart/index.js b/src/components/base/Chart/index.js index 1b826d1f..965fcf5d 100644 --- a/src/components/base/Chart/index.js +++ b/src/components/base/Chart/index.js @@ -1,13 +1,24 @@ // @flow -import React, { PureComponent } from 'react' -import { AreaChart as ReactAreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip } from 'recharts' +import React, { Fragment, PureComponent } from 'react' +import { + VictoryChart, + VictoryArea, + VictoryAxis, + VictoryTooltip, + VictoryVoronoiContainer, + VictoryLabel, +} from 'victory' + +import { radii, space, colors, fontSizes } from 'styles/theme' +import { rgba, ff } from 'styles/helpers' import Box from 'components/base/Box' -const ANIMATION_DURATION = 1000 +const ANIMATION_DURATION = 600 type Props = { + height: number, render: Function, } @@ -16,7 +27,7 @@ type State = { width: number, } -export class ChartWrapper extends PureComponent { +export class WrapperChart extends PureComponent { state = { isAnimationActive: true, width: 0, @@ -58,110 +69,203 @@ export class ChartWrapper extends PureComponent { _timeout = undefined render() { - const { render } = this.props + const { render, height } = this.props const { isAnimationActive, width } = this.state - return (this._node = n)}>{render({ isAnimationActive, width })} + return ( + (this._node = n)} style={{ height }}> + {render({ isAnimationActive, height, width })} + + ) } } -export const AreaChart = ({ - id, +function getLinearGradient({ linearGradient, - strokeWidth, - height, + id, color, - data, - margin, - tiny, }: { + linearGradient: LinearGradient, + id: string, + color: string, +}) { + return ( + + + + {linearGradient.map((g, i) => ( + + ))} + + + + ) +} + +type LinearGradient = Array> + +type Chart = { id: string, - linearGradient?: Array>, - strokeWidth?: number, + linearGradient: LinearGradient, + strokeWidth: number, height: number, + padding?: Object | number, color: string, data: Array, - margin?: Object, - tiny?: boolean, -}) => ( - ( - - {linearGradient && ( - - - {linearGradient.map((g, i) => ( - - ))} - - - )} - {!tiny && ( - { - const { value } = payload - - if (index !== 0) { - return ( - - - {value}k - - - ) - } +} - return null - }} - /> - )} - {!tiny && ( - { - const { value } = payload - - return ( - - - {value} - - - ) - }} - /> - )} - {!tiny && } - {!tiny && } - ( + ( + + {getLinearGradient({ + linearGradient, + id, + color, + })} + - + )} /> ) +SimpleAreaChart.defaultProps = { + padding: 0, +} + +export const AreaChart = ({ + strokeWidth, + id, + color, + linearGradient, + padding, + height, + data, +}: Chart) => { + const tickLabelsStyle = { + fill: colors.grey, + fontSize: fontSizes[4], + fontFamily: 'inherit', + fontWeight: 'inherit', + } + + return ( + ( + + {getLinearGradient({ + linearGradient, + id, + color, + })} + } + > + + + + } + flyoutStyle={{ + fill: rgba(colors.dark, 0.8), + stroke: null, + }} + width={a => space[1] * 2 + a.value.length} + /> + } + labels={d => d.y} + style={{ + data: { + stroke: color, + fill: `url(#${id})`, + strokeWidth, + }, + }} + width={width} + /> + + + )} + /> + ) +} + AreaChart.defaultProps = { - linearGradient: [[5, 0.3], [65, 0]], - margin: undefined, - strokeWidth: 2, - tiny: false, + linearGradient: [[5, 0.2], [50, 0]], + padding: undefined, } diff --git a/src/styles/helpers.js b/src/styles/helpers.js index d24855e5..3775c0c0 100644 --- a/src/styles/helpers.js +++ b/src/styles/helpers.js @@ -3,6 +3,7 @@ import Color from 'color' import staticPath from 'helpers/staticPath' +import { fontFamilies } from 'styles/theme' export const rgba = (c: string, a: number) => Color(c) @@ -10,6 +11,17 @@ export const rgba = (c: string, a: number) => .rgb() .toString() +export const ff = (v: string) => { + const [font, type = 'Regular'] = v.split('|') + const { style, weight } = fontFamilies[font][type] + + return { + fontFamily: font, + fontWeight: weight, + fontStyle: style, + } +} + export const fontFace = ({ name, file, diff --git a/src/styles/reset.js b/src/styles/reset.js index 61b46342..ebceaf00 100644 --- a/src/styles/reset.js +++ b/src/styles/reset.js @@ -52,14 +52,9 @@ em { z-index: 20 !important; } -.recharts-wrapper { - cursor: inherit !important; +.tippy-tooltip { + padding: 0; } - .tippy-tooltip .tippy-content { background: transparent; -} - -.tippy-tooltip { - padding: 0; }` diff --git a/src/styles/styled/fontFamily.js b/src/styles/styled/fontFamily.js index 1533fc91..d0a25e6d 100644 --- a/src/styles/styled/fontFamily.js +++ b/src/styles/styled/fontFamily.js @@ -1,3 +1,5 @@ +import { ff } from 'styles/helpers' + export default props => { const prop = props.ff @@ -5,12 +7,5 @@ export default props => { return null } - const [font, type = 'Regular'] = prop.split('|') - const { style, weight } = props.theme.fontFamilies[font][type] - - return { - fontFamily: font, - fontWeight: weight, - fontStyle: style, - } + return ff(prop) } diff --git a/yarn.lock b/yarn.lock index ee6a9d75..08e32a7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -116,33 +116,33 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@fortawesome/fontawesome-common-types@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.2.tgz#d6aa075058f0c984d6e2ebcbc0052c1f7f9bea72" +"@fortawesome/fontawesome-common-types@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.3.tgz#8475e0f2d1ad1f858c4ec2e76ed9a2456a09ad83" -"@fortawesome/fontawesome-free-brands@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-brands/-/fontawesome-free-brands-5.0.6.tgz#fee054ce0c4d74019020f6353ca85cfb408de719" +"@fortawesome/fontawesome-free-brands@^5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-brands/-/fontawesome-free-brands-5.0.7.tgz#0fe131da1bfb7f5f49b7b800b9e198e530fab418" dependencies: - "@fortawesome/fontawesome-common-types" "^0.1.2" + "@fortawesome/fontawesome-common-types" "^0.1.3" -"@fortawesome/fontawesome-free-regular@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-regular/-/fontawesome-free-regular-5.0.6.tgz#fafc624025a247c1a1bbb5080b9902a490cd79f5" +"@fortawesome/fontawesome-free-regular@^5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-regular/-/fontawesome-free-regular-5.0.7.tgz#3a347278e34c58db8c1c7891e9e567d57d1d7db9" dependencies: - "@fortawesome/fontawesome-common-types" "^0.1.2" + "@fortawesome/fontawesome-common-types" "^0.1.3" -"@fortawesome/fontawesome-free-solid@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-solid/-/fontawesome-free-solid-5.0.6.tgz#6bb5acdd081b03ab25b7684f7089b37ed3d20740" +"@fortawesome/fontawesome-free-solid@^5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-solid/-/fontawesome-free-solid-5.0.7.tgz#b7e68876a24b3a0a34c09ee68bd57fe63925a578" dependencies: - "@fortawesome/fontawesome-common-types" "^0.1.2" + "@fortawesome/fontawesome-common-types" "^0.1.3" -"@fortawesome/fontawesome@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome/-/fontawesome-1.1.3.tgz#7a4844345cbc7fb238f5f1788af73bd302ee9b80" +"@fortawesome/fontawesome@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome/-/fontawesome-1.1.4.tgz#03065638046206c2226e103b550196934c75be9b" dependencies: - "@fortawesome/fontawesome-common-types" "^0.1.2" + "@fortawesome/fontawesome-common-types" "^0.1.3" "@fortawesome/react-fontawesome@^0.0.17": version "0.0.17" @@ -165,15 +165,15 @@ redux "^3.7.2" redux-thunk "^2.2.0" -"@ledgerhq/currencies@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/currencies/-/currencies-4.2.0.tgz#c54e9d19493c1086dbdbc968096dcc107c46becc" +"@ledgerhq/currencies@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/currencies/-/currencies-4.2.2.tgz#3fadbdff2b4f7adce9ba255a407bd3999aea3fdc" dependencies: querystring "^0.2.0" -"@ledgerhq/hw-app-btc@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-btc/-/hw-app-btc-4.2.1.tgz#987900030484253ce1e5e0e01739c8d8319a6935" +"@ledgerhq/hw-app-btc@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-btc/-/hw-app-btc-4.2.2.tgz#17be52803ce4fb639b62e9920ff450acebac789f" dependencies: "@ledgerhq/hw-transport" "^4.2.0" create-hash "^1.1.3" @@ -471,11 +471,7 @@ airbnb-js-shims@^1.4.0: string.prototype.padend "^3.0.0" string.prototype.padstart "^3.0.0" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv-keywords@^3.1.0: +ajv-keywords@^3.0.0, ajv-keywords@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" @@ -486,7 +482,7 @@ ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.0.0, ajv@^5.1.0, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -495,9 +491,9 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.1.0, ajv@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.1.1.tgz#978d597fbc2b7d0e5a5c3ddeb149a682f2abfa0e" +ajv@^6.0.1, ajv@^6.1.0, ajv@^6.1.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.2.0.tgz#afac295bbaa0152449e522742e4547c1ae9328d2" dependencies: fast-deep-equal "^1.0.0" fast-json-stable-stringify "^2.0.0" @@ -581,45 +577,25 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -app-builder-bin-linux@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.3.7.tgz#9eeb28f7f2c9eb91f4dcd02f03e9117b45891cae" - -app-builder-bin-linux@1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.3.8.tgz#138eaddce970fb485b715e8c3cd88064aee4efb4" - -app-builder-bin-mac@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.3.7.tgz#43705d9f0c75ef8ac2a07dcf9c31d9c0d3e27770" - -app-builder-bin-mac@1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.3.8.tgz#ca7fa326ffeea0eb70cbdce1715ebb27b2ebb7a2" - -app-builder-bin-win@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.3.7.tgz#f5ddef00b0822885fd376f4323aa48c14a5788bf" +app-builder-bin-linux@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.5.0.tgz#c22df1ab9ee7fb0270ec27a3c8a6993966ea4220" -app-builder-bin-win@1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.3.8.tgz#5f48cbe5ca9b200a11b7f786c7de486b53543df9" +app-builder-bin-mac@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.5.0.tgz#40821128a1f20e0559f1fca71a59ecab81bb59b5" -app-builder-bin@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.3.7.tgz#4df1bc9b9448935caaa2f45283655b0704ab994f" - optionalDependencies: - app-builder-bin-linux "1.3.7" - app-builder-bin-mac "1.3.7" - app-builder-bin-win "1.3.7" +app-builder-bin-win@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.5.0.tgz#0a12437d825ac89fc2357e8be0ba855f54c083e9" -app-builder-bin@1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.3.8.tgz#f0f2f41d5fa30aad7b2543d7263d2139c8a918ec" +app-builder-bin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.5.0.tgz#dc768af9704876959c68af5456ef31f67a4663fe" optionalDependencies: - app-builder-bin-linux "1.3.8" - app-builder-bin-mac "1.3.8" - app-builder-bin-win "1.3.8" + app-builder-bin-linux "1.5.0" + app-builder-bin-mac "1.5.0" + app-builder-bin-win "1.5.0" app-root-path@^2.0.1: version "2.0.1" @@ -713,16 +689,16 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" array.prototype.flatmap@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.0.tgz#279f7ed4eeb1cedfe5515e92e63cfb40ca15b74b" + version "1.2.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9" dependencies: define-properties "^1.1.2" es-abstract "^1.10.0" function-bind "^1.1.1" array.prototype.flatten@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/array.prototype.flatten/-/array.prototype.flatten-1.2.0.tgz#e46fb18954f8796381a73755e122570647984be3" + version "1.2.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatten/-/array.prototype.flatten-1.2.1.tgz#a77ae1b64524ce373b137fade324d12040d3c680" dependencies: define-properties "^1.1.2" es-abstract "^1.10.0" @@ -1072,9 +1048,9 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-loader@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" +babel-loader@^7.1.2, babel-loader@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.3.tgz#ff5b440da716e9153abb946251a9ab7670037b16" dependencies: find-cache-dir "^1.0.0" loader-utils "^1.0.2" @@ -1189,14 +1165,6 @@ babel-plugin-react-docgen@^1.8.0: lodash "^4.17.0" react-docgen "^2.20.0" -babel-plugin-recharts@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-recharts/-/babel-plugin-recharts-1.1.1.tgz#44fedb9250eaf0073455b06248441bc12e64ed18" - dependencies: - babel-traverse "^6.19.0" - babel-types "^6.19.0" - babylon "^6.14.1" - babel-plugin-styled-components@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.5.0.tgz#4549f28a19fb05170aa9ee429b4de0eac2d2401d" @@ -1786,7 +1754,7 @@ babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.19.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -1813,7 +1781,7 @@ babylon@7.0.0-beta.40, babylon@^7.0.0-beta.40: version "7.0.0-beta.40" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.40.tgz#91fc8cd56d5eb98b28e6fde41045f2957779940a" -babylon@^6.14.1, babylon@^6.18.0: +babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -2181,31 +2149,12 @@ builder-util-runtime@4.0.5, builder-util-runtime@^4.0.5, builder-util-runtime@~4 fs-extra-p "^4.5.0" sax "^1.2.4" -builder-util@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.4.0.tgz#77de5715e2cc624856a3c3b51d0e60a0c4bbe165" +builder-util@5.6.0, builder-util@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.6.0.tgz#c37c5207cd818531bda819ac836b6d51dfbccd4a" dependencies: "7zip-bin" "~3.1.0" - app-builder-bin "1.3.7" - bluebird-lst "^1.0.5" - builder-util-runtime "^4.0.5" - chalk "^2.3.0" - debug "^3.1.0" - fs-extra-p "^4.5.2" - is-ci "^1.1.0" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - semver "^5.5.0" - source-map-support "^0.5.3" - stat-mode "^0.2.2" - temp-file "^3.1.1" - -builder-util@5.4.1, builder-util@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.4.1.tgz#a387252162bca5a54e8ed979f2a45a63fc3d7b42" - dependencies: - "7zip-bin" "~3.1.0" - app-builder-bin "1.3.8" + app-builder-bin "1.5.0" bluebird-lst "^1.0.5" builder-util-runtime "^4.0.5" chalk "^2.3.0" @@ -2470,7 +2419,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@2.2.5, classnames@^2.2.5: +classnames@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" @@ -2775,10 +2724,6 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -core-js@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -3063,11 +3008,15 @@ d3-color@1: version "1.0.3" resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" +d3-ease@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" + d3-format@1: version "1.2.2" resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.2.tgz#1a39c479c8a57fe5051b2e67a3bee27061a74e7a" -d3-interpolate@1, d3-interpolate@^1.1.5: +d3-interpolate@1, d3-interpolate@^1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6" dependencies: @@ -3077,9 +3026,9 @@ d3-path@1: version "1.0.5" resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764" -d3-scale@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.6.tgz#bce19da80d3a0cf422c9543ae3322086220b34ed" +d3-scale@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" dependencies: d3-array "^1.2.0" d3-collection "1" @@ -3089,7 +3038,7 @@ d3-scale@1.0.6: d3-time "1" d3-time-format "2" -d3-shape@1.2.0: +d3-shape@^1.0.0, d3-shape@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" dependencies: @@ -3105,6 +3054,14 @@ d3-time@1: version "1.0.8" resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" +d3-timer@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" + +d3-voronoi@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" + d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" @@ -3285,14 +3242,14 @@ dijkstrajs@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b" -dmg-builder@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-4.1.0.tgz#40b6ce05b59a3baebd69680a1f2875b1ff475e24" +dmg-builder@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-4.1.1.tgz#a12214eb3eb3cba0addccfd129f1981c9805045c" dependencies: bluebird-lst "^1.0.5" - builder-util "^5.3.0" - electron-builder-lib "~20.0.5" - fs-extra-p "^4.5.0" + builder-util "^5.6.0" + electron-builder-lib "~20.2.0" + fs-extra-p "^4.5.2" iconv-lite "^0.4.19" js-yaml "^3.10.0" parse-color "^1.0.0" @@ -3410,9 +3367,13 @@ dotenv@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.0.tgz#0206eb5b336639bf377618a2a304ff00c6a1fddb" -downshift@^1.28.0: - version "1.28.0" - resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.28.0.tgz#4d2d153ee6a45fcdba0a7121a7858aff42dd0bf3" +dotenv@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" + +downshift@^1.28.1: + version "1.28.1" + resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.28.1.tgz#8e787eda4e31c8a5519dccaf0e16dd90787720a4" duplexer3@^0.1.4: version "0.1.4" @@ -3448,21 +3409,21 @@ ejs@^2.5.7: version "2.5.7" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" -electron-builder-lib@20.0.8: - version "20.0.8" - resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.0.8.tgz#5b9a57797b5313f6cbecf655a7883a4050c1aa1c" +electron-builder-lib@20.2.0, electron-builder-lib@~20.2.0: + version "20.2.0" + resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.2.0.tgz#e8dba288cf26858803eb1800da870d7312837bfa" dependencies: "7zip-bin" "~3.1.0" - app-builder-bin "1.3.7" + app-builder-bin "1.5.0" async-exit-hook "^2.0.1" bluebird-lst "^1.0.5" - builder-util "5.4.0" + builder-util "5.6.0" builder-util-runtime "4.0.5" chromium-pickle-js "^0.2.0" debug "^3.1.0" ejs "^2.5.7" electron-osx-sign "0.4.8" - electron-publish "20.0.6" + electron-publish "20.2.0" fs-extra-p "^4.5.2" hosted-git-info "^2.5.0" is-ci "^1.1.0" @@ -3477,45 +3438,16 @@ electron-builder-lib@20.0.8: semver "^5.5.0" temp-file "^3.1.1" -electron-builder-lib@~20.0.5: - version "20.0.9" - resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.0.9.tgz#62d06eb8536ee6d85f82f9416c6e452dffa4734f" +electron-builder@^20.2.0: + version "20.2.0" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.2.0.tgz#aaeaa439cb96c9a3d7ffda25b28130327c982982" dependencies: - "7zip-bin" "~3.1.0" - app-builder-bin "1.3.8" - async-exit-hook "^2.0.1" bluebird-lst "^1.0.5" - builder-util "5.4.1" - builder-util-runtime "4.0.5" - chromium-pickle-js "^0.2.0" - debug "^3.1.0" - ejs "^2.5.7" - electron-osx-sign "0.4.8" - electron-publish "20.0.6" - fs-extra-p "^4.5.2" - hosted-git-info "^2.5.0" - is-ci "^1.1.0" - isbinaryfile "^3.0.2" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - minimatch "^3.0.4" - normalize-package-data "^2.4.0" - plist "^2.1.0" - read-config-file "3.0.0" - sanitize-filename "^1.6.1" - semver "^5.5.0" - temp-file "^3.1.1" - -electron-builder@^20.0.8: - version "20.0.8" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.0.8.tgz#5007874b43e6a9537e1167464d738edfbfb22fbb" - dependencies: - bluebird-lst "^1.0.5" - builder-util "5.4.0" + builder-util "5.6.0" builder-util-runtime "4.0.5" chalk "^2.3.0" - dmg-builder "4.1.0" - electron-builder-lib "20.0.8" + dmg-builder "4.1.1" + electron-builder-lib "20.2.0" electron-download-tf "4.3.4" fs-extra-p "^4.5.2" is-ci "^1.1.0" @@ -3577,12 +3509,12 @@ electron-osx-sign@0.4.8: minimist "^1.2.0" plist "^2.1.0" -electron-publish@20.0.6: - version "20.0.6" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.0.6.tgz#24a3c508428eea31813e064f80468f626dff1d87" +electron-publish@20.2.0: + version "20.2.0" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.2.0.tgz#1812738c4a4e14a8e156a9a083424a6e4e8e8264" dependencies: bluebird-lst "^1.0.5" - builder-util "^5.3.0" + builder-util "^5.6.0" builder-util-runtime "^4.0.5" chalk "^2.3.0" fs-extra-p "^4.5.2" @@ -3720,7 +3652,7 @@ env-paths@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" -errno@^0.1.3, errno@^0.1.4: +errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" dependencies: @@ -4236,8 +4168,8 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" fast-json-stable-stringify@^2.0.0: version "2.0.0" @@ -4802,16 +4734,15 @@ har-validator@~5.0.3: ajv "^5.1.0" har-schema "^2.0.0" -hard-source-webpack-plugin@^0.5.18: - version "0.5.18" - resolved "https://registry.yarnpkg.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.5.18.tgz#4f328e344ad5305227c7db526d5365e8d7786712" +hard-source-webpack-plugin@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.6.0.tgz#ec2f60068a8d1f358439b7b1587f1c64fe642eda" dependencies: lodash "^4.15.0" mkdirp "^0.5.1" node-object-hash "^1.2.0" rimraf "^2.6.2" - source-list-map "^0.1.6" - source-map "^0.5.6" + tapable "^1.0.0-beta.5" webpack-core "~0.6.0" webpack-sources "^1.0.1" write-json-file "^2.3.0" @@ -4841,8 +4772,8 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" has-symbol-support-x@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz#66ec2e377e0c7d7ccedb07a3a84d77510ff1bc4c" + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" has-to-string-tag-x@^1.2.0: version "1.4.1" @@ -5138,9 +5069,9 @@ i18next-node-fs-backend@^1.0.0: js-yaml "3.5.4" json5 "0.5.0" -i18next@^10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.4.1.tgz#90b0ac1683b0a5874a38588c6aaf1831360b460f" +i18next@^10.5.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.5.0.tgz#a2a90e67774fa85b8ff9cd0063e697e482440de7" iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@^0.4.19, iconv-lite@~0.4.13: version "0.4.19" @@ -6138,10 +6069,6 @@ lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" -lodash.endswith@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" @@ -6158,18 +6085,10 @@ lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" -lodash.isfunction@^3.0.8: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" - lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - lodash.keys@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -6194,10 +6113,6 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash.startswith@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c" - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -6206,7 +6121,7 @@ lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@~4.17.4: +lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" @@ -6397,8 +6312,8 @@ micromatch@^2.1.5, micromatch@^2.3.11: regex-cache "^0.4.2" micromatch@^3.1.4, micromatch@^3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.8.tgz#5c8caa008de588eebb395e8c0ad12c128f25fff1" + version "3.1.9" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89" dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -6593,8 +6508,8 @@ no-case@^2.2.0: lower-case "^1.1.1" node-abi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.2.0.tgz#e802ac7a2408e2c0593fb3176ffdf8a99a9b4dec" + version "2.3.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.3.0.tgz#f3d554d6ac72a9ee16f0f4dc9548db7c08de4986" dependencies: semver "^5.4.1" @@ -7314,8 +7229,8 @@ postcss-load-plugins@^2.3.0: object-assign "^4.1.0" postcss-loader@^2.0.9: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.0.tgz#038c2d6d59753fef4667827fd3ae03f5dc5e6a7a" + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.1.tgz#208935af3b1d65e1abb1a870a912dd12e7b36895" dependencies: loader-utils "^1.1.0" postcss "^6.0.0" @@ -7539,9 +7454,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.10.2.tgz#1af8356d1842276a99a5b5529c82dd9e9ad3cc93" +prettier@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.0.tgz#c024f70cab158c993f50fc0c25ffe738cb8b0f85" pretty-bytes@^1.0.2: version "1.0.4" @@ -7753,7 +7668,7 @@ radium@^0.19.0: inline-style-prefixer "^2.0.5" prop-types "^15.5.8" -raf@^3.1.0, raf@^3.2.0: +raf@^3.1.0: version "3.4.0" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.0.tgz#a28876881b4bc2ca9117d4138163ddb80f781575" dependencies: @@ -7959,12 +7874,6 @@ react-redux@^5.0.5, react-redux@^5.0.7: loose-envify "^1.1.0" prop-types "^15.6.0" -react-resize-detector@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-1.1.0.tgz#4a9831fa3caad32230478dd0185cbd2aa91a5ebf" - dependencies: - prop-types "^15.5.10" - react-router-dom@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.2.2.tgz#c8a81df3adc58bba8a76782e946cbd4eae649b8d" @@ -8000,15 +7909,6 @@ react-smooth-scrollbar@^8.0.6: version "8.0.6" resolved "https://registry.yarnpkg.com/react-smooth-scrollbar/-/react-smooth-scrollbar-8.0.6.tgz#179072e6a547b3af589ea303c50fd86366275edc" -react-smooth@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-1.0.0.tgz#b29dbebddddb06d21b5b08962167fb9eac1897d8" - dependencies: - lodash "~4.17.4" - prop-types "^15.6.0" - raf "^3.2.0" - react-transition-group "^2.2.1" - react-split-pane@^0.1.74: version "0.1.77" resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db" @@ -8039,17 +7939,6 @@ react-transition-group@^1.1.2: prop-types "^15.5.6" warning "^3.0.0" -react-transition-group@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.2.1.tgz#e9fb677b79e6455fd391b03823afe84849df4a10" - dependencies: - chain-function "^1.0.0" - classnames "^2.2.5" - dom-helpers "^3.2.0" - loose-envify "^1.3.1" - prop-types "^15.5.8" - warning "^3.0.0" - react-treebeard@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/react-treebeard/-/react-treebeard-2.1.0.tgz#fbd5cf51089b6f09a9b18350ab3bddf736e57800" @@ -8178,26 +8067,6 @@ recast@~0.11.12: private "~0.1.5" source-map "~0.5.0" -recharts-scale@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.3.2.tgz#dac7621714a4765d152cb2adbc30c73b831208c9" - -recharts@^1.0.0-beta.10: - version "1.0.0-beta.10" - resolved "https://registry.yarnpkg.com/recharts/-/recharts-1.0.0-beta.10.tgz#d3cd15df6b7879d5968da3c942b5fcdaf2504fe1" - dependencies: - classnames "2.2.5" - core-js "2.5.1" - d3-interpolate "^1.1.5" - d3-scale "1.0.6" - d3-shape "1.2.0" - lodash "~4.17.4" - prop-types "^15.6.0" - react-resize-detector "1.1.0" - react-smooth "1.0.0" - recharts-scale "0.3.2" - reduce-css-calc "1.3.0" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -8211,7 +8080,7 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -reduce-css-calc@1.3.0, reduce-css-calc@^1.2.6: +reduce-css-calc@^1.2.6: version "1.3.0" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" dependencies: @@ -8277,7 +8146,7 @@ regex-cache@^0.4.2: dependencies: is-equal-shallow "^0.1.3" -regex-not@^1.0.0: +regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" dependencies: @@ -8875,14 +8744,14 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" -source-list-map@^0.1.6, source-list-map@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" - source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" +source-list-map@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + source-map-resolve@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" @@ -9284,11 +9153,11 @@ symbol-tree@^3.2.2: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" table@^4.0.1, table@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" + version "4.0.3" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" + ajv "^6.0.1" + ajv-keywords "^3.0.0" chalk "^2.1.0" lodash "^4.17.4" slice-ansi "1.0.0" @@ -9298,6 +9167,10 @@ tapable@^0.2.7: version "0.2.8" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" +tapable@^1.0.0-beta.5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" + tar-fs@^1.13.0: version "1.16.0" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896" @@ -9438,12 +9311,13 @@ to-regex-range@^2.1.0: repeat-string "^1.6.1" to-regex@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - regex-not "^1.0.0" + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" toposort@^1.0.0: version "1.0.6" @@ -9562,8 +9436,8 @@ uglifyjs-webpack-plugin@^0.4.6: webpack-sources "^1.0.1" uglifyjs-webpack-plugin@^1.1.6, uglifyjs-webpack-plugin@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.0.tgz#f706fa4c655000a086b4a97c7d835ed0f6e9b0ef" + version "1.2.2" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz#e7516d4367afdb715c3847841eb46f94c45ca2b9" dependencies: cacache "^10.0.1" find-cache-dir "^1.0.0" @@ -9650,13 +9524,8 @@ unzip@^0.1.11: setimmediate ">= 1.0.1 < 2" upath@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.2.tgz#80aaae5395abc5fd402933ae2f58694f0860204c" - dependencies: - lodash.endswith "^4.2.1" - lodash.isfunction "^3.0.8" - lodash.isstring "^4.0.1" - lodash.startswith "^4.2.1" + version "1.0.4" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d" update-notifier@^2.3.0: version "2.3.0" @@ -9807,6 +9676,41 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +victory-chart@^25.1.1: + version "25.1.1" + resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-25.1.1.tgz#5b5d9bde802eea774f1105af6fb723d478717532" + dependencies: + d3-voronoi "^1.1.2" + lodash "^4.17.4" + victory-core "^21.0.4" + +victory-core@^21.0.2, victory-core@^21.0.4: + version "21.0.4" + resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-21.0.4.tgz#5ac6d495a43e5d95249c56973290b182ec607b4a" + dependencies: + d3-ease "^1.0.0" + d3-interpolate "^1.1.1" + d3-scale "^1.0.0" + d3-shape "^1.2.0" + d3-timer "^1.0.0" + lodash "^4.17.4" + +victory-pie@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-14.0.1.tgz#53dff9e81696253c3da00f347d908d3ac1241c66" + dependencies: + d3-shape "^1.0.0" + lodash "^4.17.4" + victory-core "^21.0.2" + +victory@^0.25.6: + version "0.25.6" + resolved "https://registry.yarnpkg.com/victory/-/victory-0.25.6.tgz#3b5b0a1d2a773caf75cc916e6ace9ad3d7d75024" + dependencies: + victory-chart "^25.1.1" + victory-core "^21.0.4" + victory-pie "^14.0.1" + virtual-module-webpack-plugin@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/virtual-module-webpack-plugin/-/virtual-module-webpack-plugin-0.3.0.tgz#b2095b2b8c51480362ab3ec2bd613bdd507cbd46" @@ -10046,11 +9950,11 @@ wordwrap@~1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" worker-farm@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.2.tgz#32b312e5dc3d5d45d79ef44acc2587491cd729ae" + version "1.5.4" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.4.tgz#4debbe46b40edefcc717ebde74a90b1ae1e909a1" dependencies: - errno "^0.1.4" - xtend "^4.0.1" + errno "~0.1.7" + xtend "~4.0.1" wrap-ansi@^2.0.0: version "2.1.0" @@ -10119,7 +10023,7 @@ xpipe@*: version "1.0.5" resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"