@import '../custom.less';
@radio-button-prefix-cls: ~'@{css-prefix}radio-button';
.@{radio-button-prefix-cls} {
&:first-child &__inner {
@apply border-l border-l-color-border;
@apply rounded-tl-sm rounded-tr-none rounded-br-none rounded-bl-sm;
}
&:first-child &__orig-radio:checked + &__inner {
@apply shadow-none;
}
&:last-child &__inner {
@apply rounded-tl-none rounded-tr-sm rounded-br-sm rounded-bl-none;
}
&:first-child:last-child &__inner {
@apply rounded-sm;
}
&,
&__inner {
@apply inline-block;
@apply relative;
@apply outline-0;
}
&__inner {
@apply text-color-text-primary;
@apply text-sm;
@apply bg-color-bg-1;
@apply border border-solid border-color-border;
@apply py-3 px-5;
@apply font-medium;
@apply rounded-none;
@apply border-l-0;
@apply leading-none;
@apply whitespace-nowrap;
@apply align-middle;
@apply appearance-none;
@apply text-center;
@apply box-border;
@apply m-0;
@apply cursor-pointer;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
&.is-round {
@apply py-3 px-5;
}
&:hover {
@apply text-color-text-inverse;
@apply bg-color-brand-hover;
@apply border-color-brand-hover;
@apply outline-0;
}
}
&__orig-radio {
@apply opacity-0;
@apply outline-0;
@apply absolute;
@apply ~'-z-[1]';
&:checked {
& + .@{radio-button-prefix-cls}__inner {
@apply text-color-text-inverse;
@apply bg-color-brand;
@apply border-color-border-focus;
box-shadow: -1px 0 0 0 theme('colors.color.brand.DEFAULT');
&:hover {
@apply bg-color-brand-hover;
@apply border-color-brand-hover;
box-shadow: -1px 0 0 0 theme('colors.color.brand.hover.DEFAULT');
}
}
}
&:disabled {
& + .@{radio-button-prefix-cls}__inner {
@apply text-color-text-secondary;
@apply border-color-border-disabled;
@apply bg-color-bg-2;
@apply bg-none;
@apply shadow-none;
@apply cursor-not-allowed;
}
}
&:disabled:checked {
& + .@{radio-button-prefix-cls}__inner {
@apply bg-color-brand-disabled;
box-shadow: -1px 0 0 0 theme('colors.transparent');
&,
&:hover {
@apply border-color-brand-disabled;
}
}
}
}
&--medium &__inner {
@apply text-sm;
@apply ~'py-2.5' px-5;
@apply rounded-none;
&.is-round {
@apply ~'py-2.5' px-5;
}
}
&--small &__inner {
@apply text-sm;
padding: 9px 15px;
@apply rounded-none;
&.is-round {
padding: 9px 15px;
}
}
&--mini &__inner {
@apply text-sm;
padding: 7px 15px;
@apply rounded-none;
&.is-round {
padding: 7px 15px;
}
}
&:focus:not(.is-focus):not(:active):not(.is-disabled) {
box-shadow: 0 0 2px 2px theme('colors.color.brand.hover.DEFAULT');
}
}