diff options
| author | Tarteka <info@tarteka.net> | 2019-10-30 22:17:19 +0100 |
|---|---|---|
| committer | Tarteka <info@tarteka.net> | 2019-10-30 22:17:19 +0100 |
| commit | fe4845a7c1ca9d6fa51132a0ef9bc5103facae66 (patch) | |
| tree | 92aceb88e58d149a5446e5a9d7bca6084cb6fa99 /src/components/checkbox | |
| parent | a178346f1e0fbe2246532bbfeba5fd1cc0c1cb2d (diff) | |
| parent | 74f5f168d639e9e21e294ac45dd6091694a041cc (diff) | |
Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma-fe into develop
Diffstat (limited to 'src/components/checkbox')
| -rw-r--r-- | src/components/checkbox/checkbox.vue | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/src/components/checkbox/checkbox.vue b/src/components/checkbox/checkbox.vue index 2b822ec3..5917598a 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> @@ -27,12 +40,16 @@ export default { .checkbox { position: relative; display: inline-block; - padding-left: 1.2em; min-height: 1.2em; + &-indicator { + position: relative; + padding-left: 1.2em; + } + &-indicator::before { position: absolute; - left: 0; + right: 0; top: 0; display: block; content: '✔'; @@ -54,6 +71,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 +96,6 @@ export default { color: var(--text, $fallback--text); } - &:disabled + .checkbox-indicator::before { - opacity: .5; - } } & > span { |
