@meve/ui
Version:
Argon design system components library
182 lines (154 loc) • 4.92 kB
text/less
@import '../styles/var';
@checkbox-checked-color: @color-primary;
@checkbox-error-color: @color-warning;
@checkbox-disabled-color: @color-disabled;
@checkbox-disabled-text-color: @color-text-disabled;
@checkbox-checkbox-container-margin: 0 2px 0 0;
@checkbox-normal-checkbox-container-padding: 6px;
@checkbox-normal-checkbox-container-padding: 6px;
@checkbox-normal-checkbox-size: 20px;
@checkbox-normal-checkbox-font-size: 15px;
@checkbox-normal-svg-size: 10px;
@checkbox-small-checkbox-container-padding: 4px;
@checkbox-small-checkbox-container-padding: 4px;
@checkbox-small-checkbox-size: 16px;
@checkbox-small-checkbox-font-size: 14px;
@checkbox-small-svg-size: 8px;
@checkbox-mini-checkbox-container-padding: 3px;
@checkbox-mini-checkbox-container-padding: 3px;
@checkbox-mini-checkbox-size: 14px;
@checkbox-mini-checkbox-font-size: 12px;
@checkbox-mini-svg-size: 6px;
@checkbox-text-color: #525f7f;
.m-checkbox {
display: inline-flex;
align-items: center;
cursor: pointer;
color: @checkbox-text-color;
-webkit-tap-highlight-color: transparent;
&__input {
position: absolute;
pointer-events: none;
opacity: 0;
}
&__checkbox-container {
margin: @checkbox-checkbox-container-margin;
border-radius: 50%;
}
&__checkbox {
display: flex;
justify-content: center;
align-items: center;
background: #fff;
transition: background-color 0.25s;
border: thin solid transparent;
border-radius: 4px;
}
&--border-visible {
border: thin solid #cad1d7;
}
&--checked {
background: @checkbox-checked-color;
}
&--disabled {
cursor: not-allowed;
opacity: 0.6;
}
&--text-disabled {
color: @checkbox-disabled-text-color;
cursor: not-allowed;
}
&--normal {
margin-top: -@checkbox-normal-checkbox-container-padding;
margin-left: -@checkbox-normal-checkbox-container-padding;
margin-bottom: -@checkbox-normal-checkbox-container-padding;
font-size: @checkbox-normal-checkbox-font-size;
}
&--normal-svg {
&::after {
display: block;
width: @checkbox-normal-svg-size;
height: @checkbox-normal-svg-size;
content: '';
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E");
}
}
&--normal-checkbox {
width: @checkbox-normal-checkbox-size;
height: @checkbox-normal-checkbox-size;
&::after {
display: block;
width: @checkbox-normal-svg-size;
height: @checkbox-normal-svg-size;
content: '';
}
}
&--normal-checkbox-container {
padding: @checkbox-normal-checkbox-container-padding;
}
&--small {
margin-top: -@checkbox-small-checkbox-container-padding;
margin-left: -@checkbox-small-checkbox-container-padding;
margin-bottom: -@checkbox-small-checkbox-container-padding;
font-size: @checkbox-small-checkbox-font-size;
}
&--small-svg {
&::after {
display: block;
width: @checkbox-small-svg-size;
height: @checkbox-small-svg-size;
content: '';
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E");
}
}
&--small-checkbox {
width: @checkbox-small-checkbox-size;
height: @checkbox-small-checkbox-size;
&::after {
display: block;
width: @checkbox-small-svg-size;
height: @checkbox-small-svg-size;
content: '';
}
}
&--small-checkbox-container {
padding: @checkbox-small-checkbox-container-padding;
}
&--mini {
margin-top: -@checkbox-mini-checkbox-container-padding;
margin-left: -@checkbox-mini-checkbox-container-padding;
margin-bottom: -@checkbox-mini-checkbox-container-padding;
font-size: @checkbox-mini-checkbox-font-size;
}
&--mini-svg {
&::after {
display: block;
width: @checkbox-mini-svg-size;
height: @checkbox-mini-svg-size;
content: '';
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E");
}
}
&--mini-checkbox {
width: @checkbox-mini-checkbox-size;
height: @checkbox-mini-checkbox-size;
&::after {
display: block;
width: @checkbox-mini-svg-size;
height: @checkbox-mini-svg-size;
content: '';
}
}
&--mini-checkbox-container {
padding: @checkbox-mini-checkbox-container-padding;
}
&--text-error {
color: @checkbox-error-color;
}
&--background-error {
background: @checkbox-error-color;
}
&--border-error {
border-color: @checkbox-error-color;
}
}