Git Product home page Git Product logo

react-native-toggle-element's Introduction

React-Native-Toggle-Element CircleCI

ezgif com-video-to-gif (7)

toggle

Installation

yarn add react-native-toggle-element

# or with npm

npm install react-native-toggle-element

Usage

Init value

import React, { useState } from 'react';
import Toggle from 'react-native-toggle-element';

const [toggleValue, setToggleValue] = useState(false);

Toggle with default components

toggle-no-content

<Toggle value={toggleValue} onPress={(val) => setToggleValue(val)} />

Toggle with left title

toggle-with-left-content

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="On"
/>

Toggle with right title

toggle-with-right-content

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="Right"
/>

Toggle with left title and right Title

toggle-left-right-title

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="Left"
  rightTitle="Right"
/>

Toggle with custom left component

toggle-left-component

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftComponent={
    <Icon name="credit" width="30" height="30" fill={"#3BD2B5"} />
  }
/>

Toggle with custom right component

ezgif com-video-to-gif

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  rightComponent={
    <Icon name="plus" width="30" height="30" fill={'#3BD2B5'} />
  }
/>

Toggle with mixed left & right components

ezgif com-video-to-gif (1)

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  disabled
  leftComponent={
    <Icon name="credit" width="30" height="30" fill={Colors.tabIconSelected} />
  }
  rightComponent={
    <Icon name="plus" width="30" height="30" fill={Colors.tabIconSelected} />
  }
/>

Toggle with thumb button components

toggle

<ToggleButton
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  thumbActiveComponent={
    <Icon name="sun" width="40" height="40" fill={'#3BD2B5'} />
  }
  thumbInActiveComponent={
    <Icon name="night" width="40" height="40" fill={'#03452C'} />
  }
  trackBar={{
    activeBackgroundColor: '#9ee3fb',
    inActiveBackgroundColor: '#3c4145',
    borderActiveColor: '#86c3d7',
    borderInActiveColor: '#1c1c1c',
    borderWidth: 5,
    width: 100,
  }}
/>

Disabled Toggle

ezgif com-video-to-gif (3)

<Toggle
  disabled
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="Left"
  rightTitle="Right"
/>

Modify style

Modify TrackBar Size

ezgif com-video-to-gif (5)

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="Left"
  rightTitle="Right"
  trackBar={{
    width: 200,
    height: 50,
    radius: 25,
  }}
/>

Modify TrackBar Style

TrackBarStyle will override Border active color & Border inactive color

ezgif com-video-to-gif (6)

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  trackBarStyle={{
    borderColor: 'green',
  }}
  trackBar={{
    borderWidth: 2,
  }}
/>

Modify ThumbButton

ezgif com-video-to-gif (7)

<Toggle
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="Left"
  rightTitle="Right"
  thumbButton={{
    width: 60,
    height: 60,
    radius: 30,
  }}
/>

Modify Disabled Toggle

ezgif com-video-to-gif (8)

<Toggle
  disabled
  disabledTitleStyle={{ color: 'red' }}
  disabledStyle={{ backgroundColor: 'gray', opacity: 0.3 }}
  value={toggleValue}
  onPress={(newState) => setToggleValue(newState)}
  leftTitle="Left"
  rightTitle="Right"
/>

Props

  • containerStyle
  • disabled
  • disabledStyle
  • disabledTitleStyle
  • leftComponent
  • leftTitle
  • rightComponent
  • rightTitle
  • thumbActiveComponent
  • thumbInActiveComponent
  • thumbStyle
  • thumbButton
  • trackBar
  • trackBarStyle
  • animationDuration

Reference

Untitled_Artwork 2

Type Default
React element or component none

containerStyle style for main container

Type Default
style none

disabled disable the Toggle Button component (optional)

Type Default
boolean false

disabledStyle styling for Toggle Button Component for disabled (optional)

Type Default
View style (object) none

disabledTitleStyle styling for leftTitle & right Title(optional) when Toggle Button set with status is disabled(optional). If you want to set disable style for Active & Inactive you should use custom left component or custom right component

Type Default
Text style (object)) none

leftComponent define your left component here

Type Default
React element or component none

leftTitle button left title (optional)

Type Default
string none

rightComponent define your right component here (optional)

Type Default
React element or component none

rightTitle button right title (optional)

Type Default
string none

thumbActiveComponent define your thumb button component when status is active (optional)

Type Default
React element or component none

thumbInActiveComponent define your thumb button component when status is inactive (optional)

Type Default
React element or component none

thumbStyle thumb button style (optional). Styling will override the value from thumbButton props

Type Default
View style (object) none

thumbButton define to change size and radius and color depend on active / inactive status (optional)

Type Default
borderWidth 0
width 50
height 50
radius 25
activeBackgroundColor #fde2e2
inActiveBackgroundColor #ffb6b6

trackBar define to change size and radius and color depend on active / inactive status (optional)

Type Default
borderWidth 0
width 50
height 50
radius 25
activeBackgroundColor #fde2e2
inActiveBackgroundColor #ffb6b6
borderActiveColor transparent
borderInActiveColor transparent

trackBarStyle trackbar style (optional). Styling will override the value from trackBar props

Type Default
View style (object) none

animationDuration duration of the thumb button animation (optional).

Type Default
number 350

react-native-toggle-element's People

Contributors

mymai91 avatar jbernhardt23 avatar vinhnglx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.