diff --git a/src/base.js b/src/base.js
index 4619078b1e..ec27409241 100644
--- a/src/base.js
+++ b/src/base.js
@@ -6,6 +6,7 @@ export default class Base extends Component {
constructor(props) {
super(props);
+ this.state = { hidden: false };
this.close = this.close.bind(this);
}
@@ -14,8 +15,10 @@ export default class Base extends Component {
const element = this.refs.self;
element.style.height = `${element.offsetHeight}px`;
setTimeout(() => {
- element.style.height = 0;
- onClose();
+ this.setState({ hidden: true }, () => {
+ element.style.height = 0;
+ onClose();
+ });
}, 0);
}
@@ -28,11 +31,12 @@ export default class Base extends Component {
header,
locale,
} = this.props;
-
+ const { hidden } = this.state;
return (
diff --git a/src/test/context-message-test.js b/src/test/context-message-test.js
index 61deaf7ca5..60c2f59e67 100644
--- a/src/test/context-message-test.js
+++ b/src/test/context-message-test.js
@@ -56,9 +56,11 @@ describe('Test Base', () => {
const onClickSpy = sinon.spy();
wrapper = mount(cloneElement(element, { onClose: onClickSpy }));
wrapper.find('.ffe-context-message-content__close-button').simulate('click');
+ const component = wrapper.find('.ffe-context-message');
+ expect(component.props()['aria-hidden']).to.be(false);
setTimeout(() => {
- const component = wrapper.find('.ffe-context-message');
expect(component.get(0).style.getPropertyValue('height')).to.be('0px');
+ expect(component.props()['aria-hidden']).to.be(true);
expect(onClickSpy.calledOnce);
done();
}, 100);