terra-abstract-modal
Version:
The abstract modal is a structural component that provides the ability to display portal'd content in a layer above the app.
50 lines (42 loc) • 1.32 kB
JSX
import React from 'react';
import AbstractModal from '../../../AbstractModal';
import './AbstractModalTestStyles.module.scss';
class ModalIsOpen extends React.Component {
constructor() {
super();
this.state = {
isOpen: false,
};
this.handleOpenModal = this.handleOpenModal.bind(this);
this.handleCloseModal = this.handleCloseModal.bind(this);
}
handleOpenModal() {
this.setState({ isOpen: true });
}
handleCloseModal() {
this.setState({ isOpen: false });
}
render() {
return (
<div id="modal">
<AbstractModal
ariaLabel="Terra Modal"
isOpen={this.state.isOpen}
onRequestClose={this.handleCloseModal}
classNameModal="test-background-class"
>
<div>
<h1>Terra Modal</h1>
<h2>Subtitle</h2>
<hr />
<p>The Terra Modal is appended to the document body.</p>
<p>{'Modal is assigned a role of \'document\' for accessibility.'}</p>
<button id="modal-button" type="button" onClick={this.handleCloseModal}>Close Modal</button>
</div>
</AbstractModal>
<button type="button" id="modal-open-button" onClick={this.handleOpenModal}>Open Modal</button>
</div>
);
}
}
export default ModalIsOpen;