/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * 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. * * @flow */ 'use strict'; var React = require('react'); var ReactNative = require('react-native'); var { Platform, Switch, Text, View } = ReactNative; var BasicSwitchExample = React.createClass({ getInitialState() { return { trueSwitchIsOn: true, falseSwitchIsOn: false, }; }, render() { return ( this.setState({falseSwitchIsOn: value})} style={{marginBottom: 10}} value={this.state.falseSwitchIsOn} /> this.setState({trueSwitchIsOn: value})} value={this.state.trueSwitchIsOn} /> ); } }); var DisabledSwitchExample = React.createClass({ render() { return ( ); }, }); var ColorSwitchExample = React.createClass({ getInitialState() { return { colorTrueSwitchIsOn: true, colorFalseSwitchIsOn: false, }; }, render() { return ( this.setState({colorFalseSwitchIsOn: value})} onTintColor="#00ff00" style={{marginBottom: 10}} thumbTintColor="#0000ff" tintColor="#ff0000" value={this.state.colorFalseSwitchIsOn} /> this.setState({colorTrueSwitchIsOn: value})} onTintColor="#00ff00" thumbTintColor="#0000ff" tintColor="#ff0000" value={this.state.colorTrueSwitchIsOn} /> ); }, }); var EventSwitchExample = React.createClass({ getInitialState() { return { eventSwitchIsOn: false, eventSwitchRegressionIsOn: true, }; }, render() { return ( this.setState({eventSwitchIsOn: value})} style={{marginBottom: 10}} value={this.state.eventSwitchIsOn} /> this.setState({eventSwitchIsOn: value})} style={{marginBottom: 10}} value={this.state.eventSwitchIsOn} /> {this.state.eventSwitchIsOn ? 'On' : 'Off'} this.setState({eventSwitchRegressionIsOn: value})} style={{marginBottom: 10}} value={this.state.eventSwitchRegressionIsOn} /> this.setState({eventSwitchRegressionIsOn: value})} style={{marginBottom: 10}} value={this.state.eventSwitchRegressionIsOn} /> {this.state.eventSwitchRegressionIsOn ? 'On' : 'Off'} ); } }); var examples = [ { title: 'Switches can be set to true or false', render(): ReactElement { return ; } }, { title: 'Switches can be disabled', render(): ReactElement { return ; } }, { title: 'Change events can be detected', render(): ReactElement { return ; } }, { title: 'Switches are controlled components', render(): ReactElement { return ; } } ]; if (Platform.OS === 'ios') { examples.push({ title: 'Custom colors can be provided', render(): ReactElement { return ; } }); } exports.title = ''; exports.displayName = 'SwitchExample'; exports.description = 'Native boolean input'; exports.examples = examples;