/** * The examples provided by Facebook are for non-commercial testing and * evaluation purposes only. * * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * @providesModule UIExplorerBlock * @flow */ 'use strict'; var React = require('react'); var ReactNative = require('react-native'); var { StyleSheet, Text, View, } = ReactNative; var UIExplorerBlock = React.createClass({ propTypes: { title: React.PropTypes.string, description: React.PropTypes.string, }, getInitialState: function() { return {description: (null: ?string)}; }, render: function() { var description; if (this.props.description) { description = {this.props.description} ; } return ( {this.props.title} {description} {this.props.children} ); } }); var styles = StyleSheet.create({ container: { borderRadius: 3, borderWidth: 0.5, borderColor: '#d6d7da', backgroundColor: '#ffffff', margin: 10, marginVertical: 5, overflow: 'hidden', }, titleContainer: { borderBottomWidth: 0.5, borderTopLeftRadius: 3, borderTopRightRadius: 2.5, borderBottomColor: '#d6d7da', backgroundColor: '#f6f7f8', paddingHorizontal: 10, paddingVertical: 5, }, titleText: { fontSize: 14, fontWeight: '500', }, descriptionText: { fontSize: 14, }, disclosure: { position: 'absolute', top: 0, right: 0, padding: 10, }, disclosureIcon: { width: 12, height: 8, }, children: { margin: 10, } }); module.exports = UIExplorerBlock;