@use "mixins/mixins"; @use "mixins/utils"; @use 'mixins/button'; @use "./common/var"; @include mixins.b(radio) { color: var.$radio-font-color; font-weight: var.$radio-font-weight; line-height: 1; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; outline: none; font-size: var.$font-size-base; margin-right: 30px; @include utils.utils-user-select(none); @include mixins.when(bordered) { padding: var.$radio-bordered-padding; border-radius: var(--border-radius-base); border: var(--border-base); box-sizing: border-box; height: var.$radio-bordered-height; &.is-checked { border-color: var(--color-primary); } &.is-disabled { cursor: not-allowed; border-color: var(--border-color-light); } & + .el-radio.is-bordered { margin-left: 10px; } } @include mixins.m(medium) { &.is-bordered { padding: var.$radio-bordered-medium-padding; border-radius: var.$button-medium-border-radius; height: var.$radio-bordered-medium-height; .el-radio__label { font-size: var.$button-medium-font-size; } .el-radio__inner { height: var.$radio-bordered-medium-input-height; width: var.$radio-bordered-medium-input-width; } } } @include mixins.m(small) { &.is-bordered { padding: var.$radio-bordered-small-padding; border-radius: var.$button-small-border-radius; height: var.$radio-bordered-small-height; .el-radio__label { font-size: var.$button-small-font-size; } .el-radio__inner { height: var.$radio-bordered-small-input-height; width: var.$radio-bordered-small-input-width; } } } @include mixins.m(mini) { &.is-bordered { padding: var.$radio-bordered-mini-padding; border-radius: var.$button-mini-border-radius; height: var.$radio-bordered-mini-height; .el-radio__label { font-size: var.$button-mini-font-size; } .el-radio__inner { height: var.$radio-bordered-mini-input-height; width: var.$radio-bordered-mini-input-width; } } } &:last-child { margin-right: 0; } @include mixins.e(input) { white-space: nowrap; cursor: pointer; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; @include mixins.when(disabled) { .el-radio__inner { background-color: var.$radio-disabled-input-fill; border-color: var.$radio-disabled-input-border-color; cursor: not-allowed; &::after { cursor: not-allowed; background-color: var.$radio-disabled-icon-color; } & + .el-radio__label { cursor: not-allowed; } } &.is-checked { .el-radio__inner { background-color: var.$radio-disabled-checked-input-fill; border-color: var.$radio-disabled-checked-input-border-color; &::after { background-color: var.$radio-disabled-checked-icon-color; } } } & + span.el-radio__label { color: var(--color-text-lighter); cursor: not-allowed; } } @include mixins.when(checked) { .el-radio__inner { border-color: var.$radio-checked-input-border-color; background: var.$radio-checked-icon-color; &::after { transform: translate(-50%, -50%) scale(1); } } & + .el-radio__label { color: var.$radio-checked-font-color; } } @include mixins.when(focus) { .el-radio__inner { border-color: var.$radio-input-border-color-hover; } } } @include mixins.e(inner) { border: var.$radio-input-border; border-radius: var.$radio-input-border-radius; width: var.$radio-input-width; height: var.$radio-input-height; background-color: var.$radio-input-background-color; position: relative; cursor: pointer; display: inline-block; box-sizing: border-box; &:hover { border-color: var.$radio-input-border-color-hover; } &::after { width: 4px; height: 4px; border-radius: var.$radio-input-border-radius; background-color: var.$color-white; content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(0); transition: transform 0.15s ease-in; } } @include mixins.e(original) { opacity: 0; outline: none; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; margin: 0; } &:focus:not(.is-focus):not(:active):not(.is-disabled) { /*获得焦点时 样式提醒*/ .el-radio__inner { box-shadow: 0 0 2px 2px var.$radio-input-border-color-hover; } } @include mixins.e(label) { font-size: var.$radio-font-size; padding-left: 10px; } }