diff --git a/package.json b/package.json index 9a0195d2..f00f7643 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,12 @@ }, "dependencies": { "@ledgerhq/hw-app-btc": "^4.13.0", - "@ledgerhq/hw-app-eth": "^4.13.0", + "@ledgerhq/hw-app-eth": "^4.14.0", "@ledgerhq/hw-app-xrp": "^4.13.0", "@ledgerhq/hw-transport": "^4.13.0", "@ledgerhq/hw-transport-node-hid": "^4.13.0", "@ledgerhq/ledger-core": "1.7.0", - "@ledgerhq/live-common": "2.29.0", + "@ledgerhq/live-common": "2.30.0", "async": "^2.6.1", "axios": "^0.18.0", "babel-runtime": "^6.26.0", @@ -50,15 +50,15 @@ "bitcoinjs-lib": "^3.3.2", "bs58": "^4.0.1", "color": "^3.0.0", - "cross-env": "^5.1.4", + "cross-env": "^5.2.0", "d3": "^5.1.0", "debug": "^3.1.0", - "downshift": "^1.31.15", + "downshift": "^1.31.16", "eip55": "^1.0.3", "electron-store": "^1.3.0", "electron-updater": "^2.21.8", "ethereumjs-tx": "^1.3.4", - "fuse.js": "^3.2.0", + "fuse.js": "^3.2.1", "history": "^4.7.2", "i18next": "^11.2.2", "i18next-node-fs-backend": "^1.0.0", @@ -70,19 +70,19 @@ "qs": "^6.5.1", "raven": "^2.5.0", "raven-js": "^3.24.2", - "react": "^16.3.2", - "react-dom": "^16.3.2", + "react": "^16.4.1", + "react-dom": "^16.4.1", "react-i18next": "^7.7.0", "react-markdown": "^3.3.2", "react-mortal": "^3.2.0", "react-motion": "^0.5.2", "react-redux": "^5.0.7", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", + "react-router": "^4.3.1", + "react-router-dom": "^4.3.1", "react-router-redux": "5.0.0-alpha.9", "react-select": "2.0.0-beta.6", "react-smooth-scrollbar": "^8.0.6", - "react-spring": "^5.3.8", + "react-spring": "^5.3.15", "redux": "^4.0.0", "redux-actions": "^2.4.0", "redux-thunk": "^2.3.0", @@ -91,8 +91,8 @@ "ripple-bs58check": "^2.0.2", "ripple-hashes": "^0.3.1", "ripple-lib": "^1.0.0-beta.0", - "rxjs": "^6.2.0", - "rxjs-compat": "^6.1.0", + "rxjs": "^6.2.1", + "rxjs-compat": "^6.2.1", "secp256k1": "3.3.1", "semaphore": "^1.1.0", "semver": "^5.5.0", @@ -100,7 +100,7 @@ "source-map": "0.7.3", "source-map-support": "^0.5.4", "styled-components": "^3.3.2", - "styled-system": "^2.2.1", + "styled-system": "^2.2.9", "tippy.js": "^2.5.2", "uncontrollable": "^6.0.0", "uuid": "^3.2.1", @@ -114,12 +114,12 @@ "@babel/preset-flow": "7.0.0-beta.42", "@babel/preset-react": "7.0.0-beta.42", "@babel/preset-stage-0": "7.0.0-beta.42", - "@storybook/addon-actions": "^3.4.2", - "@storybook/addon-knobs": "^3.4.2", - "@storybook/addon-links": "^3.4.2", - "@storybook/addon-options": "^3.4.2", - "@storybook/addons": "^3.4.2", - "@storybook/react": "^3.4.2", + "@storybook/addon-actions": "^3.4.7", + "@storybook/addon-knobs": "^3.4.7", + "@storybook/addon-links": "^3.4.7", + "@storybook/addon-options": "^3.4.7", + "@storybook/addons": "^3.4.7", + "@storybook/react": "^3.4.7", "babel-core": "7.0.0-bridge.0", "babel-eslint": "^8.2.3", "babel-jest": "^22.4.3", @@ -143,7 +143,7 @@ "eslint-plugin-import": "^2.11.0", "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-react": "^7.7.0", - "flow-bin": "^0.73.0", + "flow-bin": "^0.74.0", "flow-typed": "^2.4.0", "hard-source-webpack-plugin": "^0.6.0", "husky": "^0.14.3", @@ -151,9 +151,9 @@ "jest": "^22.4.3", "js-yaml": "^3.10.0", "node-loader": "^0.6.0", - "prettier": "^1.12.1", - "react-hot-loader": "^4.1.0", - "react-test-renderer": "^16.3.2", + "prettier": "^1.13.5", + "react-hot-loader": "^4.3.2", + "react-test-renderer": "^16.4.1", "webpack": "^4.6.0", "webpack-bundle-analyzer": "^2.11.1", "webpack-cli": "^2.0.14", diff --git a/src/components/RequestAmount/index.js b/src/components/RequestAmount/index.js index 772f81ba..f298a38b 100644 --- a/src/components/RequestAmount/index.js +++ b/src/components/RequestAmount/index.js @@ -79,6 +79,9 @@ const mapStateToProps = (state: State, props: OwnProps) => { const counterValueCurrency = counterValueCurrencySelector(state) const fromExchange = currencySettingsSelector(state, { currency }).exchange const toExchange = counterValueExchangeSelector(state) + + // FIXME this make the component not working with "Pure". is there a way we can calculate here whatever needs to be? + // especially the value comes from props! const getCounterValue = value => CounterValues.calculateWithIntermediarySelector(state, { from: currency, @@ -87,8 +90,8 @@ const mapStateToProps = (state: State, props: OwnProps) => { toExchange, to: counterValueCurrency, value, + disableRounding: true, }) - const getReverseCounterValue = value => CounterValues.reverseWithIntermediarySelector(state, { from: currency, @@ -130,10 +133,15 @@ export class RequestAmount extends PureComponent { } } + onLeftChange = this.handleChangeAmount('left') + onRightChange = this.handleChangeAmount('right') + renderInputs(containerProps: Object) { + // TODO move this inlined into render() for less spaghetti const { value, account, rightCurrency, getCounterValue, canBeSpent } = this.props const right = getCounterValue(value) || 0 const rightUnit = rightCurrency.units[0] + // FIXME: no way InputCurrency pure can work here. inlined InputRight (should be static func?), inline containerProps object.. return ( { containerProps={containerProps} defaultUnit={account.unit} value={value} - onChange={this.handleChangeAmount('left')} + onChange={this.onLeftChange} renderRight={{account.unit.code}} /> = @@ -149,9 +157,10 @@ export class RequestAmount extends PureComponent { containerProps={containerProps} defaultUnit={rightUnit} value={right} - onChange={this.handleChangeAmount('right')} + onChange={this.onRightChange} renderRight={{rightUnit.code}} showAllDigits + subMagnitude={3} /> ) diff --git a/src/components/base/InputCurrency/index.js b/src/components/base/InputCurrency/index.js index f1a36f77..205d9067 100644 --- a/src/components/base/InputCurrency/index.js +++ b/src/components/base/InputCurrency/index.js @@ -18,12 +18,13 @@ function parseValue(value) { return value.toString().replace(/,/g, '.') } -function format(unit: Unit, value: number, { isFocused, showAllDigits }) { +function format(unit: Unit, value: number, { isFocused, showAllDigits, subMagnitude }) { // FIXME do we need locale for the input too ? return formatCurrencyUnit(unit, value, { useGrouping: !isFocused, disableRounding: true, showAllDigits: !!showAllDigits && !isFocused, + subMagnitude: value < 1 ? subMagnitude : 0, }) } @@ -53,6 +54,7 @@ type Props = { units: Unit[], value: number, showAllDigits?: boolean, + subMagnitude: number, } type State = { @@ -68,6 +70,7 @@ class InputCurrency extends PureComponent { units: [], value: 0, showAllDigits: false, + subMagnitude: 0, } state = { @@ -94,6 +97,7 @@ class InputCurrency extends PureComponent { : format(nextProps.unit, nextProps.value, { isFocused, showAllDigits: nextProps.showAllDigits, + subMagnitude: nextProps.subMagnitude, }), }) } @@ -135,11 +139,13 @@ class InputCurrency extends PureComponent { } syncInput = ({ isFocused }: { isFocused: boolean }) => { - const { value, showAllDigits, unit } = this.props + const { value, showAllDigits, subMagnitude, unit } = this.props this.setState({ isFocused, displayValue: - value === '' || value === 0 ? '' : format(unit, value, { isFocused, showAllDigits }), + value === '' || value === 0 + ? '' + : format(unit, value, { isFocused, showAllDigits, subMagnitude }), }) } @@ -183,7 +189,7 @@ class InputCurrency extends PureComponent { } render() { - const { renderRight, showAllDigits, unit } = this.props + const { renderRight, showAllDigits, unit, subMagnitude } = this.props const { displayValue } = this.state return ( @@ -195,7 +201,7 @@ class InputCurrency extends PureComponent { onFocus={this.handleFocus} onBlur={this.handleBlur} renderRight={renderRight || this.renderListUnits()} - placeholder={format(unit, 0, { isFocused: false, showAllDigits })} + placeholder={format(unit, 0, { isFocused: false, showAllDigits, subMagnitude })} /> ) } diff --git a/src/components/base/Modal/index.js b/src/components/base/Modal/index.js index 5d95bdff..02fec5ba 100644 --- a/src/components/base/Modal/index.js +++ b/src/components/base/Modal/index.js @@ -90,6 +90,15 @@ const Backdrop = styled(Box).attrs({ position: fixed; ` +const NonClickableHeadArea = styled.div` + position: fixed; + height: 48px; + width: 100%; + top: 0; + left: 0; + z-index: 1; +` + const Wrapper = styled(Box).attrs({ bg: 'transparent', flow: 4, @@ -119,6 +128,10 @@ class Pure extends Component { } } +function stopPropagation(e) { + e.stopPropagation() +} + export class Modal extends Component { static defaultProps = { isOpened: false, @@ -183,13 +196,14 @@ export class Modal extends Component { {(m, isVisible, isAnimated) => ( + (this._wrapper = n)} - onClick={e => e.stopPropagation()} + onClick={stopPropagation} > diff --git a/src/components/base/SideBar/SideBarListItem.js b/src/components/base/SideBar/SideBarListItem.js index cc5e508b..1374d1c1 100644 --- a/src/components/base/SideBar/SideBarListItem.js +++ b/src/components/base/SideBar/SideBarListItem.js @@ -31,7 +31,6 @@ class SideBarListItem extends PureComponent { } = this.props return ( { const logCmds = !__DEV__ || process.env.DEBUG_COMMANDS const logDb = !__DEV__ || process.env.DEBUG_DB -const logClicks = !__DEV__ || process.env.DEBUG_CLICK_ELEMENT const logRedux = !__DEV__ || process.env.DEBUG_ACTION const logTabkey = !__DEV__ || process.env.DEBUG_TAB_KEY export default { - // tracks the user interactions (click, input focus/blur, what else?) - - onClickElement: (role: string, roleData: ?Object) => { - const label = `👆 ${role}` - if (roleData) { - if (logClicks) { - console.log(label, roleData) - } - addLog('click', label, roleData) - } else { - if (logClicks) { - console.log(label) - } - addLog('click', label, roleData) - } - }, onCmd: (type: string, id: string, spentTime: number, data?: any) => { if (logCmds) { diff --git a/src/renderer/init.js b/src/renderer/init.js index 1806aff1..2afa5483 100644 --- a/src/renderer/init.js +++ b/src/renderer/init.js @@ -85,34 +85,12 @@ async function init() { const libcoreVersion = await libcoreGetVersion.send().toPromise() logger.log('libcore', libcoreVersion) - // DOM elements can have a data-role that identify the UI entity - // and that allow us to track interactions with this. - window.addEventListener('click', ({ target }) => { - const { dataset } = target - if (dataset) { - const { role, roledata } = dataset - if (role) { - logger.onClickElement(role, roledata) - } - } - }) - window.addEventListener('keydown', (e: SyntheticKeyboardEvent) => { if (e.which === TAB_KEY) { if (!isGlobalTabEnabled()) enableGlobalTab() logger.onTabKey(document.activeElement) } }) - - window.addEventListener('click', ({ target }) => { - const { dataset } = target - if (dataset) { - const { role, roledata } = dataset - if (role) { - logger.onClickElement(role, roledata) - } - } - }) } } diff --git a/yarn.lock b/yarn.lock index b78d81b8..cc52e93b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1463,9 +1463,9 @@ "@ledgerhq/hw-transport" "^4.12.0" create-hash "^1.1.3" -"@ledgerhq/hw-app-eth@^4.13.0": - version "4.13.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-4.13.0.tgz#8a999263f2dd212e43bb1145018003f4bad52d33" +"@ledgerhq/hw-app-eth@^4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-4.14.0.tgz#dd6b29024827348702cfe22bb1611e1c97923717" dependencies: "@ledgerhq/hw-transport" "^4.13.0" @@ -1515,9 +1515,9 @@ npm "^5.7.1" prebuild-install "^2.2.2" -"@ledgerhq/live-common@2.29.0": - version "2.29.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/live-common/-/live-common-2.29.0.tgz#a8f8a023f12973a60b2f89882534597f0723929f" +"@ledgerhq/live-common@2.30.0": + version "2.30.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/live-common/-/live-common-2.30.0.tgz#c46fbb1fef3347b6ae9a693bfc4f792c20c9ee9b" dependencies: axios "^0.18.0" invariant "^2.2.2" @@ -1554,11 +1554,11 @@ version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" -"@storybook/addon-actions@3.4.6", "@storybook/addon-actions@^3.4.2": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.6.tgz#70ca84a4754ea2969640428890d9a3c9369261f6" +"@storybook/addon-actions@3.4.7", "@storybook/addon-actions@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.7.tgz#35e1345d1377e1264f11e319fc06737244c5a23f" dependencies: - "@storybook/components" "3.4.6" + "@storybook/components" "3.4.7" babel-runtime "^6.26.0" deep-equal "^1.0.1" glamor "^2.20.40" @@ -1569,11 +1569,11 @@ react-inspector "^2.2.2" uuid "^3.2.1" -"@storybook/addon-knobs@^3.4.2": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.4.6.tgz#900586a218e12540256884af7a0ba1f684f1f436" +"@storybook/addon-knobs@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.4.7.tgz#9e8f7827e3743ec76d773dd65a3857d538d0aa02" dependencies: - "@storybook/components" "3.4.6" + "@storybook/components" "3.4.7" babel-runtime "^6.26.0" deep-equal "^1.0.1" global "^4.3.2" @@ -1586,58 +1586,58 @@ react-textarea-autosize "^5.2.1" util-deprecate "^1.0.2" -"@storybook/addon-links@3.4.6", "@storybook/addon-links@^3.4.2": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.6.tgz#0e167c03932ddfcbeba02215af1a420c0d3f0843" +"@storybook/addon-links@3.4.7", "@storybook/addon-links@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.7.tgz#8d4a72cd92f26f93b2e432d20783e09f6082c75f" dependencies: - "@storybook/components" "3.4.6" + "@storybook/components" "3.4.7" babel-runtime "^6.26.0" global "^4.3.2" prop-types "^15.6.1" -"@storybook/addon-options@^3.4.2": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.4.6.tgz#8f27400c4a2a852657e939d9b733086bb6c3349c" +"@storybook/addon-options@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.4.7.tgz#0ab917e430fc7f9edc71529a81e3c5b7c1b94871" dependencies: babel-runtime "^6.26.0" -"@storybook/addons@3.4.6", "@storybook/addons@^3.4.2": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.6.tgz#8275e46b8dfe7c751f2f18a431bc3339c999a2ae" +"@storybook/addons@3.4.7", "@storybook/addons@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.7.tgz#ca787c8139c07cd4f36054a84cc0dc3c9698841b" -"@storybook/channel-postmessage@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.6.tgz#acb7d6096bd060a3d224d7e753e33c22f21fabdb" +"@storybook/channel-postmessage@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.7.tgz#8293fad1b0f83688b9428cc6fa1518d3faa45e2c" dependencies: - "@storybook/channels" "3.4.6" + "@storybook/channels" "3.4.7" global "^4.3.2" json-stringify-safe "^5.0.1" -"@storybook/channels@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.6.tgz#4147b4e171763f168cd523a3f83e7e125c9523c2" +"@storybook/channels@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.7.tgz#b1cc7650d01e677bd02799216b6c1a0f3b903969" -"@storybook/client-logger@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.6.tgz#2f2b271d6825c7325f999f6b17d7ef69984faa18" +"@storybook/client-logger@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.7.tgz#577a3dae3f46d95e3dcc1cdb6e8726d5d6324619" -"@storybook/components@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.6.tgz#34bddcfa21bddc59ef57a052d157285fab7ba003" +"@storybook/components@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.7.tgz#6f2f1d8dd1341d3794abc31b728089fa8021e973" dependencies: glamor "^2.20.40" glamorous "^4.12.1" prop-types "^15.6.1" -"@storybook/core@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.6.tgz#3261dc89bff2c716579270da3f5cf83a374eca5c" +"@storybook/core@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.7.tgz#7622e02ed60a33f90e41d541e73b8f30bd42b5dd" dependencies: - "@storybook/addons" "3.4.6" - "@storybook/channel-postmessage" "3.4.6" - "@storybook/client-logger" "3.4.6" - "@storybook/node-logger" "3.4.6" - "@storybook/ui" "3.4.6" + "@storybook/addons" "3.4.7" + "@storybook/channel-postmessage" "3.4.7" + "@storybook/client-logger" "3.4.7" + "@storybook/node-logger" "3.4.7" + "@storybook/ui" "3.4.7" autoprefixer "^7.2.6" babel-runtime "^6.26.0" chalk "^2.3.2" @@ -1669,9 +1669,9 @@ "@storybook/react-simple-di" "^1.2.1" babel-runtime "6.x.x" -"@storybook/node-logger@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.6.tgz#aed4f5bd102e033391584ef82bd3fec055659448" +"@storybook/node-logger@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.7.tgz#f9bc32f245a76eb013b6a2a8a365fa808886a36e" dependencies: npmlog "^4.1.2" @@ -1707,18 +1707,18 @@ dependencies: babel-runtime "^6.5.0" -"@storybook/react@^3.4.2": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.6.tgz#8bc0c1e10305d7539decb8f8c781b5970ff951ff" - dependencies: - "@storybook/addon-actions" "3.4.6" - "@storybook/addon-links" "3.4.6" - "@storybook/addons" "3.4.6" - "@storybook/channel-postmessage" "3.4.6" - "@storybook/client-logger" "3.4.6" - "@storybook/core" "3.4.6" - "@storybook/node-logger" "3.4.6" - "@storybook/ui" "3.4.6" +"@storybook/react@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.7.tgz#bd306ff12495668fac4a0179bdf1ebb173dcd8c8" + dependencies: + "@storybook/addon-actions" "3.4.7" + "@storybook/addon-links" "3.4.7" + "@storybook/addons" "3.4.7" + "@storybook/channel-postmessage" "3.4.7" + "@storybook/client-logger" "3.4.7" + "@storybook/core" "3.4.7" + "@storybook/node-logger" "3.4.7" + "@storybook/ui" "3.4.7" airbnb-js-shims "^1.4.1" babel-loader "^7.1.4" babel-plugin-macros "^2.2.0" @@ -1751,11 +1751,11 @@ webpack "^3.11.0" webpack-hot-middleware "^2.22.1" -"@storybook/ui@3.4.6": - version "3.4.6" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.6.tgz#c25c93d0843c4250b77b2a3614533a7d5790893d" +"@storybook/ui@3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.7.tgz#59a8c0c56e1e467e0cfcce238d1424d338561311" dependencies: - "@storybook/components" "3.4.6" + "@storybook/components" "3.4.7" "@storybook/mantra-core" "^1.7.2" "@storybook/podda" "^1.2.3" "@storybook/react-komposer" "^2.0.3" @@ -4722,11 +4722,11 @@ crocket@^0.9.11: dependencies: xpipe "*" -cross-env@^5.1.4: - version "5.1.6" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.6.tgz#0dc05caf945b24e4b9e3b12871fe0e858d08b38d" +cross-env@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" dependencies: - cross-spawn "^5.1.0" + cross-spawn "^6.0.5" is-windows "^1.0.0" cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: @@ -5550,9 +5550,9 @@ dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" -downshift@^1.31.15: - version "1.31.15" - resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.31.15.tgz#ac31c601e2e9e34c5bb85b969c11ba87248f5e67" +downshift@^1.31.16: + version "1.31.16" + resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.31.16.tgz#acd81631539502d4112d01bd573654419fd9f640" drbg.js@^1.0.1: version "1.0.1" @@ -6684,9 +6684,9 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" -flow-bin@^0.73.0: - version "0.73.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.73.0.tgz#da1b90a02b0ef9c439f068c2fc14968db83be425" +flow-bin@^0.74.0: + version "0.74.0" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.74.0.tgz#8017bb00efb37cbe8d81fbb7f464038bde06adc9" flow-parser@^0.*: version "0.73.0" @@ -6895,6 +6895,10 @@ fuse.js@^3.0.1, fuse.js@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.0.tgz#f0448e8069855bf2a3e683cdc1d320e7e2a07ef4" +fuse.js@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.1.tgz#6320cb94ce56ec9755c89ade775bcdbb0358d425" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -11088,6 +11092,10 @@ prettier@^1.12.1: version "1.13.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.4.tgz#31bbae6990f13b1093187c731766a14036fa72e6" +prettier@^1.13.5: + version "1.13.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.5.tgz#7ae2076998c8edce79d63834e9b7b09fead6bfd0" + pretty-bytes@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" @@ -11463,9 +11471,9 @@ react-docgen@^3.0.0-beta11: node-dir "^0.1.10" recast "^0.12.6" -react-dom@^16.3.2: - version "16.4.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.0.tgz#099f067dd5827ce36a29eaf9a6cdc7cbf6216b1e" +react-dom@^16.4.1: + version "16.4.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.1.tgz#7f8b0223b3a5fbe205116c56deb85de32685dad6" dependencies: fbjs "^0.8.16" loose-envify "^1.1.0" @@ -11485,9 +11493,9 @@ react-fuzzy@^0.5.2: fuse.js "^3.0.1" prop-types "^15.5.9" -react-hot-loader@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.3.0.tgz#3d417797acd6f78bd0291ee225828f5dd78a3829" +react-hot-loader@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.3.2.tgz#42d629a541d12c84df5e8333534ea6ef99b7ae49" dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" @@ -11533,10 +11541,14 @@ react-inspector@^2.2.2: babel-runtime "^6.26.0" is-dom "^1.0.9" -react-is@^16.3.1, react-is@^16.4.0: +react-is@^16.3.1: version "16.4.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.0.tgz#cc9fdc855ac34d2e7d9d2eb7059bbc240d35ffcf" +react-is@^16.4.1: + version "16.4.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.1.tgz#d624c4650d2c65dbd52c72622bbf389435d9776e" + react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -11598,16 +11610,16 @@ react-redux@^5.0.7: loose-envify "^1.1.0" prop-types "^15.6.0" -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" +react-router-dom@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" dependencies: history "^4.7.2" - invariant "^2.2.2" + invariant "^2.2.4" loose-envify "^1.3.1" - prop-types "^15.5.4" - react-router "^4.2.0" - warning "^3.0.0" + prop-types "^15.6.1" + react-router "^4.3.1" + warning "^4.0.1" react-router-redux@5.0.0-alpha.9: version "5.0.0-alpha.9" @@ -11629,6 +11641,18 @@ react-router@^4.2.0: prop-types "^15.5.4" warning "^3.0.0" +react-router@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" + dependencies: + history "^4.7.2" + hoist-non-react-statics "^2.5.0" + invariant "^2.2.4" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.1" + warning "^4.0.1" + react-select@2.0.0-beta.6: version "2.0.0-beta.6" resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.0.0-beta.6.tgz#87ac27831f348cb9535dfd825534934adcfb7e97" @@ -11652,9 +11676,9 @@ react-split-pane@^0.1.77: prop-types "^15.5.10" react-style-proptype "^3.0.0" -react-spring@^5.3.8: - version "5.3.8" - resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-5.3.8.tgz#d3895fbd09130f32356f679bf89c2031c0541616" +react-spring@^5.3.15: + version "5.3.15" + resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-5.3.15.tgz#95c775f55f36e48db01cdcce9f5718b172817a09" dependencies: "@babel/runtime" "7.0.0-beta.49" @@ -11664,14 +11688,14 @@ react-style-proptype@^3.0.0: dependencies: prop-types "^15.5.4" -react-test-renderer@^16.3.2: - version "16.4.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.0.tgz#0dbe0e24263e94e1830c7afb1f403707fad313a3" +react-test-renderer@^16.4.1: + version "16.4.1" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.1.tgz#f2fb30c2c7b517db6e5b10ed20bb6b0a7ccd8d70" dependencies: fbjs "^0.8.16" object-assign "^4.1.1" prop-types "^15.6.0" - react-is "^16.4.0" + react-is "^16.4.1" react-textarea-autosize@^5.2.1: version "5.2.1" @@ -11698,7 +11722,7 @@ react-treebeard@^2.1.0: shallowequal "^0.2.2" velocity-react "^1.3.1" -react@^16.2.0, react@^16.3.2, react@^16.4.0: +react@^16.2.0, react@^16.4.0: version "16.4.0" resolved "https://registry.yarnpkg.com/react/-/react-16.4.0.tgz#402c2db83335336fba1962c08b98c6272617d585" dependencies: @@ -11707,6 +11731,15 @@ react@^16.2.0, react@^16.3.2, react@^16.4.0: object-assign "^4.1.1" prop-types "^15.6.0" +react@^16.4.1: + version "16.4.1" + resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.0" + reactcss@^1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" @@ -12442,9 +12475,9 @@ rx@2.3.24: version "2.3.24" resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7" -rxjs-compat@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.2.0.tgz#2eb49cc6ac20d0d7057c6887d1895beaab0966f9" +rxjs-compat@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.2.1.tgz#f5a5e4bd700db414e82aa7cb34e5c9222c6d3756" rxjs@^5.1.1, rxjs@^5.5.2: version "5.5.11" @@ -12452,12 +12485,18 @@ rxjs@^5.1.1, rxjs@^5.5.2: dependencies: symbol-observable "1.0.1" -rxjs@^6.1.0, rxjs@^6.2.0: +rxjs@^6.1.0: version "6.2.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.0.tgz#e024d0e180b72756a83c2aaea8f25423751ba978" dependencies: tslib "^1.9.0" +rxjs@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.1.tgz#246cebec189a6cbc143a3ef9f62d6f4c91813ca1" + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -13268,9 +13307,9 @@ styled-components@^3.3.2: stylis-rule-sheet "^0.0.10" supports-color "^3.2.3" -styled-system@^2.2.1: - version "2.2.5" - resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-2.2.5.tgz#95f1e2c2c9ddc5c462cc56237cf039aa9ecfd27d" +styled-system@^2.2.9: + version "2.2.9" + resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-2.2.9.tgz#1a9a2187b1856b4a385ed65a1daff771a253f3d9" dependencies: prop-types "^15.6.0" @@ -14177,6 +14216,12 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" +warning@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.1.tgz#66ce376b7fbfe8a887c22bdf0e7349d73d397745" + dependencies: + loose-envify "^1.0.0" + watch@~0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"