// /** // * Copyright © Magento, Inc. All rights reserved. // * See COPYING.txt for license details. // */ // // Variables // _____________________________________________ @checkbox__background-color: @color-white; @checkbox__border-color: @color-gray68; @checkbox-check__font-size: 1em; @checkbox-check__line-height: 1; @checkbox-icon__content: @icon-check-mage__content; @radio-bullet__color: @color-brownie; // // Common // _____________________________________________ .form-el-checkbox, .form-el-radio { &:extend(.abs-visually-hidden all); // Disabled state &[disabled], &.disabled { + .form-label, + .form-label:before { cursor: default; opacity: @disabled__opacity; pointer-events: none; } } // Hover state &:not([disabled]), &:not(.disabled) { + .form-label { &:hover { &:before { border-color: @radio-bullet__color; } } } } + .form-label { font-weight: @font-weight__regular; padding-left: 2em; padding-right: 0; position: relative; text-align: left; transition: border-color .1s linear; &:before { border: 1px solid; content: ''; left: 0; position: absolute; top: .1rem; transition: border-color .1s linear; } } } // // Checkboxes // _____________________________________________ // Unchecked checkbox state .form-el-checkbox { + .form-label { &:before { background-color: @checkbox__background-color; border-color: @checkbox__border-color; border-radius: @form-el__border-radius; font-size: @checkbox-check__font-size; height: 1.6rem; line-height: @checkbox-check__line-height; width: 1.6rem; } } } // Checked checkbox state .form-el-checkbox { &:checked { + .form-label { &:before { content: @checkbox-icon__content; font-family: @icons__font-family; } } } } // // Radio // _____________________________________________ // Unchecked radio state .form-el-radio { + .form-label { &:before { background-color: @color-white; border: 1px solid @color-gray68; border-radius: 100%; height: 1.8rem; width: 1.8rem; } &:after { background: transparent; border: .5rem solid transparent; border-radius: 100%; content: ''; height: 0; left: .4rem; position: absolute; top: .1rem + .4rem; transition: background .3s linear; width: 0; } } // Checked radio state &:checked { + .form-label { cursor: default; &:after { border-color: @radio-bullet__color; } } } }