diff --git a/package-lock.json b/package-lock.json
index 2298169..36b7608 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3716,14 +3716,6 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
- "deep-assign": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-2.0.0.tgz",
- "integrity": "sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI=",
- "requires": {
- "is-obj": "^1.0.0"
- }
- },
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
@@ -7525,7 +7517,8 @@
"is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
},
"is-obj-prop": {
"version": "1.0.0",
@@ -8201,7 +8194,8 @@
"keycode": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz",
- "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ="
+ "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=",
+ "dev": true
},
"killable": {
"version": "1.0.0",
diff --git a/package.json b/package.json
index ce6b526..cc2b2f5 100644
--- a/package.json
+++ b/package.json
@@ -41,8 +41,6 @@
"dependencies": {
"@babel/runtime": "7.0.0-rc.1",
"classnames": "2.2.6",
- "deep-assign": "2.0.0",
- "keycode": "2.2.0",
"material-design-icons": "3.0.1",
"react-scrollbar-size": "2.1.0",
"react-transition-group": "1.2.1",
@@ -85,6 +83,7 @@
"karma-safari-launcher": "1.0.0",
"karma-sourcemap-loader": "0.3.7",
"karma-webpack": "3.0.0",
+ "keycode": "2.2.0",
"lodash": "4.17.10",
"mocha": "5.2.0",
"npm-run-all": "4.1.3",
diff --git a/src/Button/Button.js b/src/Button/Button.js
index 7036417..b47e2ee 100644
--- a/src/Button/Button.js
+++ b/src/Button/Button.js
@@ -1,5 +1,4 @@
import {findDOMNode} from 'react-dom';
-import keycode from 'keycode';
import makeClass from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
@@ -54,9 +53,11 @@ class Button extends React.Component {
onKeyDown = rippleMiddleware(this, 'keyDown', (e, ...args) => {
this.setState({mouseFocused: false});
- const key = keycode(e.keyCode);
+ const {keyCode} = e;
+ const isEnter = (keyCode === 13);
+ const isSpace = (keyCode === 32);
const isAnchorTag = findDOMNode(this).tagName === 'A';
- if (key === 'enter' || (!isAnchorTag && key === 'space')) {
+ if (isEnter || (!isAnchorTag && isSpace)) {
e.persist();
this.ripple.remove(e, {}, () => (
this.ripple.add(e, {pulsate: true, centered: true})
diff --git a/src/Dialog/Dialog.spec.js b/src/Dialog/Dialog.spec.js
index ad483f9..413b4b2 100644
--- a/src/Dialog/Dialog.spec.js
+++ b/src/Dialog/Dialog.spec.js
@@ -37,11 +37,13 @@ describe('Dialog', () => {
assert(wrapper);
});
- it('should mount in an open state, then close', () => {
+ it('should mount in an open state, then close', createTest(() => {
const wrapper = mount();
wrapper.setProps({open: false});
- assert(wrapper);
- });
+ setTimeout(() => {
+ assert(wrapper);
+ }, 500);
+ }));
it('should mount in an open state, then close', createTest(() => {
const wrapper = mount(