1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-05-11 11:55:34 +00:00
bramw_baserow/web-frontend/modules/core/components/SwitchInput.vue

41 lines
782 B
Vue

<template>
<div class="switch" :class="classNames" @click="toggle(value)">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'SwitchInput',
props: {
value: {
type: [Boolean, Number],
required: false,
default: false,
},
large: {
type: Boolean,
required: false,
default: false,
},
},
computed: {
classNames() {
return {
'switch--has-content': Object.prototype.hasOwnProperty.call(
this.$slots,
'default'
),
'switch--large': this.large,
active: this.value === true,
unknown: this.value !== true && this.value !== false,
}
},
},
methods: {
toggle(value) {
this.$emit('input', !value)
},
},
}
</script>