Upgrade to React 16

This commit is contained in:
Tom Moor
2017-11-10 13:42:33 -08:00
parent 0d1e1c71c6
commit 21c7cb93a2
16 changed files with 146 additions and 250 deletions

View File

@@ -97,7 +97,9 @@ class DropToImport extends Component {
'documentId', 'documentId',
'collectionId', 'collectionId',
'documents', 'documents',
'disabled' 'disabled',
'dropzoneRef',
'menuOpen'
); );
if (this.props.disabled) return this.props.children; if (this.props.disabled) return this.props.children;

View File

@@ -4,7 +4,7 @@ import invariant from 'invariant';
import { observable } from 'mobx'; import { observable } from 'mobx';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import styled from 'styled-components'; import styled from 'styled-components';
import Portal from 'react-portal'; import { PortalWithState } from 'react-portal';
import Flex from 'shared/components/Flex'; import Flex from 'shared/components/Flex';
import { color } from 'shared/styles/constants'; import { color } from 'shared/styles/constants';
import { fadeAndScaleIn } from 'shared/styles/animations'; import { fadeAndScaleIn } from 'shared/styles/animations';
@@ -19,58 +19,54 @@ type Props = {
@observer class DropdownMenu extends Component { @observer class DropdownMenu extends Component {
props: Props; props: Props;
actionRef: Object;
@observable open: boolean = false;
@observable top: number; @observable top: number;
@observable left: number; @observable left: number;
@observable right: number; @observable right: number;
handleClick = (ev: SyntheticEvent) => { handleOpen = (openPortal: SyntheticEvent => void) => {
ev.preventDefault(); return (ev: SyntheticMouseEvent) => {
ev.stopPropagation(); ev.preventDefault();
const currentTarget = ev.currentTarget; ev.stopPropagation();
invariant(document.body, 'why you not here'); const currentTarget = ev.currentTarget;
invariant(document.body, 'why you not here');
if (currentTarget instanceof HTMLDivElement) { if (currentTarget instanceof HTMLDivElement) {
const bodyRect = document.body.getBoundingClientRect(); const bodyRect = document.body.getBoundingClientRect();
const targetRect = currentTarget.getBoundingClientRect(); const targetRect = currentTarget.getBoundingClientRect();
this.open = true; this.top = targetRect.bottom - bodyRect.top;
this.top = targetRect.bottom - bodyRect.top; this.right = bodyRect.width - targetRect.left - targetRect.width;
this.right = bodyRect.width - targetRect.left - targetRect.width; openPortal(ev);
if (this.props.onOpen) this.props.onOpen(); }
} };
};
handleClose = (ev: SyntheticEvent) => {
this.open = false;
if (this.props.onClose) this.props.onClose();
}; };
render() { render() {
return ( return (
<div> <div>
<Label <PortalWithState
onClick={this.handleClick} onOpen={this.props.onOpen}
innerRef={ref => (this.actionRef = ref)} onClose={this.props.onClose}
>
{this.props.label}
</Label>
<Portal
closeOnEsc closeOnEsc
closeOnOutsideClick closeOnOutsideClick
isOpened={this.open}
onClose={this.handleClose}
> >
<Menu {({ closePortal, openPortal, portal }) => [
onClick={this.handleClose} <Label onClick={this.handleOpen(openPortal)} key="label">
style={this.props.style} {this.props.label}
left={this.left} </Label>,
top={this.top} portal(
right={this.right} <Menu
> key="menu"
{this.props.children} onClick={closePortal}
</Menu> style={this.props.style}
</Portal> left={this.left}
top={this.top}
right={this.right}
>
{this.props.children}
</Menu>
),
]}
</PortalWithState>
</div> </div>
); );
} }

View File

@@ -1,6 +1,6 @@
// @flow // @flow
import React, { Component } from 'react'; import React, { Component } from 'react';
import Portal from 'react-portal'; import { Portal } from 'react-portal';
import { findDOMNode, Node } from 'slate'; import { findDOMNode, Node } from 'slate';
import { observable } from 'mobx'; import { observable } from 'mobx';
import { observer } from 'mobx-react'; 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` }; const style = { top: `${this.top}px`, left: `${this.left}px` };
return ( return (
<Portal isOpened> <Portal>
<Trigger active={this.active} style={style}> <Trigger active={this.active} style={style}>
<PlusIcon onClick={this.handleClick} color={color.slate} /> <PlusIcon onClick={this.handleClick} color={color.slate} />
</Trigger> </Trigger>

View File

@@ -4,6 +4,7 @@ import styled from 'styled-components';
import CopyButton from './CopyButton'; import CopyButton from './CopyButton';
import { color } from 'shared/styles/constants'; import { color } from 'shared/styles/constants';
import type { Props } from '../types'; import type { Props } from '../types';
import 'shared/styles/prism.css';
export default function Code({ children, node, readOnly, attributes }: Props) { export default function Code({ children, node, readOnly, attributes }: Props) {
const language = node.data.get('language') || 'javascript'; const language = node.data.get('language') || 'javascript';

View File

@@ -1,6 +1,6 @@
// @flow // @flow
import React, { Component } from 'react'; import React, { Component } from 'react';
import Portal from 'react-portal'; import { Portal } from 'react-portal';
import styled from 'styled-components'; import styled from 'styled-components';
import _ from 'lodash'; import _ from 'lodash';
import type { State } from '../../types'; import type { State } from '../../types';
@@ -118,7 +118,7 @@ export default class Toolbar extends Component {
}; };
return ( return (
<Portal isOpened> <Portal>
<Menu active={this.state.active} innerRef={this.setRef} style={style}> <Menu active={this.state.active} innerRef={this.setRef} style={style}>
{link && {link &&
<LinkToolbar <LinkToolbar

View File

@@ -194,7 +194,7 @@ const DocumentLink = observer(
<DropToImport <DropToImport
history={history} history={history}
documentId={document.id} documentId={document.id}
activeStyle="activeDropZone" activeClassName="activeDropZone"
> >
<SidebarLink <SidebarLink
to={document.url} to={document.url}

View File

@@ -71,7 +71,7 @@ type Props = {
if (this.props.expand) this.handleExpand(); if (this.props.expand) this.handleExpand();
} }
componentDidReceiveProps(nextProps: Props) { componentWillReceiveProps(nextProps: Props) {
if (nextProps.expand) this.handleExpand(); if (nextProps.expand) this.handleExpand();
} }

View File

@@ -1,8 +1,7 @@
// @flow // @flow
import React from 'react'; import React from 'react';
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
import styled from 'styled-components'; 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 { color } from 'shared/styles/constants';
import Flex from 'shared/components/Flex'; import Flex from 'shared/components/Flex';
@@ -15,15 +14,7 @@ const randomValues = Array.from(
export default (props: Object) => { export default (props: Object) => {
return ( return (
<ReactCSSTransitionGroup <Fade>
transitionName="fadeIn"
transitionAppear
transitionEnter
transitionLeave
transitionAppearTimeout={0}
transitionEnterTimeout={0}
transitionLeaveTimeout={0}
>
<Item column auto> <Item column auto>
<Mask style={{ width: randomValues[0] }} header /> <Mask style={{ width: randomValues[0] }} header />
<Mask style={{ width: randomValues[1] }} /> <Mask style={{ width: randomValues[1] }} />
@@ -32,10 +23,14 @@ export default (props: Object) => {
<Mask style={{ width: randomValues[2] }} header /> <Mask style={{ width: randomValues[2] }} header />
<Mask style={{ width: randomValues[3] }} /> <Mask style={{ width: randomValues[3] }} />
</Item> </Item>
</ReactCSSTransitionGroup> </Fade>
); );
}; };
const Fade = styled.span`
animation: ${fadeIn} 150ms ease-in-out;
`;
const Item = styled(Flex)` const Item = styled(Flex)`
padding: 18px 0; padding: 18px 0;
`; `;

View File

@@ -1,8 +1,8 @@
// @flow // @flow
import React from 'react'; import React from 'react';
import _ from 'lodash'; import _ from 'lodash';
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
import styled from 'styled-components'; import styled from 'styled-components';
import { fadeIn } from 'shared/styles/animations';
import Mask from './components/Mask'; import Mask from './components/Mask';
import Flex from 'shared/components/Flex'; import Flex from 'shared/components/Flex';
@@ -12,25 +12,21 @@ type Props = {
const ListPlaceHolder = ({ count }: Props) => { const ListPlaceHolder = ({ count }: Props) => {
return ( return (
<ReactCSSTransitionGroup <Fade>
transitionName="fadeIn"
transitionAppearTimeout={0}
transitionEnterTimeout={0}
transitionLeaveTimeout={0}
transitionAppear
transitionEnter
transitionLeave
>
{_.times(count || 2, index => ( {_.times(count || 2, index => (
<Item key={index} column auto> <Item key={index} column auto>
<Mask header /> <Mask header />
<Mask /> <Mask />
</Item> </Item>
))} ))}
</ReactCSSTransitionGroup> </Fade>
); );
}; };
const Fade = styled.span`
animation: ${fadeIn} 150ms ease-in-out;
`;
const Item = styled(Flex)` const Item = styled(Flex)`
padding: 18px 0; padding: 18px 0;
`; `;

View File

@@ -1,26 +1,23 @@
// @flow // @flow
import React from 'react'; 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 Mask from './components/Mask';
import Flex from 'shared/components/Flex'; import Flex from 'shared/components/Flex';
export default (props: Object) => { export default function LoadingPlaceholder(props: Object) {
return ( return (
<ReactCSSTransitionGroup <Fade>
transitionName="fadeIn"
transitionAppearTimeout={0}
transitionEnterTimeout={0}
transitionLeaveTimeout={0}
transitionAppear
transitionEnter
transitionLeave
>
<Flex column auto {...props}> <Flex column auto {...props}>
<Mask header /> <Mask header />
<Mask /> <Mask />
<Mask /> <Mask />
<Mask /> <Mask />
</Flex> </Flex>
</ReactCSSTransitionGroup> </Fade>
); );
}; }
const Fade = styled.span`
animation: ${fadeIn} 150ms ease-in-out;
`;

View File

@@ -16,9 +16,6 @@ import CollectionsStore from 'stores/CollectionsStore';
import CacheStore from 'stores/CacheStore'; import CacheStore from 'stores/CacheStore';
import globalStyles from 'shared/styles/globals'; import globalStyles from 'shared/styles/globals';
import 'styles/transitions.css';
import 'styles/prism.css';
import Home from 'scenes/Home'; import Home from 'scenes/Home';
import Dashboard from 'scenes/Dashboard'; import Dashboard from 'scenes/Dashboard';
import Starred from 'scenes/Starred'; import Starred from 'scenes/Starred';

View File

@@ -1,8 +1,7 @@
// @flow // @flow
import React from 'react'; import React from 'react';
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
import styled from 'styled-components'; 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 { color } from 'shared/styles/constants';
import Flex from 'shared/components/Flex'; import Flex from 'shared/components/Flex';
@@ -15,25 +14,21 @@ const randomValues = Array.from(
export default (props: Object) => { export default (props: Object) => {
return ( return (
<ReactCSSTransitionGroup <Fade>
transitionName="fadeIn"
transitionAppear
transitionEnter
transitionLeave
transitionAppearTimeout={0}
transitionEnterTimeout={0}
transitionLeaveTimeout={0}
>
<Flex column auto {...props}> <Flex column auto {...props}>
<Mask style={{ width: randomValues[0] }} header /> <Mask style={{ width: randomValues[0] }} header />
<Mask style={{ width: randomValues[1] }} /> <Mask style={{ width: randomValues[1] }} />
<Mask style={{ width: randomValues[2] }} /> <Mask style={{ width: randomValues[2] }} />
<Mask style={{ width: randomValues[3] }} /> <Mask style={{ width: randomValues[3] }} />
</Flex> </Flex>
</ReactCSSTransitionGroup> </Fade>
); );
}; };
const Fade = styled.span`
animation: ${fadeIn} 150ms ease-in-out;
`;
const Mask = styled(Flex)` const Mask = styled(Flex)`
height: ${props => (props.header ? 28 : 18)}px; height: ${props => (props.header ? 28 : 18)}px;
margin-bottom: ${props => (props.header ? 32 : 14)}px; margin-bottom: ${props => (props.header ? 32 : 14)}px;

View File

@@ -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;
}

View File

@@ -127,15 +127,14 @@
"query-string": "^4.3.4", "query-string": "^4.3.4",
"randomstring": "1.1.5", "randomstring": "1.1.5",
"raw-loader": "^0.5.1", "raw-loader": "^0.5.1",
"react": "^15.6.1", "react": "^16.1.0",
"react-addons-css-transition-group": "15.3.2", "react-dom": "^16.1.0",
"react-dom": "^15.6.1", "react-dropzone": "4.2.1",
"react-dropzone": "3.6.0",
"react-helmet": "^5.2.0", "react-helmet": "^5.2.0",
"react-keydown": "^1.7.3", "react-keydown": "^1.7.3",
"react-medium-image-zoom": "^2.0.3", "react-medium-image-zoom": "^3.0.2",
"react-modal": "^2.2.1", "react-modal": "^3.1.2",
"react-portal": "^3.1.0", "react-portal": "^4.0.0",
"react-router-dom": "^4.1.1", "react-router-dom": "^4.1.1",
"redis": "^2.6.2", "redis": "^2.6.2",
"redis-lock": "^0.1.0", "redis-lock": "^0.1.0",
@@ -175,8 +174,7 @@
"koa-webpack-hot-middleware": "1.0.3", "koa-webpack-hot-middleware": "1.0.3",
"lint-staged": "^3.4.0", "lint-staged": "^3.4.0",
"nodemon": "1.11.0", "nodemon": "1.11.0",
"prettier": "1.3.1", "prettier": "1.8.2",
"react-addons-test-utils": "^15.3.1", "react-test-renderer": "^16.1.0"
"react-test-renderer": "^15.3.1"
} }
} }

176
yarn.lock
View File

@@ -294,10 +294,6 @@ ast-types@0.8.15:
version "0.8.15" version "0.8.15"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52" 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: async-each@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 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" version "1.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 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: 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" version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 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" lodash "^4.17.4"
to-fast-properties "^1.0.3" 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: babylon@^6.17.0, babylon@^6.17.4, babylon@^6.18.0:
version "6.18.0" version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
@@ -1420,7 +1404,7 @@ chainsaw@~0.1.0:
dependencies: dependencies:
traverse ">=0.3.0 <0.4" 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" version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies: 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" version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 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" version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -3096,6 +3080,18 @@ fbemitter@^2.1.1:
dependencies: dependencies:
fbjs "^0.8.4" 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: fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9:
version "0.8.14" version "0.8.14"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.14.tgz#d1dbe2be254c35a91e09f31f9cd50a40b2a0ed1c" 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" version "0.49.1"
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.49.1.tgz#c9e456b3173a7535a4ffaf28956352c63bb8e3e9" 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: flow-typed@^2.1.2:
version "2.1.5" version "2.1.5"
resolved "https://registry.yarnpkg.com/flow-typed/-/flow-typed-2.1.5.tgz#c96912807a286357340042783c9369360f384bbd" 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" version "1.0.0"
resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" 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: get-stdin@^4.0.1:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
@@ -3512,17 +3500,6 @@ glob2base@^0.0.12:
dependencies: dependencies:
find-index "^0.1.1" 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: glob@^4.3.1:
version "4.5.3" version "4.5.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" 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" once "^1.4.0"
p-map "^1.1.1" 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: jest-matcher-utils@^20.0.3:
version "20.0.3" version "20.0.3"
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612" 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" leven "^2.1.0"
mkdirp "^0.5.1" 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: jest-validate@^20.0.3:
version "20.0.3" version "20.0.3"
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab"
@@ -5207,7 +5168,7 @@ lcid@^1.0.0:
dependencies: dependencies:
invert-kv "^1.0.0" invert-kv "^1.0.0"
leven@^2.0.0, leven@^2.1.0: leven@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" 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" version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 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" version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -7083,20 +7044,9 @@ preserve@^0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
prettier@1.3.1: prettier@1.8.2:
version "1.3.1" version "1.8.2"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.3.1.tgz#fa0ea84b45ac0ba6de6a1e4cecdcff900d563151" resolved "https://registry.npmjs.org/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8"
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"
pretty-error@^2.0.0: pretty-error@^2.0.0:
version "2.1.1" version "2.1.1"
@@ -7105,12 +7055,6 @@ pretty-error@^2.0.0:
renderkid "^2.0.1" renderkid "^2.0.1"
utila "~0.4" 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: pretty-format@^20.0.3:
version "20.0.3" version "20.0.3"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14" 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" fbjs "^0.8.9"
loose-envify "^1.3.1" 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: proto-list@~1.2.1:
version "1.2.4" version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" 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" minimist "^1.2.0"
strip-json-comments "~2.0.1" 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: react-create-component-from-tag-prop@^1.2.1:
version "1.3.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" 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" version "1.1.1"
resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c"
react-dom-factories@^1.0.0: react-dom@^16.1.0:
version "1.0.1" version "16.1.0"
resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.1.tgz#c50692ac5ff1adb39d86dfe6dbe3485dacf58455" resolved "https://registry.npmjs.org/react-dom/-/react-dom-16.1.0.tgz#ab6fd2a285096f388aeba51919a573d06c9bdde4"
react-dom@^15.6.1:
version "15.6.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470"
dependencies: dependencies:
fbjs "^0.8.9" fbjs "^0.8.16"
loose-envify "^1.1.0" loose-envify "^1.1.0"
object-assign "^4.1.0" object-assign "^4.1.1"
prop-types "^15.5.10" prop-types "^15.6.0"
react-dropzone@3.6.0: react-dropzone@4.2.1:
version "3.6.0" version "4.2.1"
resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-3.6.0.tgz#31e9cdfc0db921525dae0b82115cf4dc764c680a" resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-4.2.1.tgz#695e80bd0b065f1181e69f2d0f6d1d5cc72664c9"
dependencies: dependencies:
attr-accept "^1.0.3" attr-accept "^1.0.3"
prop-types "^15.5.7"
react-helmet@^5.2.0: react-helmet@^5.2.0:
version "5.2.0" version "5.2.0"
@@ -7360,17 +7301,16 @@ react-keydown@^1.7.3:
dependencies: dependencies:
core-js "^2.5.0" core-js "^2.5.0"
react-medium-image-zoom@^2.0.3: react-medium-image-zoom@^3.0.2:
version "2.0.6" version "3.0.2"
resolved "https://registry.yarnpkg.com/react-medium-image-zoom/-/react-medium-image-zoom-2.0.6.tgz#9c6c6b38f2bae4f9f5fd7f8adf43c2b816e13660" resolved "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-3.0.2.tgz#13bb39a2aa2c4d63821fd018f8b4a93cd3316cd4"
react-modal@^2.2.1: react-modal@^3.1.2:
version "2.2.4" version "3.1.2"
resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.2.4.tgz#a32483c3555bd7677f09bca65d82f51da3abcbc0" resolved "https://registry.npmjs.org/react-modal/-/react-modal-3.1.2.tgz#6e1fd656315d6fc62a1edda2b5aecc9752ac6bca"
dependencies: dependencies:
exenv "^1.2.0" exenv "^1.2.0"
prop-types "^15.5.10" prop-types "^15.5.10"
react-dom-factories "^1.0.0"
react-portal@^3.1.0: react-portal@^3.1.0:
version "3.1.0" version "3.1.0"
@@ -7378,6 +7318,12 @@ react-portal@^3.1.0:
dependencies: dependencies:
prop-types "^15.5.8" 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: react-proxy@^1.1.7:
version "1.1.8" version "1.1.8"
resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a" 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" exenv "^1.2.1"
shallowequal "^1.0.1" shallowequal "^1.0.1"
react-test-renderer@^15.3.1: react-test-renderer@^16.1.0:
version "15.6.1" version "16.1.0"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.1.tgz#026f4a5bb5552661fd2cc4bbcd0d4bc8a35ebf7e" resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.1.0.tgz#33a1d3ce896311e0dd1547649b1456ffa7fda415"
dependencies: dependencies:
fbjs "^0.8.9" fbjs "^0.8.16"
object-assign "^4.1.0" object-assign "^4.1.1"
prop-types "^15.6.0"
react-transform-catch-errors@^1.0.2: react-transform-catch-errors@^1.0.2:
version "1.0.2" version "1.0.2"
@@ -7443,15 +7390,14 @@ react@^15.5.4:
object-assign "^4.1.0" object-assign "^4.1.0"
prop-types "^15.5.10" prop-types "^15.5.10"
react@^15.6.1: react@^16.1.0:
version "15.6.1" version "16.1.0"
resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df" resolved "https://registry.npmjs.org/react/-/react-16.1.0.tgz#1c2bdac3c17fe7ee9282fa35aca6cc36387903e1"
dependencies: dependencies:
create-react-class "^15.6.0" fbjs "^0.8.16"
fbjs "^0.8.9"
loose-envify "^1.1.0" loose-envify "^1.1.0"
object-assign "^4.1.0" object-assign "^4.1.1"
prop-types "^15.5.10" prop-types "^15.6.0"
read-all-stream@^3.0.0: read-all-stream@^3.0.0:
version "3.1.0" version "3.1.0"