waveterm/frontend/app/element/button.less
2024-09-19 10:44:12 -07:00

306 lines
6.6 KiB
Plaintext

// Copyright 2024, Command Line Inc.
// SPDX-License-Identifier: Apache-2.0
.button {
// override default button appearance
border: 1px solid transparent;
outline: 1px solid transparent;
border: none;
cursor: pointer;
display: flex;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
padding-right: 20px;
align-items: center;
gap: 4px;
border-radius: 6px;
height: auto;
line-height: 16px;
white-space: nowrap;
user-select: none;
font-size: 14px;
font-weight: normal;
transition: all 0.3s ease;
&.solid {
&.green {
color: var(--button-text-color);
background-color: var(--accent-color);
border: 1px solid var(--button-green-border-color);
&:hover {
color: var(--button-text-color);
background-color: var(--button-green-border-color);
}
}
&.grey {
background-color: var(--button-grey-bg);
border: 1px solid var(--button-grey-bg);
color: var(--main-text-color);
&:hover {
color: var(--main-text-color);
background-color: var(--button-grey-hover-bg);
}
}
&.red {
background-color: var(--button-red-bg);
border: 1px solid var(--button-red-border-color);
color: var(--main-text-color);
&:hover {
background-color: var(--button-red-hover-bg);
}
}
&.yellow {
color: var(--button-text-color);
background-color: var(--button-yellow-bg);
border: 1px solid var(--button-yellow-hover-bg);
&:hover {
color: var(--button-text-color);
background-color: var(--button-yellow-hover-bg);
}
}
}
&.outlined {
background-color: transparent;
&.green {
color: var(--accent-color);
border: 1px solid var(--accent-color);
&:hover {
color: var(--button-green-border-color);
border: 1px solid var(--button-green-border-color);
}
}
&.grey {
border: 1px solid var(--button-grey-outlined-color);
color: var(--button-grey-outlined-color);
&:hover {
color: var(--main-text-color);
border: 1px solid var(--main-text-color);
}
}
&.red {
border: 1px solid var(--button-red-bg);
color: var(--button-red-bg);
&:hover {
color: var(--button-red-outlined-color);
border: 1px solid var(--button-red-outlined-color);
}
}
&.yellow {
color: var(--button-yellow-bg);
border: 1px solid var(--button-yellow-bg);
&:hover {
color: var(--button-yellow-hover-bg);
border: 1px solid var(--button-yellow-hover-bg);
}
}
}
&.ghost {
background-color: transparent;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 8px;
padding-right: 8px;
&.green {
border: none;
color: var(--accent-color);
&:hover {
color: var(--button-green-border-color);
}
}
&.grey {
border: none;
color: var(--button-grey-outlined-color);
&:hover {
color: var(--main-text-color);
}
}
&.red {
border: none;
color: var(--button-red-bg);
&:hover {
color: var(--button-red-border-color);
}
}
&.yellow {
border: none;
color: var(--button-yellow-bg);
&:hover {
color: var(--button-yellow-hover-bg);
}
}
}
&:disabled {
cursor: default;
opacity: 0.5;
pointer-events: none;
}
&:focus,
&.focus {
outline: 1px solid var(--success-color);
outline-offset: 2px;
}
// customs styles here
&.border-radius-2 {
border-radius: 4px;
}
&.border-radius-3 {
border-radius: 4px;
}
&.border-radius-4 {
border-radius: 4px;
}
&.border-radius-5 {
border-radius: 4px;
}
&.border-radius-6 {
border-radius: 4px;
}
&.border-radius-10 {
border-radius: 10px;
}
&.vertical-padding-0 {
padding-top: 0px;
padding-bottom: 0px;
}
&.vertical-padding-1 {
padding-top: 1px;
padding-bottom: 1px;
}
&.vertical-padding-2 {
padding-top: 2px;
padding-bottom: 2px;
}
&.vertical-padding-3 {
padding-top: 3px;
padding-bottom: 3px;
}
&.vertical-padding-4 {
padding-top: 4px;
padding-bottom: 4px;
}
&.vertical-padding-5 {
padding-top: 5px;
padding-bottom: 5px;
}
&.vertical-padding-6 {
padding-top: 6px;
padding-bottom: 6px;
}
&.vertical-padding-7 {
padding-top: 7px;
padding-bottom: 7px;
}
&.vertical-padding-8 {
padding-top: 8px;
padding-bottom: 8px;
}
&.vertical-padding-9 {
padding-top: 9px;
padding-bottom: 9px;
}
&.vertical-padding-10 {
padding-top: 10px;
padding-bottom: 10px;
}
&.horizontal-padding-0 {
padding-left: 0px;
padding-right: 0px;
}
&.horizontal-padding-1 {
padding-left: 1px;
padding-right: 1px;
}
&.horizontal-padding-2 {
padding-left: 2px;
padding-right: 2px;
}
&.horizontal-padding-3 {
padding-left: 3px;
padding-right: 3px;
}
&.horizontal-padding-4 {
padding-left: 4px;
padding-right: 4px;
}
&.horizontal-padding-5 {
padding-left: 5px;
padding-right: 5px;
}
&.horizontal-padding-6 {
padding-left: 6px;
padding-right: 6px;
}
&.horizontal-padding-7 {
padding-left: 7px;
padding-right: 7px;
}
&.horizontal-padding-8 {
padding-left: 8px;
padding-right: 8px;
}
&.horizontal-padding-9 {
padding-left: 9px;
padding-right: 9px;
}
&.horizontal-padding-10 {
padding-left: 10px;
padding-right: 10px;
}
&.font-size-11 {
font-size: 11px;
}
&.font-weight-500 {
font-weight: 500;
}
&.font-weight-600 {
font-weight: 600;
}
}