kui-vue
Version:
A lightweight desktop UI component library suitable for Vue.js 2.
393 lines (331 loc) • 7.49 kB
text/less
@import "../../styles/var.less";
.k-btn {
color: var(--kui-color-font);
font-size: 14px;
height: 32px;
line-height: 1;
padding: 0 15px;
box-sizing: border-box;
flex-shrink: 0;
border-radius: var(--kui-border-radius);
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: middle; // transition: opacity .2s ease-in-out;
user-select: none;
// outline: none;
border: 1px solid transparent;
transition:
height 0.3s ease-in-out,
width 0.3s ease-in-out,
filter 0.3s ease-in-out,
outline 0.1s ease-in-out,
font-size 0.3s ease;
z-index: 0;
white-space: nowrap;
background-color: var(--kui-color-gray-90);
cursor: pointer;
outline-offset: 2px;
gap: 8px;
outline: 0px solid transparent;
outline-offset: 1px;
&:not(.k-btn-link,.k-btn-text):focus {
outline: 2px solid var(--kui-color-main-80);
outline-offset: 1px;
}
&:not(:disabled):hover {
filter: brightness(85%);
}
&:not(:disabled):active {
filter: brightness(70%);
}
.k-icon {
font-size: 14px;
vertical-align: middle;
}
&.k-btn-icon-only {
padding: 0;
height: 32px;
width: 32px;
}
}
.k-btn-sm {
height: 24px;
// line-height: 22px;
font-size: 12px;
padding: 0 8px;
gap: 4px;
[class^="k-icon"] {
font-size: 12px;
}
&.k-btn-icon-only {
padding: 0;
height: 24px;
width: 24px;
min-width: 24px;
}
}
.k-btn-lg {
height: 40px;
font-size: 16px;
padding: 0 15px;
gap: 10px;
.k-icon {
font-size: 16px;
}
&.k-btn-icon-only {
padding: 0;
height: 40px;
width: 40px;
}
}
.k-btn-dashed {
border-color: var(--kui-color-border);
}
.k-btn-text {
background: 0 0;
border: none;
// &:focus,
&:hover {
background-color: var(--kui-color-gray-80);
}
&:active {
background: var(--kui-color-gray-60);
}
}
.k-btn-link {
background: none;
border: none;
color: var(--kui-color-main);
text-decoration: none;
}
.k-btn-block {
width: 100%;
}
.k-btn-dashed {
border-style: dashed;
}
.k-btn-loading {
opacity: 0.8;
}
.k-btn-circle {
border-radius: 30px;
}
.k-btn-default:not(.k-btn-outline, .k-btn-dashed, .k-btn-light) {
border: none;
&:not(:disabled):hover {
color: var(--kui-color-main);
}
}
.k-btn-primary:not(.k-btn-outline, .k-btn-dashed, .k-btn-light) {
border: none;
color: #fff;
background: var(--kui-color-main);
border-color: var(--kui-color-main);
}
.k-btn-danger:not(.k-btn-outline, .k-btn-dashed, .k-btn-light) {
border: none;
color: #fff;
border-color: var(--kui-color-danger);
background: var(--kui-color-danger);
}
.k-btn-warning:not(.k-btn-outline, .k-btn-dashed, .k-btn-light) {
border: none;
color: #fff;
border-color: var(--kui-color-warning);
background: var(--kui-color-warning);
}
.k-btn-outline,
.k-btn-dashed {
background-color: transparent;
border-width: 1px;
&:focus {
outline: none;
}
&:hover {
background-color: var(--kui-color-gray-90);
}
&.k-btn-primary {
color: var(--kui-color-main);
border-color: var(--kui-color-main);
}
&.k-btn-danger {
color: var(--kui-color-danger);
border-color: var(--kui-color-danger);
}
&.k-btn-warning {
color: var(--kui-color-warning);
border-color: var(--kui-color-warning);
}
&.k-btn-default {
border-color: var(--kui-color-border);
}
&.k-btn-pink {
color: var(--kui-color-pink-30);
border-color: var(--kui-color-pink-60);
}
&.k-btn-red {
color: var(--kui-color-red-30);
border-color: var(--kui-color-red-60);
}
&.k-btn-yellow {
color: var(--kui-color-yellow-30);
border-color: var(--kui-color-yellow-60);
}
&.k-btn-orange {
color: var(--kui-color-orange-30);
border-color: var(--kui-color-orange-60);
}
&.k-btn-cyan {
color: var(--kui-color-cyan-30);
border-color: var(--kui-color-cyan-60);
}
&.k-btn-olive {
color: var(--kui-color-olive-30);
border-color: var(--kui-color-olive-60);
}
&.k-btn-brown {
color: var(--kui-color-brown-30);
border-color: var(--kui-color-brown-60);
}
&.k-btn-violet {
color: var(--kui-color-violet-30);
border-color: var(--kui-color-violet-60);
}
&.k-btn-teal {
color: var(--kui-color-teal-30);
border-color: var(--kui-color-teal-60);
}
&.k-btn-green {
color: var(--kui-color-green-30);
border-color: var(--kui-color-green-60);
}
&.k-btn-gray {
color: var(--kui-color-gray-30);
border-color: var(--kui-color-gray-60);
}
&.k-btn-blue {
color: var(--kui-color-blue-30);
border-color: var(--kui-color-blue-60);
}
&.k-btn-purple {
color: var(--kui-color-purple-30);
border-color: var(--kui-color-purple-60);
}
&.k-btn-cyan {
color: var(--kui-color-cyan-30);
border-color: var(--kui-color-cyan-60);
}
&.k-btn-magenta {
color: var(--kui-color-magenta-30);
border-color: var(--kui-color-magenta-60);
}
&.k-btn-volcano {
color: var(--kui-color-volcano-30);
border-color: var(--kui-color-volcano-60);
}
&.k-btn-gold {
color: var(--kui-color-gold-30);
border-color: var(--kui-color-gold-60);
}
&.k-btn-lime {
color: var(--kui-color-lime-30);
border-color: var(--kui-color-lime-60);
}
}
.k-btn-solid {
color: #fff;
border: none;
&.k-btn-default {
color: var(--kui-color-dark);
background-color: var(--kui-color-default);
}
&.k-btn-pink {
background-color: var(--kui-color-pink-30);
}
&.k-btn-red {
background-color: var(--kui-color-red-30);
}
&.k-btn-yellow {
background-color: var(--kui-color-yellow-30);
}
&.k-btn-orange {
background-color: var(--kui-color-orange-30);
}
&.k-btn-cyan {
background-color: var(--kui-color-cyan-30);
}
&.k-btn-olive {
background-color: var(--kui-color-olive-30);
}
&.k-btn-brown {
background-color: var(--kui-color-brown-30);
}
&.k-btn-violet {
background-color: var(--kui-color-violet-30);
}
&.k-btn-teal {
background-color: var(--kui-color-teal-30);
}
&.k-btn-green {
background-color: var(--kui-color-green-30);
}
&.k-btn-gray {
background-color: var(--kui-color-gray-30);
}
&.k-btn-blue {
background-color: var(--kui-color-blue-30);
}
&.k-btn-purple {
background-color: var(--kui-color-purple-30);
}
&.k-btn-cyan {
background-color: var(--kui-color-cyan-30);
}
&.k-btn-magenta {
background-color: var(--kui-color-magenta-30);
}
&.k-btn-volcano {
background-color: var(--kui-color-volcano-30);
}
&.k-btn-gold {
background-color: var(--kui-color-gold-30);
}
&.k-btn-lime {
background-color: var(--kui-color-lime-30);
}
}
.k-btn-light {
background: var(--kui-color-gray-80);
border: none;
&.k-btn-primary {
color: var(--kui-color-main);
}
&.k-btn-danger {
color: var(--kui-color-danger);
}
&.k-btn-warning {
color: var(--kui-color-warning);
}
}
.k-btn:disabled {
cursor: not-allowed;
color: var(--kui-color-disabled);
background-color: var(--kui-color-disable-back);
border-color: var(--kui-color-disable-border);
}
.k-btn-group {
display: inline-flex;
align-items: center;
.k-btn:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.k-btn:not(.k-btn:first-child) {
margin-left: -1px;
}
.k-btn:last-child {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}