// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only .CircleCheckbox { &__checkbox { position: relative; height: 20px; width: 20px; input { cursor: pointer; height: 0; position: absolute; width: 0; @include keyboard-mode { &:focus { &::before { border-color: $color-ultramarine; } outline: none; } } &::before { @include rounded-corners; background: inherit; content: ''; display: block; height: 20px; position: absolute; width: 20px; @include light-theme { border: 1.5px solid $color-gray-25; } @include dark-theme { border: 1.5px solid $color-gray-65; } } &:disabled { cursor: inherit; } @include light-theme { &:disabled { &::before { border-color: $color-gray-15; } } &:disabled:checked { &::before { background: $color-gray-15; } } } @include dark-theme { &:disabled { &::before { border-color: $color-gray-45; } } &:disabled:checked { &::before { background: $color-gray-45; } } } &:checked { &::after { content: ''; display: block; position: absolute; } } } input[type='checkbox'] { &:checked { &::before { background: $color-ultramarine; border: 1.5px solid $color-ultramarine; } &::after { border: solid $color-white; border-width: 0 2px 2px 0; height: 11px; left: 7px; top: 3px; transform: rotate(45deg); width: 6px; } } } input[type='radio'] { &:checked { &::before { border: 2px solid $color-ultramarine; } &::after { background: $color-ultramarine; top: 4px; left: 4px; width: 12px; height: 12px; border-radius: 6px; } } } &--small { height: 18px; width: 18px; input { &::before { height: 18px; width: 18px; } } input[type='checkbox'] { &:checked { &::before { background: $color-ultramarine; border: 1.5px solid $color-ultramarine; } &::after { border: solid $color-white; border-width: 0 2px 2px 0; height: 10px; left: 7px; top: 3px; transform: rotate(45deg); width: 5px; } } } input[type='radio'] { &:checked { &::before { border: 2px solid $color-ultramarine; } &::after { background: $color-ultramarine; top: 4px; left: 4px; width: 10px; height: 10px; border-radius: 5px; } } } } } }