@import '~@/uni_modules/lime-style/index.scss'; @import '~@/uni_modules/lime-style/functions.scss'; $radio: #{$prefix}-radio; $icon: #{$radio}__icon; $radio-icon-size: create-var(radio-icon-size, 40rpx); $radio-font-size: create-var(radio-font-size, 32rpx); $radio-small-icon-size: create-var(radio-small-icon-size, 28rpx); $radio-small-font-size: create-var(radio-small-font-size, 30rpx); $radio-large-icon-size: create-var(radio-large-icon-size, 44rpx); $radio-large-font-size: create-var(radio-large-font-size, 36rpx); $radio-icon-border-width: create-var(radio-icon-border-width, 1rpx); // $radio-icon-border-color: var(--l-radio-border-color, $border-color); $radio-icon-border-radius: create-var(radio-icon-border-radius, 999rpx); $radio-icon-bg-color: create-var(radio-icon-bg-color, white); $radio-icon-border-color: create-var(radio-border-icon-color, $gray-5); $radio-icon-disabled-color: create-var(radio-icon-disabled-color, $gray-5); $radio-icon-disabled-bg-color: create-var(radio-icon-disabled-bg-color, $gray-1); $radio-icon-checked-color: create-var(radio-icon-checked-color, $primary-color); .#{$radio} { /* #ifndef UNI-APP-X */ display: inline-flex; /* #endif */ flex-direction: row; align-items: center; &__icon { position: relative; box-sizing: border-box; width: $radio-icon-size; height: $radio-icon-size; align-self: center; transition-property: all; transition-duration: 200ms; transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); /* #ifndef APP-ANDROID || APP-IOS */ &:after { box-sizing: border-box; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); opacity: 0; content: ""; transition-property: all; transition-duration: 200ms; transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); } /* #endif */ &--dot,&--circle { background-color: $radio-icon-bg-color; border: $radio-icon-border-width solid $radio-icon-border-color; border-radius: $radio-icon-border-radius; } &--circle { /* #ifndef APP-ANDROID || APP-IOS */ &:after { top: 48%; left: 24%; display: table; width: divide(100%, 20) * 7; height: divide(100%, 20) * 12; border: calc(#{$radio-icon-size} / 7) solid transparent; border-top: 0; border-inline-start: 0; transform: rotate(45deg) scale(0) translate(-50%,-50%); content: ""; } /* #endif */ } &--circle#{&}--checked { background-color: $radio-icon-checked-color; border-color: $radio-icon-checked-color; /* #ifndef APP-ANDROID || APP-IOS */ &:after { opacity: 1; transform: rotate(45deg) scale(1) translate(-50%,-50%); border-color: white; } /* #endif */ } &--dot { /* #ifndef APP-ANDROID || APP-IOS */ &:after { background-color: white; border-radius: $radio-icon-border-radius; transform: scale(0) translate(-50%,-50%); } /* #endif */ } &--dot#{&}--checked{ background-color: $radio-icon-checked-color; /* #ifndef APP-ANDROID || APP-IOS */ border-color: $radio-icon-checked-color; &:after{ opacity: 1; width: 44%; height: 44%; transform: scale(1) translate(-50%,-50%); } /* #endif */ } &--line { /* #ifndef APP-ANDROID || APP-IOS */ &:after { top: 46%; left: 0%; inset-inline-start: 10%; display: table; width: divide(100%, 14) * 7; height: divide(100%, 14) * 12; border: calc(#{$radio-icon-size} / 7) solid transparent; border-top: 0; border-inline-start: 0; transform: rotate(45deg) scale(0) translate(-50%,-50%); content: ""; transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); } /* #endif */ } &--line#{&}--checked{ /* #ifndef APP-ANDROID || APP-IOS */ &:after{ opacity: 1; transform: rotate(45deg) scale(1) translate(-50%,-50%); border-color: $radio-icon-checked-color; } /* #endif */ } &--circle#{&}--disabled, &--dot#{&}--disabled { border-color: $radio-icon-disabled-color; background-color: $radio-icon-disabled-bg-color; } &--circle#{&}--disabled#{&}--checked, &--dot#{&}--disabled#{&}--checked { /* #ifndef APP-ANDROID || APP-IOS */ &:after { border-color: $radio-icon-disabled-color; } /* #endif */ } &--dot#{&}--disabled#{&}--checked { /* #ifndef APP-ANDROID || APP-IOS */ &:after { background-color: $radio-icon-disabled-color; } /* #endif */ } &--line#{&}--disabled#{&}--checked { /* #ifndef APP-ANDROID || APP-IOS */ &:after { border-color: $radio-icon-disabled-color; } /* #endif */ } } &__label { padding-left: $spacer-xs; // padding-right: $spacer-xs; font-size: $radio-font-size; color: $text-color-1; &--disabled { color: $radio-icon-disabled-color; } } }