From 21c7cb93a2ede86fd5c814bb3f73d705b295a888 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Fri, 10 Nov 2017 13:42:33 -0800 Subject: [PATCH] Upgrade to React 16 --- app/components/DropToImport/DropToImport.js | 4 +- app/components/DropdownMenu/DropdownMenu.js | 76 ++++---- .../Editor/components/BlockInsert.js | 4 +- app/components/Editor/components/Code.js | 1 + .../Editor/components/Toolbar/Toolbar.js | 4 +- .../Layout/components/SidebarCollections.js | 2 +- .../Layout/components/SidebarLink.js | 2 +- .../LoadingListPlaceholder.js | 19 +- .../LoadingPlaceholder/ListPlaceholder.js | 18 +- .../LoadingPlaceholder/LoadingPlaceholder.js | 23 +-- app/index.js | 3 - .../LoadingPlaceholder/LoadingPlaceholder.js | 19 +- app/styles/transitions.css | 27 --- package.json | 18 +- {app => shared}/styles/prism.css | 0 yarn.lock | 176 ++++++------------ 16 files changed, 146 insertions(+), 250 deletions(-) delete mode 100644 app/styles/transitions.css rename {app => shared}/styles/prism.css (100%) diff --git a/app/components/DropToImport/DropToImport.js b/app/components/DropToImport/DropToImport.js index 34bb84cc..b78a6fe8 100644 --- a/app/components/DropToImport/DropToImport.js +++ b/app/components/DropToImport/DropToImport.js @@ -97,7 +97,9 @@ class DropToImport extends Component { 'documentId', 'collectionId', 'documents', - 'disabled' + 'disabled', + 'dropzoneRef', + 'menuOpen' ); if (this.props.disabled) return this.props.children; diff --git a/app/components/DropdownMenu/DropdownMenu.js b/app/components/DropdownMenu/DropdownMenu.js index e5304833..6e5f8697 100644 --- a/app/components/DropdownMenu/DropdownMenu.js +++ b/app/components/DropdownMenu/DropdownMenu.js @@ -4,7 +4,7 @@ import invariant from 'invariant'; import { observable } from 'mobx'; import { observer } from 'mobx-react'; import styled from 'styled-components'; -import Portal from 'react-portal'; +import { PortalWithState } from 'react-portal'; import Flex from 'shared/components/Flex'; import { color } from 'shared/styles/constants'; import { fadeAndScaleIn } from 'shared/styles/animations'; @@ -19,58 +19,54 @@ type Props = { @observer class DropdownMenu extends Component { props: Props; - actionRef: Object; - @observable open: boolean = false; @observable top: number; @observable left: number; @observable right: number; - handleClick = (ev: SyntheticEvent) => { - ev.preventDefault(); - ev.stopPropagation(); - const currentTarget = ev.currentTarget; - invariant(document.body, 'why you not here'); + handleOpen = (openPortal: SyntheticEvent => void) => { + return (ev: SyntheticMouseEvent) => { + ev.preventDefault(); + ev.stopPropagation(); + const currentTarget = ev.currentTarget; + invariant(document.body, 'why you not here'); - if (currentTarget instanceof HTMLDivElement) { - const bodyRect = document.body.getBoundingClientRect(); - const targetRect = currentTarget.getBoundingClientRect(); - this.open = true; - this.top = targetRect.bottom - bodyRect.top; - this.right = bodyRect.width - targetRect.left - targetRect.width; - if (this.props.onOpen) this.props.onOpen(); - } - }; - - handleClose = (ev: SyntheticEvent) => { - this.open = false; - if (this.props.onClose) this.props.onClose(); + if (currentTarget instanceof HTMLDivElement) { + const bodyRect = document.body.getBoundingClientRect(); + const targetRect = currentTarget.getBoundingClientRect(); + this.top = targetRect.bottom - bodyRect.top; + this.right = bodyRect.width - targetRect.left - targetRect.width; + openPortal(ev); + } + }; }; render() { return (
- - - - {this.props.children} - - + {({ closePortal, openPortal, portal }) => [ + , + portal( + + {this.props.children} + + ), + ]} +
); } diff --git a/app/components/Editor/components/BlockInsert.js b/app/components/Editor/components/BlockInsert.js index 475b9757..b021a47a 100644 --- a/app/components/Editor/components/BlockInsert.js +++ b/app/components/Editor/components/BlockInsert.js @@ -1,6 +1,6 @@ // @flow import React, { Component } from 'react'; -import Portal from 'react-portal'; +import { Portal } from 'react-portal'; import { findDOMNode, Node } from 'slate'; import { observable } from 'mobx'; import { observer } from 'mobx-react'; @@ -112,7 +112,7 @@ export default class BlockInsert extends Component { const style = { top: `${this.top}px`, left: `${this.left}px` }; return ( - + diff --git a/app/components/Editor/components/Code.js b/app/components/Editor/components/Code.js index e37455be..4268db32 100644 --- a/app/components/Editor/components/Code.js +++ b/app/components/Editor/components/Code.js @@ -4,6 +4,7 @@ import styled from 'styled-components'; import CopyButton from './CopyButton'; import { color } from 'shared/styles/constants'; import type { Props } from '../types'; +import 'shared/styles/prism.css'; export default function Code({ children, node, readOnly, attributes }: Props) { const language = node.data.get('language') || 'javascript'; diff --git a/app/components/Editor/components/Toolbar/Toolbar.js b/app/components/Editor/components/Toolbar/Toolbar.js index d34966d9..8d4eec4e 100644 --- a/app/components/Editor/components/Toolbar/Toolbar.js +++ b/app/components/Editor/components/Toolbar/Toolbar.js @@ -1,6 +1,6 @@ // @flow import React, { Component } from 'react'; -import Portal from 'react-portal'; +import { Portal } from 'react-portal'; import styled from 'styled-components'; import _ from 'lodash'; import type { State } from '../../types'; @@ -118,7 +118,7 @@ export default class Toolbar extends Component { }; return ( - + {link && { return ( - + @@ -32,10 +23,14 @@ export default (props: Object) => { - + ); }; +const Fade = styled.span` + animation: ${fadeIn} 150ms ease-in-out; +`; + const Item = styled(Flex)` padding: 18px 0; `; diff --git a/app/components/LoadingPlaceholder/ListPlaceholder.js b/app/components/LoadingPlaceholder/ListPlaceholder.js index 1eef8488..38dde227 100644 --- a/app/components/LoadingPlaceholder/ListPlaceholder.js +++ b/app/components/LoadingPlaceholder/ListPlaceholder.js @@ -1,8 +1,8 @@ // @flow import React from 'react'; import _ from 'lodash'; -import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; import styled from 'styled-components'; +import { fadeIn } from 'shared/styles/animations'; import Mask from './components/Mask'; import Flex from 'shared/components/Flex'; @@ -12,25 +12,21 @@ type Props = { const ListPlaceHolder = ({ count }: Props) => { return ( - + {_.times(count || 2, index => ( ))} - + ); }; +const Fade = styled.span` + animation: ${fadeIn} 150ms ease-in-out; +`; + const Item = styled(Flex)` padding: 18px 0; `; diff --git a/app/components/LoadingPlaceholder/LoadingPlaceholder.js b/app/components/LoadingPlaceholder/LoadingPlaceholder.js index 97d9f1a3..7bac4e2c 100644 --- a/app/components/LoadingPlaceholder/LoadingPlaceholder.js +++ b/app/components/LoadingPlaceholder/LoadingPlaceholder.js @@ -1,26 +1,23 @@ // @flow import React from 'react'; -import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; +import styled from 'styled-components'; +import { fadeIn } from 'shared/styles/animations'; import Mask from './components/Mask'; import Flex from 'shared/components/Flex'; -export default (props: Object) => { +export default function LoadingPlaceholder(props: Object) { return ( - + - + ); -}; +} + +const Fade = styled.span` + animation: ${fadeIn} 150ms ease-in-out; +`; diff --git a/app/index.js b/app/index.js index 5054d3fc..9fd10e91 100644 --- a/app/index.js +++ b/app/index.js @@ -16,9 +16,6 @@ import CollectionsStore from 'stores/CollectionsStore'; import CacheStore from 'stores/CacheStore'; import globalStyles from 'shared/styles/globals'; -import 'styles/transitions.css'; -import 'styles/prism.css'; - import Home from 'scenes/Home'; import Dashboard from 'scenes/Dashboard'; import Starred from 'scenes/Starred'; diff --git a/app/scenes/Document/components/LoadingPlaceholder/LoadingPlaceholder.js b/app/scenes/Document/components/LoadingPlaceholder/LoadingPlaceholder.js index 5930c7ea..e725e71d 100644 --- a/app/scenes/Document/components/LoadingPlaceholder/LoadingPlaceholder.js +++ b/app/scenes/Document/components/LoadingPlaceholder/LoadingPlaceholder.js @@ -1,8 +1,7 @@ // @flow import React from 'react'; -import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; import styled from 'styled-components'; -import { pulsate } from 'shared/styles/animations'; +import { fadeIn, pulsate } from 'shared/styles/animations'; import { color } from 'shared/styles/constants'; import Flex from 'shared/components/Flex'; @@ -15,25 +14,21 @@ const randomValues = Array.from( export default (props: Object) => { return ( - + - + ); }; +const Fade = styled.span` + animation: ${fadeIn} 150ms ease-in-out; +`; + const Mask = styled(Flex)` height: ${props => (props.header ? 28 : 18)}px; margin-bottom: ${props => (props.header ? 32 : 14)}px; diff --git a/app/styles/transitions.css b/app/styles/transitions.css deleted file mode 100644 index 7b0463fe..00000000 --- a/app/styles/transitions.css +++ /dev/null @@ -1,27 +0,0 @@ -.fadeIn-appear { - opacity: 0.01; -} - -.fadeIn-appear.fadeIn-appear-active { - opacity: 1; - transition: opacity 250ms ease-in; - transition-delay: 0.35s; -} - -.fadeIn-enter { - opacity: 0.01; -} - -.fadeIn-enter.fadeIn-enter-active { - opacity: 1; - transition: opacity 200ms ease-in; -} - -.fadeIn-leave { - opacity: 1; -} - -.fadeIn-leave.fadeIn-leave-active { - opacity: 0.01; - transition: opacity 200ms ease-in; -} diff --git a/package.json b/package.json index 53361d1a..08bc0354 100644 --- a/package.json +++ b/package.json @@ -127,15 +127,14 @@ "query-string": "^4.3.4", "randomstring": "1.1.5", "raw-loader": "^0.5.1", - "react": "^15.6.1", - "react-addons-css-transition-group": "15.3.2", - "react-dom": "^15.6.1", - "react-dropzone": "3.6.0", + "react": "^16.1.0", + "react-dom": "^16.1.0", + "react-dropzone": "4.2.1", "react-helmet": "^5.2.0", "react-keydown": "^1.7.3", - "react-medium-image-zoom": "^2.0.3", - "react-modal": "^2.2.1", - "react-portal": "^3.1.0", + "react-medium-image-zoom": "^3.0.2", + "react-modal": "^3.1.2", + "react-portal": "^4.0.0", "react-router-dom": "^4.1.1", "redis": "^2.6.2", "redis-lock": "^0.1.0", @@ -175,8 +174,7 @@ "koa-webpack-hot-middleware": "1.0.3", "lint-staged": "^3.4.0", "nodemon": "1.11.0", - "prettier": "1.3.1", - "react-addons-test-utils": "^15.3.1", - "react-test-renderer": "^15.3.1" + "prettier": "1.8.2", + "react-test-renderer": "^16.1.0" } } diff --git a/app/styles/prism.css b/shared/styles/prism.css similarity index 100% rename from app/styles/prism.css rename to shared/styles/prism.css diff --git a/yarn.lock b/yarn.lock index 2d9c6320..0f677451 100644 --- a/yarn.lock +++ b/yarn.lock @@ -294,10 +294,6 @@ ast-types@0.8.15: version "0.8.15" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52" -ast-types@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.8.tgz#6cb6a40beba31f49f20928e28439fc14a3dab078" - async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -362,14 +358,6 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-code-frame@6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" - dependencies: - chalk "^1.1.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -1006,10 +994,6 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 lodash "^4.17.4" to-fast-properties "^1.0.3" -babylon@7.0.0-beta.8: - version "7.0.0-beta.8" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.8.tgz#2bdc5ae366041442c27e068cce6f0d7c06ea9949" - babylon@^6.17.0, babylon@^6.17.4, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -1420,7 +1404,7 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -2907,7 +2891,7 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" -esutils@2.0.2, esutils@^2.0.2: +esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -3096,6 +3080,18 @@ fbemitter@^2.1.1: dependencies: fbjs "^0.8.4" +fbjs@^0.8.16: + version "0.8.16" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + dependencies: + 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.9" + fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9: version "0.8.14" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.14.tgz#d1dbe2be254c35a91e09f31f9cd50a40b2a0ed1c" @@ -3257,10 +3253,6 @@ flow-bin@^0.49.1: version "0.49.1" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.49.1.tgz#c9e456b3173a7535a4ffaf28956352c63bb8e3e9" -flow-parser@0.45.0: - version "0.45.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.45.0.tgz#aa29d4ae27f06aa02817772bba0fcbefef7e62f0" - flow-typed@^2.1.2: version "2.1.5" resolved "https://registry.yarnpkg.com/flow-typed/-/flow-typed-2.1.5.tgz#c96912807a286357340042783c9369360f384bbd" @@ -3443,10 +3435,6 @@ get-document@1: version "1.0.0" resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" -get-stdin@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -3512,17 +3500,6 @@ glob2base@^0.0.12: dependencies: find-index "^0.1.1" -glob@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^4.3.1: version "4.5.3" resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" @@ -4717,13 +4694,6 @@ jest-jasmine2@^20.0.4: once "^1.4.0" p-map "^1.1.1" -jest-matcher-utils@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" - dependencies: - chalk "^1.1.3" - pretty-format "^19.0.0" - jest-matcher-utils@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612" @@ -4813,15 +4783,6 @@ jest-util@^20.0.3: leven "^2.1.0" mkdirp "^0.5.1" -jest-validate@19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.0.tgz#8c6318a20ecfeaba0ba5378bfbb8277abded4173" - dependencies: - chalk "^1.1.1" - jest-matcher-utils "^19.0.0" - leven "^2.0.0" - pretty-format "^19.0.0" - jest-validate@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab" @@ -5207,7 +5168,7 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -leven@^2.0.0, leven@^2.1.0: +leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -5948,7 +5909,7 @@ minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -7083,20 +7044,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.3.1.tgz#fa0ea84b45ac0ba6de6a1e4cecdcff900d563151" - dependencies: - ast-types "0.9.8" - babel-code-frame "6.22.0" - babylon "7.0.0-beta.8" - chalk "1.1.3" - esutils "2.0.2" - flow-parser "0.45.0" - get-stdin "5.0.1" - glob "7.1.1" - jest-validate "19.0.0" - minimist "1.2.0" +prettier@1.8.2: + version "1.8.2" + resolved "https://registry.npmjs.org/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8" pretty-error@^2.0.0: version "2.1.1" @@ -7105,12 +7055,6 @@ pretty-error@^2.0.0: renderkid "^2.0.1" utila "~0.4" -pretty-format@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" - dependencies: - ansi-styles "^3.0.0" - pretty-format@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14" @@ -7161,6 +7105,14 @@ prop-types@>=15.5.6, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8 fbjs "^0.8.9" loose-envify "^1.3.1" +prop-types@^15.5.7, prop-types@^15.6.0: + version "15.6.0" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -7307,14 +7259,6 @@ rc@^1.0.1, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-addons-css-transition-group@15.3.2: - version "15.3.2" - resolved "https://registry.yarnpkg.com/react-addons-css-transition-group/-/react-addons-css-transition-group-15.3.2.tgz#d8fa52bec9bb61bdfde8b9e4652b80297cbff667" - -react-addons-test-utils@^15.3.1: - version "15.6.0" - resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.0.tgz#062d36117fe8d18f3ba5e06eb33383b0b85ea5b9" - react-create-component-from-tag-prop@^1.2.1: version "1.3.1" resolved "https://registry.npmjs.org/react-create-component-from-tag-prop/-/react-create-component-from-tag-prop-1.3.1.tgz#5389407d99f88ba2b36351780a6094470b44a7c7" @@ -7326,24 +7270,21 @@ react-deep-force-update@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c" -react-dom-factories@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.1.tgz#c50692ac5ff1adb39d86dfe6dbe3485dacf58455" - -react-dom@^15.6.1: - version "15.6.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" +react-dom@^16.1.0: + version "16.1.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-16.1.0.tgz#ab6fd2a285096f388aeba51919a573d06c9bdde4" dependencies: - fbjs "^0.8.9" + fbjs "^0.8.16" loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.10" + object-assign "^4.1.1" + prop-types "^15.6.0" -react-dropzone@3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-3.6.0.tgz#31e9cdfc0db921525dae0b82115cf4dc764c680a" +react-dropzone@4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-4.2.1.tgz#695e80bd0b065f1181e69f2d0f6d1d5cc72664c9" dependencies: attr-accept "^1.0.3" + prop-types "^15.5.7" react-helmet@^5.2.0: version "5.2.0" @@ -7360,17 +7301,16 @@ react-keydown@^1.7.3: dependencies: core-js "^2.5.0" -react-medium-image-zoom@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/react-medium-image-zoom/-/react-medium-image-zoom-2.0.6.tgz#9c6c6b38f2bae4f9f5fd7f8adf43c2b816e13660" +react-medium-image-zoom@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-3.0.2.tgz#13bb39a2aa2c4d63821fd018f8b4a93cd3316cd4" -react-modal@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.2.4.tgz#a32483c3555bd7677f09bca65d82f51da3abcbc0" +react-modal@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/react-modal/-/react-modal-3.1.2.tgz#6e1fd656315d6fc62a1edda2b5aecc9752ac6bca" dependencies: exenv "^1.2.0" prop-types "^15.5.10" - react-dom-factories "^1.0.0" react-portal@^3.1.0: version "3.1.0" @@ -7378,6 +7318,12 @@ react-portal@^3.1.0: dependencies: prop-types "^15.5.8" +react-portal@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/react-portal/-/react-portal-4.0.0.tgz#d327b495dc72a305e8a3e351f212a2d94677f913" + dependencies: + prop-types "^15.5.8" + react-proxy@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a" @@ -7415,12 +7361,13 @@ react-side-effect@^1.1.0: exenv "^1.2.1" shallowequal "^1.0.1" -react-test-renderer@^15.3.1: - version "15.6.1" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.1.tgz#026f4a5bb5552661fd2cc4bbcd0d4bc8a35ebf7e" +react-test-renderer@^16.1.0: + version "16.1.0" + resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.1.0.tgz#33a1d3ce896311e0dd1547649b1456ffa7fda415" dependencies: - fbjs "^0.8.9" - object-assign "^4.1.0" + fbjs "^0.8.16" + object-assign "^4.1.1" + prop-types "^15.6.0" react-transform-catch-errors@^1.0.2: version "1.0.2" @@ -7443,15 +7390,14 @@ react@^15.5.4: object-assign "^4.1.0" prop-types "^15.5.10" -react@^15.6.1: - version "15.6.1" - resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df" +react@^16.1.0: + version "16.1.0" + resolved "https://registry.npmjs.org/react/-/react-16.1.0.tgz#1c2bdac3c17fe7ee9282fa35aca6cc36387903e1" dependencies: - create-react-class "^15.6.0" - fbjs "^0.8.9" + fbjs "^0.8.16" loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.10" + object-assign "^4.1.1" + prop-types "^15.6.0" read-all-stream@^3.0.0: version "3.1.0"