DefinitelyTyped/types/react-modal/react-modal-tests.tsx
Peter Blazejewicz e2971b3f44 Fix definition of ReactModal.setAppElement
This comit changes:
- definition of static setAppElement method to support string type - as
ReactModal allows to use selector instead of element reference
- sample tests to include static method coverage

Thanks!
2017-12-17 17:02:12 +01:00

71 lines
1.7 KiB
TypeScript

import * as React from "react";
import ReactModal = require('react-modal');
// tests for static method
// string
ReactModal.setAppElement("#main");
// HTMLElement
ReactModal.setAppElement(document.getElementById("#main"));
class ExampleOfUsingReactModal extends React.Component {
render() {
const onAfterOpenFn = () => { };
const onRequestCloseFn = () => { };
const customStyle = {
overlay: {
position: 'fixed',
top: 0,
left: 0,
right: 0,
bottom: 0,
backgroundColor: 'rgba(255, 255, 255, 0.75)'
},
content: {
position: 'absolute',
top: '40px',
left: '40px',
right: '40px',
bottom: '40px',
border: '1px solid #ccc',
background: '#fff',
overflow: 'auto',
WebkitOverflowScrolling: 'touch',
borderRadius: '4px',
outline: 'none',
padding: '20px'
}
};
const customClasses = {
afterOpen: 'afterOpen',
base: 'base',
beforeClose: 'beforeClose'
};
const customOverlayClasses = {
afterOpen: 'afterOpen',
base: 'base',
beforeClose: 'beforeClose'
};
const customAriaVariables = {
labelledby: 'labelledby',
describedby: 'describedby'
};
return (
<ReactModal
isOpen={true}
onAfterOpen={onAfterOpenFn}
onRequestClose={onRequestCloseFn}
contentLabel="demo label"
closeTimeoutMS={1000}
style={customStyle}
className={customClasses}
overlayClassName={customOverlayClasses}
bodyOpenClassName={'bodyOpenClassName'}
aria={customAriaVariables}
>
<h1>Modal Content</h1>
<p>Etc.</p>
</ReactModal>
);
}
}