@aplus-frontend/ui
Version:
93 lines (89 loc) • 2.51 kB
text/less
@import '../mixins/mixins.less';
@import '../mixins/config.less';
@disabledCls: ~'@{ns}-check-card--disabled';
@defaultIndicatorSize: 14px;
.b(check-card, {
.reset-component();
border-radius: @border-radius;
position: relative;
&--disabled {
background-color: #F9F9FA;
cursor: not-allowed ;
}
&--bordered {
outline: 1px solid var(--ap-border-color-base);
}
&:hover:not(&--disabled) {
cursor: pointer;
outline: 1px solid var(--ap-color-primary);
}
&::after {
content: '';
position: absolute;
width: 0;
height: 0;
opacity: 0;
inset-block-start: -2px;
inset-inline-end: -2px;
border-inline-start: var(--check-card-indicator-size, @defaultIndicatorSize) solid transparent;
border-block-end: var(--check-card-indicator-size, @defaultIndicatorSize) solid transparent;
border-radius: @border-radius;
}
&--checked {
&:hover:not(.@{disabledCls}) {
outline: 2px solid var(--ap-color-primary);
}
outline: 2px solid var(--ap-color-primary);
&::after {
opacity: 1;
border: var(--check-card-indicator-size, @defaultIndicatorSize) solid var(--ap-color-primary);
border-inline-start: var(--check-card-indicator-size, @defaultIndicatorSize) solid transparent;
border-block-end: var(--check-card-indicator-size, @defaultIndicatorSize) solid transparent;
inset-block-start: -2px;
inset-inline-end: -2px;
transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
}
&--checked&--disabled {
outline-color: #E9EDF3;
&::after {
border: var(--check-card-indicator-size, @defaultIndicatorSize) solid #E9EDF3;
border-inline-start: var(--check-card-indicator-size, @defaultIndicatorSize) solid transparent;
border-block-end: var(--check-card-indicator-size, @defaultIndicatorSize) solid transparent;
}
}
&--middle {
padding: @spacing-lg;
}
&--small {
padding: @spacing-sm @spacing-lg;
}
&__title {
.reset-component();
margin-bottom: @spacing-xs;
color: #333;
font-weight: bold;
&--disabled {
color: #ABB7CC;
}
}
&__content {
.reset-component();
color: #333;
&--disabled {
color: #ABB7CC;
}
}
&__checked-icon {
position: absolute;
top: 0;
right: 0;
z-index: 1;
line-height: 1;
user-select: none;
& > img {
width: calc(var(--check-card-indicator-size, @defaultIndicatorSize) - 2px);
vertical-align: top;
}
}
});