@lucsoft/webgen
Version:
Collection of lucsofts Components
174 lines (147 loc) • 4.51 kB
CSS
.wbutton {
padding: 0 16px 0;
height: 37px;
display: inline-flex;
align-items: center;
font-weight: bold;
font-size: 13.8px;
letter-spacing: .02rem;
border-radius: 5px;
cursor: pointer;
position: relative;
user-select: none;
text-decoration: none;
transition: transform 100ms ease;
white-space: nowrap;
}
.wbutton.isList {
z-Index: 1;
}
.wbutton:active {
transform: translate(0, 3%);
}
.wbutton ul {
position: absolute;
right: 0;
display: flex;
flex-direction: column;
bottom: 2.8rem;
width: max-content;
z-index: 10;
font-weight: 400;
margin: 0;
box-shadow: var(--box-shadow);
padding: 0.5rem 0;
background: var(--on-card-background);
color: var(--on-card-text);
border-radius: 7px;
}
.wbutton .icon-suffix {
aspect-ratio: 1 / 1;
height: 100%;
margin-right: -16px;
display: flex;
align-items: center;
justify-content: center;
}
.wbutton ul a {
padding: 0.2rem 0.6rem;
font-size: 1rem;
font-weight: 400;
}
.wbutton ul a:hover {
background: rgba(255, 255, 255, 10%);
}
.wbutton ul:not(.open) {
display: none;
}
.wbutton.normal {
background: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l));
color: var(--font-color);
}
.wbutton.inline {
color: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l));
transition: background-color 200ms ease;
}
.wbutton.grayscaled.inline, .wbutton.grayscaled.secondary {
color: var(--color-grayscaled-inline-font, var(--font-color));
}
.wbutton:focus {
outline: none;
}
.wbutton:not(.disabled).inline:is(:hover, :focus) {
background: hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 25%);
}
.wbutton:not(.disabled).normal {
box-shadow: 0px 0px 0px 0px hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 25%);
transition: box-shadow 250ms ease;
}
.wbutton:not(.disabled).normal:is(:hover, :focus) {
box-shadow: 0px 0px 0px 4px hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 25%);
}
.wbutton.secondary {
color: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l));
background: hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 25%);
transition: background-color 200ms ease;
}
.wbutton:not(.disabled).secondary:is(:hover, :focus) {
background: hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 35%);
}
.wbutton.progress {
background: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l), 85%);
color: var(--font-color);
overflow: hidden;
}
.wbutton.progress .progress {
background: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l));
transition: width 150ms ease;
width: 25%;
position: absolute;
top: 0;
left: 0;
z-index: -1;
bottom: 0;
}
.wbutton.spinner {
background: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l));
color: transparent;
position: relative;
}
.wbutton.spinner .loading-wheel {
height: 3rem;
width: 3rem;
}
.wbutton.spinner .loading-wheel circle {
stroke: var(--font-color);
}
.wbutton.grayscaled {
--background-color-h: var(--color-grayscaled-hue);
--background-color-s: var(--color-grayscaled-saturation);
--background-color-l: var(--color-grayscaled-lightness);
--font-color: var(--color-grayscaled-font);
}
.wbutton.colored {
--background-color-h: var(--color-colored-hue);
--background-color-s: var(--color-colored-saturation);
--background-color-l: var(--color-colored-lightness);
--font-color: var(--color-colored-font);
}
.wbutton.critical {
--background-color-h: var(--color-critical-hue);
--background-color-s: var(--color-critical-saturation);
--background-color-l: var(--color-critical-lightness);
--font-color: var(--color-critical-font);
}
.wbutton.disabled {
cursor: default;
--background-color-h: var(--color-disabled-hue);
--background-color-s: var(--color-disabled-saturation);
--background-color-l: var(--color-disabled-lightness);
--font-color: var(--color-disabled-font);
}
.wbutton .suffixIcon {
display: block;
width: 2.3rem;
height: 2.3rem;
align-items: center;
}