A toggle button component for Vue.js 2+
npm install vue-js-toggle-button

``bash`
npm install vue-js-toggle-button --save
Import plugin:
`javascript
import ToggleButton from 'vue-js-toggle-button'
Vue.use(ToggleButton)
`
OR
Import component:
`javascript
import { ToggleButton } from 'vue-js-toggle-button'
Vue.component('ToggleButton', ToggleButton)
`
`xml
:sync="true"
:labels="true"/>
`
| Name | Type | Default | Description |
| --- | --- | --- | --- |
| value | Boolean | false | Initial state of the toggle button |
| sync | Boolean | false | If set to true, will be watching changes in value property and overwrite the current state of the button whenever value prop changes |#75C791
| speed | Number | 300 | Transition time for the animation |
| disabled | Boolean | false | Button does not react on mouse events |
| color | [String, Object] | | If String - color of the button when checked Object
If - colors for the button when checked/unchecked or disabled{checked: '#00FF00', unchecked: '#FF0000', disabled: '#CCCCCC'}
Example: |true
| css-colors | Boolean | false | If - deactivates the setting of colors through inline styles in favor of using CSS styling |Boolean
| labels | [Boolean, Object] | false | If - shows/hides default labels ("on" and "off") Object
If - sets custom labels for both states. {checked: 'Foo', unchecked: 'Bar'}
Example: |#BFCBD9
| switch-color | [String, Object] | | If String - color or background property of the switch when checked Object
If - colors or background property for the switch when checked/uncheked {checked: '#25EF02', unchecked: 'linear-gradient(red, yellow)'}
Example: |
| width | Number | 50 | Width of the button |
| height | Number | 22 | Height of the button |
| margin | Number | 3 | Space between the switch and background border |
| name | String | undefined | Name to attach to the generated input field |
| font-size | Number | undefined | Font size |
| Name | Description |
| --- | --- |
| change | Triggered whenever state of the component changes.
Contains:
value - state of the object srcEvent - source click event |
| input | Input event for v-model |
Include plugin in your nuxt.config.js file:
`javascript`
module.exports = {
plugins: ['~plugins/vue-js-toggle-button']
}
And your plugins/vue-js-toggle-button.js will look like:
`javascript
import Vue from 'vue'
import Button from 'vue-js-toggle-button'
Vue.use(Button)
``
* Chrome: 40+
* Firefox: 25+
* Safari: 10+
* IE: 11+