3.0.1 • Published 2 years ago

@juice789/react-toggle v3.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Toggle

A simple React toggle component. Supports custom styling, custom track and thumb content, can be used as a controlled component.

gif

Installation

npm install @juice789/react-toggle

Demo

Open storybook demo: Open demo

Usage

import Toggle from '@juice789/react-toggle'

<Toggle />

<Toggle text={<>thumb<br />txt</>} defaultSize={'50px'} >
  <Toggle.Left>I'm off</Toggle.Left>
  <Toggle.Right>I'm on</Toggle.Right>
</Toggle>

Props

all props are optional

nametypedescription
isOnbooleanSet initial state.
valuebooleanUse this to control the component. Overrides the isOn prop.
textstring or JSXText displayed on the thumb.
onChangefunctionChange event handler. An object is passed to the callback on toggle: { value: '0' } or { value: '1' }
remapobjectRemap the values of the object passed to the onChange callback. format:{ '0': 'custom value on toggle off', '1': 'custom value on toggle on' }
stylesobject or arrayCustom styles.Use a single object to style both on and off state.Use an array with two style objects to use different styles for the off and on states.
defaultSizecss valueuse this value to easily resize the component instead of setting custom style rules. Default: 25px.
paddingcss valueuse this value to easily set the track padding instead of setting style rules. Default: 0px.

Styles object

Override any css rule of the component.

The keys of the object may be the: 'outer', 'thumbOuter', 'thumb', 'half', 'track'. A value of the object should be a function that returns a valid css style in object format. The default style rules of the specific component is passed to the function as the first parameter. All other props are passed as the second parameter. Check out the Storybook demo for example code.

Quick example:

const styles = {
  track: (defaults, props) => ({
    ...defaults,
    background: 'red',
    fontSize: '12px'
  })
}

License

MIT

3.0.1

2 years ago

3.0.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago