diff options
| author | Henry Jameson <me@hjkos.com> | 2019-10-07 00:05:21 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2019-10-07 00:05:21 +0300 |
| commit | 8ee50f9f160cab1a0eec3dfddd31de26c3993092 (patch) | |
| tree | 9dc23c678c134e1a6ed3bd77a5de9edadc7b04c6 /src/components/checkbox/checkbox.vue | |
| parent | 0be86304d24a5f11a64e9120c8ae1ce9121e64e8 (diff) | |
replace checkboxes in user-settings with Checkbox component
Diffstat (limited to 'src/components/checkbox/checkbox.vue')
| -rw-r--r-- | src/components/checkbox/checkbox.vue | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/components/checkbox/checkbox.vue b/src/components/checkbox/checkbox.vue index 2b822ec3..441f815c 100644 --- a/src/components/checkbox/checkbox.vue +++ b/src/components/checkbox/checkbox.vue @@ -1,13 +1,22 @@ <template> - <label class="checkbox"> + <label + class="checkbox" + :class="{ disabled, indeterminate }" + > <input type="checkbox" + :disabled="disabled" :checked="checked" :indeterminate.prop="indeterminate" @change="$emit('change', $event.target.checked)" > <i class="checkbox-indicator" /> - <span v-if="!!$slots.default"><slot /></span> + <span + class="label" + v-if="!!$slots.default" + > + <slot /> + </span> </label> </template> @@ -17,7 +26,11 @@ export default { prop: 'checked', event: 'change' }, - props: ['checked', 'indeterminate'] + props: [ + 'checked', + 'indeterminate', + 'disabled' + ] } </script> @@ -54,6 +67,17 @@ export default { box-sizing: border-box; } + &.disabled { + .checkbox-indicator::before, + .label { + opacity: .5; + } + .label { + color: $fallback--faint; + color: var(--faint, $fallback--faint); + } + } + input[type=checkbox] { display: none; @@ -68,9 +92,6 @@ export default { color: var(--text, $fallback--text); } - &:disabled + .checkbox-indicator::before { - opacity: .5; - } } & > span { |
