An interactive, customizable, SVG-based dipswitch component for react.

Props
The component takes the following props.
Prop | Type | Description |
---|---|---|
switchCount |
number | The number of switches available on the dipswitch |
value |
number | The integer value of the dipswitch. The dipswitch will display this value in binary. |
width |
number | Width of the dipswitch housing. The height will be scaled automatically based on this value |
mostSignificantBit |
string | If left , the most significant bit will be on the left side of the dipswitch. If right (default), it will display on the right side. |
onValueChange |
function | Callback function to invoke when the value of the switch has changed. Function signature is function(value){} . |
onSwitchClick |
function | Callback function to invoke when a switch has been clicked. Function signature is function(index){} The index of the least significant bit is always 0. |
switchColor |
string | Color of the switch. |
channelColor |
string | Color of the channel that the switch sits in. |
bodyColor |
string | Color of the switch dipswitch housing. |
labelColor |
string | Color of the number labels. |
Installation
npm install react-dipswitch
Usage
Basic Example
<Dipswitch switchCount=4 value=16/>
Controlled Example
; ; { super; thisstate = value: 127 ; thisonValueChange = thisonValueChange; } { this; } { return <div> <Dipswitch switchCount=8 value=thisstatevalue onValueChange=thisonValueChange width=100 /> thisstatevalue </div> ; } ;
TO DO
- Allow for switches to be inverted for cases where "on" is down.
- Allow for for height to be set instead of width or width+height for custom scaling.
- Allow for value to be supplied as an array of truthy/falsey values
- Allow for value to be output as an array of true/false
License
MIT