Skip to content

Commit

Permalink
feat: update react-transition-group@2.5.0
Browse files Browse the repository at this point in the history
BREAKING CHANGE: transitionLeaveTimeout -> transitionExitTimeout
  • Loading branch information
nLight committed Feb 26, 2019
1 parent a7de8e2 commit 32878ed
Show file tree
Hide file tree
Showing 10 changed files with 144 additions and 155 deletions.
177 changes: 82 additions & 95 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"react": "^16.8.1",
"react-dom": "^16.8.1",
"react-gemini-scrollbar": "2.3.x",
"react-transition-group": "1.2.x",
"react-transition-group": "2.5.0",
"semantic-release": "^15.13.3",
"source-map-loader": "0.1.5",
"stylelint": "7.10.1",
Expand All @@ -84,7 +84,7 @@
"cnvs": "1.1.14",
"react": ">= 16.8.0",
"react-dom": ">= 16.8.0",
"react-transition-group": "1.2.x",
"react-transition-group": ">= 2.5.0",
"react-gemini-scrollbar": "^2.1.5 || ^2.3.0"
},
"scripts": {
Expand Down
19 changes: 11 additions & 8 deletions src/Dropdown/Dropdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import classNames from "classnames";
import GeminiScrollbar from "react-gemini-scrollbar";
import React from "react";
import PropTypes from "prop-types";
import { CSSTransitionGroup } from "react-transition-group";
import { CSSTransition } from "react-transition-group";
import ReactDOM from "react-dom";

import BindMixin from "../Mixin/BindMixin";
Expand Down Expand Up @@ -383,6 +383,7 @@ class Dropdown extends Util.mixin(BindMixin) {

dropdownMenu = (
<span
key="dropdown-menu-key"
className={dropdownMenuClassSet}
role="menu"
ref={this.setDropdownMenuRef}
Expand All @@ -405,13 +406,15 @@ class Dropdown extends Util.mixin(BindMixin) {

if (props.transition) {
dropdownMenu = (
<CSSTransitionGroup
transitionName={transitionName}
transitionEnterTimeout={props.transitionEnterTimeout}
transitionLeaveTimeout={props.transitionLeaveTimeout}
<CSSTransition
classNames={transitionName}
timeout={{
enter: props.transitionEnterTimeout,
exit: props.transitionExitTimeout
}}
>
{dropdownMenu}
</CSSTransitionGroup>
</CSSTransition>
);
}

Expand Down Expand Up @@ -442,7 +445,7 @@ Dropdown.defaultProps = {
transition: false,
transitionName: "dropdown-menu",
transitionEnterTimeout: 250,
transitionLeaveTimeout: 250,
transitionExitTimeout: 250,
onItemSelection: () => {},
useGemini: true,
trigger: <DropdownListTrigger />,
Expand Down Expand Up @@ -491,7 +494,7 @@ Dropdown.propTypes = {
transitionName: PropTypes.string,
// Transition lengths
transitionEnterTimeout: PropTypes.number,
transitionLeaveTimeout: PropTypes.number,
transitionExitTimeout: PropTypes.number,
trigger: PropTypes.element,
// Option to use Gemini scrollbar. Defaults to true.
useGemini: PropTypes.bool,
Expand Down
12 changes: 6 additions & 6 deletions src/Dropdown/styles.less
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
}
}

@keyframes dropdown-down-leave {
@keyframes dropdown-down-exit {

0% {
transform: translateY(0);
Expand All @@ -31,7 +31,7 @@
}
}

@keyframes dropdown-up-leave {
@keyframes dropdown-up-exit {

0% {
transform: translateY(0);
Expand Down Expand Up @@ -153,17 +153,17 @@
animation: dropdown-fade-in 250ms both, dropdown-down-enter 250ms both;
}

.dropdown-menu-down-leave {
animation: dropdown-fade-out 250ms both, dropdown-down-leave 250ms both;
.dropdown-menu-down-exit {
animation: dropdown-fade-out 250ms both, dropdown-down-exit 250ms both;
z-index: 3;
}

.dropdown-menu-up-enter {
animation: dropdown-fade-in 250ms both, dropdown-up-enter 250ms both;
}

.dropdown-menu-up-leave {
animation: dropdown-fade-out 250ms both, dropdown-up-leave 250ms both;
.dropdown-menu-up-exit {
animation: dropdown-fade-out 250ms both, dropdown-up-exit 250ms both;
z-index: 3;
}

Expand Down
32 changes: 17 additions & 15 deletions src/List/List.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from "react";
import PropTypes from "prop-types";
import { CSSTransitionGroup } from "react-transition-group";
import { CSSTransition } from "react-transition-group";

import ListItem from "./ListItem";
import Util from "../Util/Util";
Expand All @@ -16,7 +16,7 @@ class List extends React.Component {
"content",
"transitionName",
"transitionEnterTimeout",
"transitionLeaveTimeout"
"transitionExitTimeout"
]);

if (Util.isArrayLike(item.content)) {
Expand All @@ -26,9 +26,11 @@ class List extends React.Component {
key={key}
tag={item.tag}
transition={true}
transitionName={props.transitionName}
transitionEnterTimeout={props.transitionEnterTimeout}
transitionLeaveTimeout={props.transitionLeaveTimeout}
timeout={{
enter: props.transitionEnterTimeout,
exit: props.transitionExitTimeout
}}
classNames={props.transitionName}
>
{this.getListItems(item.content, childIndex)}
</ListItem>
Expand All @@ -54,16 +56,16 @@ class List extends React.Component {

if (props.transition) {
return (
<CSSTransitionGroup
{...htmlAttributes}
<CSSTransition
className={props.className}
component={Tag}
transitionName={props.transitionName}
transitionEnterTimeout={props.transitionEnterTimeout}
transitionLeaveTimeout={props.transitionLeaveTimeout}
classNames={props.transitionName}
timeout={{
exit: props.transitionExitTimeout,
enter: props.transitionEnterTimeout
}}
>
{this.getListItems(props.content)}
</CSSTransitionGroup>
<Tag>{this.getListItems(props.content)}</Tag>
</CSSTransition>
);
}

Expand All @@ -81,7 +83,7 @@ List.defaultProps = {
transition: true,
transitionName: "list-item",
transitionEnterTimeout: 500,
transitionLeaveTimeout: 500
transitionExitTimeout: 500
};

List.propTypes = {
Expand Down Expand Up @@ -109,7 +111,7 @@ List.propTypes = {
transitionName: PropTypes.string,
// Transition lengths
transitionEnterTimeout: PropTypes.number,
transitionLeaveTimeout: PropTypes.number
transitionExitTimeout: PropTypes.number
};

module.exports = List;
12 changes: 4 additions & 8 deletions src/List/ListItem.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from "react";
import PropTypes from "prop-types";
import { CSSTransitionGroup } from "react-transition-group";
import { CSSTransition } from "react-transition-group";

import Util from "../Util/Util";

Expand All @@ -14,13 +14,9 @@ class ListItem extends React.Component {

if (props.transition) {
return (
<CSSTransitionGroup
{...htmlAttributes}
className={props.className}
component={props.tag}
>
{props.children}
</CSSTransitionGroup>
<CSSTransition {...htmlAttributes} className={props.className}>
<Tag>{props.children}</Tag>
</CSSTransition>
);
}

Expand Down
2 changes: 1 addition & 1 deletion src/List/styles.less
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@
animation: list-fade-in-left 500ms;
}

.list-item-leave {
.list-item-exit {
animation: list-fade-out-right 500ms;
}
35 changes: 18 additions & 17 deletions src/Modal/ModalContents.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import React from "react";
import PropTypes from "prop-types";
/**
* Lifecycle of a Modal:
* initial page load -> empty ReactCSSTransitionGroup
* initial page load -> empty TransitionGroup
* interaction changes open to true -> render modal content without scrollbars
* get height of content -> rerender modal content and cap the height
*/
import { CSSTransitionGroup } from "react-transition-group";
import { TransitionGroup, CSSTransition } from "react-transition-group";

import BindMixin from "../Mixin/BindMixin";
import DOMUtil from "../Util/DOMUtil";
Expand Down Expand Up @@ -380,18 +380,19 @@ class ModalContents extends Util.mixin(BindMixin) {
}

return (
<CSSTransitionGroup
transitionAppear={props.transitionAppear}
transitionEnter={props.transitionEnter}
transitionLeave={props.transitionLeave}
transitionName={props.transitionNameModal}
transitionAppearTimeout={props.transitionAppearTimeoutModal}
transitionEnterTimeout={props.transitionEnterTimeoutModal}
transitionLeaveTimeout={props.transitionLeaveTimeoutModal}
component="div"
<CSSTransition
appear={props.transitionAppear}
enter={props.transitionEnter}
exit={props.transitionExit}
classNames={props.transitionNameModal}
timeout={{
enter: props.transitionEnterTimeout,
exit: props.transitionExitTimeout,
appear: props.transitionAppearTimeoutModal
}}
>
{modalContent}
</CSSTransitionGroup>
<div>{modalContent}</div>
</CSSTransition>
);
}
}
Expand All @@ -409,10 +410,10 @@ ModalContents.defaultProps = {
transitionNameModal: "modal",
transitionAppearTimeoutModal: 300,
transitionEnterTimeoutModal: 300,
transitionLeaveTimeoutModal: 300,
transitionExitTimeoutModal: 300,
transitionAppear: true,
transitionEnter: true,
transitionLeave: true,
transitionExit: true,
useGemini: true,

// Default classes.
Expand Down Expand Up @@ -455,11 +456,11 @@ ModalContents.propTypes = {
// Transition lengths, must be non-zero
transitionAppearTimeoutModal: PropTypes.number,
transitionEnterTimeoutModal: PropTypes.number,
transitionLeaveTimeoutModal: PropTypes.number,
transitionExitTimeoutModal: PropTypes.number,
// Optionally disable transitions
transitionAppear: PropTypes.bool,
transitionEnter: PropTypes.bool,
transitionLeave: PropTypes.bool,
transitionExit: PropTypes.bool,
// Option to use Gemini scrollbar. Defaults to true.
useGemini: PropTypes.bool,

Expand Down
4 changes: 2 additions & 2 deletions src/Modal/styles.less
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
}
}

.modal-leave {
.modal-exit {

.modal {
opacity: 1;
Expand All @@ -80,7 +80,7 @@
opacity: 1;
}

&.modal-leave-active {
&.modal-exit-active {

.modal {
opacity: 0;
Expand Down
2 changes: 1 addition & 1 deletion src/Table/styles.less
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@
animation: table-fade-in-left 0.5s;
}

.table-row-leave {
.table-row-exit {
animation: table-fade-out-right 0.5s;
}

0 comments on commit 32878ed

Please sign in to comment.