atui
Version:
components built with Vue.js
304 lines (248 loc) • 6.2 kB
text/less
// Button
// --------------------------------------------------
@prefix-cls-btn: e("@{prefix-cls}-btn");
.@{prefix-cls-btn} {
display: inline-block;
padding: 5px 20px;
background-color: @primary-color;
background-image: none;
font-size: 12px;
color: #fff;
text-align: center;
vertical-align: middle;
white-space: nowrap;
border-radius: 4px;
border: 1px solid transparent;
cursor: pointer;
touch-action: manipulation;
outline: none;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
&:hover {
background-color: tint(@primary-color, 40%);
}
&:focus, &:active {
background-color: shade(@primary-color, 10%);
}
}
// Size of the button
// ----------------------------------------------------
.@{prefix-cls-btn} {
&.@{prefix-cls-btn}-default {
padding: 6px 20px;
}
&.@{prefix-cls-btn}-large {
padding: 7px 20px;
}
&.@{prefix-cls-btn}-small {
padding: 1px 10px;
}
}
// Category button
// ----------------------------------------------------
.disabled() {
background-color: #f2f2f2;
color: #ccc;
cursor: not-allowed;
}
.@{prefix-cls-btn} {
&.@{prefix-cls-btn}-primary {
background-color: @primary-color;
color: #fff;
&:hover {
background-color: tint(@primary-color, 40%);
&:focus, &:active, &.active {
background-color: shade(@primary-color, 10%);
}
}
&:focus, &:active, &.active {
background-color: shade(@primary-color, 10%);
}
}
&.@{prefix-cls-btn}-secondary {
background-color: #fff;
color: @primary-color;
border-color: tint(@primary-color, 40%);
&:hover {
background-color: tint(@primary-color, 95%);
color: tint(@primary-color, 40%);
border-color: tint(@primary-color, 40%);
&:focus, &:active, &.active {
background-color: tint(@primary-color, 95%);
color: shade(@primary-color, 10%);
border-color: shade(@primary-color, 10%);
}
}
&:focus, &:active, &.active {
background-color: tint(@primary-color, 95%);
color: shade(@primary-color, 10%);
border-color: shade(@primary-color, 10%);
}
}
&.@{prefix-cls-btn}-tertiary {
background-color: #fff;
color: #666;
border-color: #d9d9d9;
&:hover {
background-color: #fff;
color: tint(@primary-color, 40%);
border-color: tint(@primary-color, 40%);
&:focus, &:active, &.active {
background-color: #fff;
color: shade(@primary-color, 10%);
border-color: shade(@primary-color, 10%);
}
}
&:focus, &:active, &.active {
background-color: #fff;
color: shade(@primary-color, 10%);
border-color: shade(@primary-color, 10%);
}
}
&.@{prefix-cls-btn}-text {
background-color: transparent;
color: #666;
&:hover, &:focus, &:active, &.active {
background-color: tint(@primary-color, 95%);
}
&:hover {
&:focus, &:active, &.active {
background-color: tint(@primary-color, 95%);
}
}
}
&.@{prefix-cls-btn}-loading {
@keyframes bouncedelay {
0%, 80%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 40% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
.@{prefix-cls-btn}-loadingWrap {
span {
display: inline-block;
width: 6px;
height: 6px;
background: #fff;
border-radius: 100%;
animation: bouncedelay 1.4s infinite ease-in-out;
animation-fill-mode: both;
}
.@{prefix-cls}-loading-bounce1 {
animation-delay: -0.32s;
}
.@{prefix-cls}-loading-bounce2 {
animation-delay: -0.16s;
}
}
}
}
.@{prefix-cls-btn}[disabled], .@{prefix-cls-btn}.disabled {
.disabled();
&:hover {
.disabled();
&:focus, &:focus {
.disabled();
}
}
&:focus, &:focus {
.disabled();
}
}
// button group
.@{prefix-cls-btn}-group {
position: relative;
display: inline-block;
vertical-align: middle;
.clearfix();
&.@{prefix-cls-btn}-default {
.@{prefix-cls-btn} {
padding: 6px 20px;
}
}
&.@{prefix-cls-btn}-large {
.@{prefix-cls-btn} {
padding: 8px 20px;
}
}
&.@{prefix-cls-btn}-small {
.@{prefix-cls-btn} {
padding: 2px 10px;
}
}
.@{prefix-cls-btn} {
float: left;
margin-left: -1px;
background-color: #fff;
color: #666;
border-color: #d9d9d9;
&:hover {
background-color: #fff;
color: tint(@primary-color, 40%);
border-color: tint(@primary-color, 40%);
&:focus, &:active, &.active {
background-color: @primary-color;
color: #fff;
border-color: @primary-color;
}
}
&:focus, &:active, &.active {
background-color: @primary-color;
color: #fff;
border-color: @primary-color;
}
&:first-child:not(:last-child) {
margin-left: 0;
border-bottom-right-radius: 0;
border-top-right-radius: 0;
&:hover {
&+.@{prefix-cls-btn} {
border-left-color: tint(@primary-color, 40%);
}
}
}
&:not(:first-child):not(:last-child) {
border-radius: 0;
&:hover {
&+.@{prefix-cls-btn} {
border-left-color: tint(@primary-color, 40%);
}
}
}
&:last-child:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
&[disabled], &.disabled {
.disabled();
&:hover {
.disabled();
&:focus, &:focus {
.disabled();
}
}
&:focus, &:focus {
.disabled();
}
&:first-child:not(:last-child) {
&:hover {
&+.@{prefix-cls-btn} {
.disabled();
}
}
}
&:not(:first-child):not(:last-child) {
&:hover {
&+.@{prefix-cls-btn} {
.disabled();
}
}
}
}
// &:not(:first-child):not(.secondary):not(.tertiary):not(.text):not(.disabled):not([disabled]), &.primary:not(:first-child) {
// border-left-color: tint(@primary-color, 40%);
// }
}
}