aboutsummaryrefslogtreecommitdiff
path: root/src/components/checkbox/checkbox.vue
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2019-10-07 00:05:21 +0300
committerHenry Jameson <me@hjkos.com>2019-10-07 00:05:21 +0300
commit8ee50f9f160cab1a0eec3dfddd31de26c3993092 (patch)
tree9dc23c678c134e1a6ed3bd77a5de9edadc7b04c6 /src/components/checkbox/checkbox.vue
parent0be86304d24a5f11a64e9120c8ae1ce9121e64e8 (diff)
replace checkboxes in user-settings with Checkbox component
Diffstat (limited to 'src/components/checkbox/checkbox.vue')
-rw-r--r--src/components/checkbox/checkbox.vue33
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 {