diff --git a/Overlay.ios.js b/Overlay.ios.js index 19ae103..a6f22e7 100644 --- a/Overlay.ios.js +++ b/Overlay.ios.js @@ -5,69 +5,66 @@ 'use strict'; -var React = require('react'); -var {View, StyleSheet, requireNativeComponent} = require('react-native'); +import React, {Component, PropTypes} from 'react'; +import {View, requireNativeComponent, StyleSheet} from 'react-native'; type Props = { - isVisible: boolean + isVisible: boolean; } -var Overlay = React.createClass({ - propTypes: { - /** - * When this property is set to `true`, the Overlay will appear on - * `UIWindowLevelStatusBar`, otherwise it will appear below that. - */ - aboveStatusBar: React.PropTypes.bool, +class Overlay extends Component { + constructor(props) { + super(props); + } - /** - * Determines the visibility of the Overlay. When it is not visible, - * an empty View is rendered. - */ - isVisible: React.PropTypes.bool, - }, + render() { + var { + isVisible, + } = this.props; - getDefaultProps(): Props - { - return { - aboveStatusBar: false, - isVisible: false, - } - }, + if (this.props.isVisible) { + return ( + + {React.Children.map(this.props.children, React.cloneElement)} + + ); + } else { + return ; + } + } +} + +Overlay.propTypes = { + /** + * When this property is set to `true`, the Overlay will appear on + * `UIWindowLevelStatusBar`, otherwise it will appear below that. + */ + aboveStatusBar: PropTypes.bool, - render() - { - if (this.props.isVisible) { - return ( - - { - React.Children.map(this.props.children, React.cloneElement) - } - - ) - ; - } else { - return ; - } - }, -}); + /** + * Determines the visibility of the Overlay. When it is not visible, + * an empty View is rendered. + */ + isVisible: PropTypes.bool, +}; + +Overlay.defaultProps = { + aboveStatusBar: false, + isVisible: false, +} var RNOverlay = requireNativeComponent('RNOverlay', Overlay); var styles = StyleSheet.create({ - container: { - position: 'absolute', - top: 0, - bottom: 0, - left: 0, - right: 0, - borderWidth: 0, - backgroundColor: 'transparent', - }, -}); + container: { + position: 'absolute', + top: 0, + bottom: 0, + left: 0, + right: 0, + borderWidth: 0, + backgroundColor: 'transparent', + }, +}) -module.exports = Overlay; \ No newline at end of file +module.exports = Overlay;