React modal component
npm install @opuscapita/react-modal styled-components
View the DEMO
View the Change log
View the Migrate guide between major versions
A build with compiled styles in the .js file. Also minified version available in the lib/umd directory.
You need to configure your module loader to use cjs
or es
fields of the package.json to use these module types.
Also you need to configure sass loader, since all the styles are in sass format.
- With webpack use resolve.mainFields to configure the module type.
- Add SASS loader to support importing of SASS styles.
Prop name | Type | Default | Description |
---|---|---|---|
id | string | oc-modal | Component ID |
className | string | oc-modal | Component class |
isOpen | boolean | true | Is modal visible |
width | string | 100% | Modal width as CSS style |
height | string | 100% | Modal height as CSS style |
Prop name | Type | Default | Description |
---|---|---|---|
id | string | oc-modal-header | Component ID |
className | string | oc-modal-header | Component class |
Prop name | Type | Default | Description |
---|---|---|---|
id | string | oc-modal-body | Component ID |
className | string | oc-modal-body | Component class |
isBorderVisible | boolean | false | Show border around body area |
Prop name | Type | Default | Description |
---|---|---|---|
id | string | oc-modal-footer | Component ID |
className | string | oc-modal-footer | Component class |
Prop name | Type | Default | Description |
---|---|---|---|
id | string | oc-modal-button-container | Component ID |
className | string | oc-modal-button-container | Component class |
import React from 'react';
import Modal from '@opuscapita/react-modal';
export default class ReactView extends React.Component {
constructor(props) {
super(props);
this.state = {
isOpen: false,
};
}
toggleModal = () => {
this.setState((prevState) => ({ isOpen: !prevState.isOpen }));
}
render() {
const { isOpen } = this.state;
return (
<div>
<button type="button" onClick={this.toggleModal}>
Open Modal
</button>
<Modal
isOpen={isOpen}
>
<Modal.Header>
Attention
</Modal.Header>
<Modal.Body>
This is the example modal!
</Modal.Body>
<Modal.Footer>
<Modal.ButtonContainer>
<button type="button" onClick={this.toggleModal}>
Close Modal
</button>
</Modal.ButtonContainer>
</Modal.Footer>
</Modal>
</div>
);
}
}