|
|
- @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;
- }
- }
- }
-
|