@ray-js/components
Version:
Ray basic components
130 lines (112 loc) • 3.58 kB
text/less
@import (reference) '../style/var.less';
.button {
--ty-native-btn-color: #007aff;
--ty-native-btn-bg-color: #ffffff;
--ty-native-btn-default-border-color: rgba(0, 0, 0, 0.2);
--ty-native-btn-default-color: rgba(0, 0, 0, 0.5);
--ty-native-warn-color: #ff4444;
--ty-native-primary-color: #007aff;
}
.button,
.button[type='default'] {
border: none;
display: block;
box-sizing: border-box;
border-radius: 10px;
font-size: 16px;
font-weight: 590;
color: var(--ty-native-btn-color);
position: relative;
cursor: pointer;
background-color: var(--ty-native-btn-bg-color);
text-align: center;
overflow: hidden;
-webkit-tap-highlight-color: transparent;
user-select: none;
white-space: normal;
padding: 10px 24px;
line-height: 1.41176471;
flex-shrink: 0;
&::after {
display: none;
}
}
.button[hidden] {
display: none;
}
.button[loading]::before {
display: inline-block;
content: ' ';
height: 18px;
width: 18px;
margin: 0 5px 0 0;
vertical-align: middle;
animation: load 2s linear 0s infinite;
background: var(--ty-native-primary-color);
-webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGJSURBVHgBxVfBccIwEFzCJ0+e+aEO4hKulJRAKkAlpAPSAZMKTH75ARXgVAD55Ud0I2s42YotD7a0MzsctmytbiWfNMc40IaF4ZPhr+EFmXBt8GS4MVRIjGsHowTNMQ5mhkdYWxaGj+IeW7aq408kBhm+o52dLazQ5FCw80WK2ecSw9DwxZTNBmPNkT7sYOcR1f+V4Y/hFzJBw8+MQkaU6LAoJQh+VggZIbPyhowg+OUgK84Qk/YB+XAQcZFTyLeIs2akEvGChWjcvNLIBBYid1NLpIMsfBcWUokLCunwLOLKde6sOSMdvOXrLso9A2F6EBofNLdqPkSjNabHi4h38gYhXSFS6NkKpCrPchpsQg0UfKVTWLRG5MZoNaGYpgjd90A5gZimiG3MQ/zF26N9hFQYDkJ7YAcMOE5wwy3Cx0eKeJ4CAtwiCIqY9bxQI2wN1yce2RG3WrWEzVrxT2evuHNbqBA+PsayxMg1TNWCThGdcxsePUW+u9eaLlFF/etsYIsqWMsqDMQfYUyw07Tf+LgAAAAASUVORK5CYII=');
-webkit-mask-size: cover;
-webkit-mask-repeat: no-repeat;
}
.button[loading][type='primary']::before,
.button[loading][type='warn']::before {
background: #ffffff;
}
.button[loading][type='default']::before {
background: var(--ty-native-primary-color);
}
.button[loading][type='default'][plain]::before {
background: var(--ty-native-btn-default-color);
}
.button[loading][type='primary'][plain]::before {
background: var(--ty-native-primary-color);
}
.button[loading][type='warn']::before {
background: var(--ty-native-warn-color);
}
.button[size='mini'] {
display: inline-block;
font-size: 13px;
padding: 5px 17px;
}
.button[type='primary'] {
background-color: var(--ty-native-primary-color);
color: #fff;
}
.button[type='warn'] {
color: var(--ty-native-warn-color);
background-color: #ffffff;
}
.button[plain][type='warn']:not([disabled]) {
background-color: transparent;
border: 1px solid var(--ty-native-warn-color);
color: var(--ty-native-warn-color);
}
.button[plain][type='primary']:not([disabled]) {
background-color: transparent;
border: 1px solid var(--ty-native-primary-color);
color: var(--ty-native-primary-color);
}
.button[plain][type='default']:not([disabled]) {
background-color: transparent;
border: 1px solid var(--ty-native-btn-default-border-color);
color: var(--ty-native-btn-default-color);
}
.ty-.button-hover {
opacity: 0.8;
}
.button[disabled][type='default'],
.button[disabled][type='primary'],
.button[disabled][type='warn'] {
background-color: var(--ty-native-btn-default-border-color);
cursor: not-allowed;
pointer-events: none;
color: #ffffff;
}
@keyframes load {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}