lbry-desktop/src/renderer/scss/component/_button.scss
2018-07-02 18:22:59 -04:00

204 lines
3.6 KiB
SCSS

button:disabled {
cursor: default;
}
.btn {
border: none;
text-decoration: none;
cursor: pointer;
position: relative;
padding: 10px;
height: var(--btn-height);
min-width: var(--btn-height);
border-radius: var(--btn-radius);
background-color: var(--btn-bg-primary);
color: var(--btn-color-primary);
display: flex;
align-items: center;
justify-content: center;
fill: currentColor; // for proper icon color
font-size: 12px;
transition: all var(--animation-duration) var(--animation-style);
font-family: 'metropolis-medium';
&:not(:disabled) {
box-shadow: var(--box-shadow-button);
}
&:hover {
box-shadow: none;
background-color: var(--btn-bg-primary-hover);
}
.icon + .btn__label {
padding-left: 5px;
}
}
.btn.btn--alt {
color: var(--btn-color-alt);
background-color: var(--btn-bg-alt);
&:disabled {
color: var(--color-help);
background-color: transparent;
}
}
.btn.btn--danger {
background-color: var(--btn-bg-danger);
}
.btn.btn--inverse {
background-color: transparent;
box-shadow: none;
color: var(--btn-color-inverse);
}
.btn.btn--link {
padding: 0;
margin: 0;
background-color: inherit;
font-size: 1em;
color: var(--btn-color-inverse);
border-radius: 0;
display: inline;
min-width: 0;
box-shadow: none;
text-align: left;
}
.btn.btn--external-link {
color: var(--btn-external-color);
}
.btn.btn--secondary {
background-color: var(--btn-bg-secondary);
}
.btn.btn--tourniquet {
max-width: 20vw;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.btn.btn--no-style {
font-size: inherit;
font-weight: inherit;
color: inherit;
background-color: inherit;
border-radius: 0;
padding: 0;
margin: 0;
box-shadow: none;
min-width: 0;
}
.btn--link,
.btn--no-style {
height: auto;
.btn__label,
.btn__content {
padding: 0;
}
}
.btn.btn--disabled:disabled {
cursor: default;
&.btn--primary {
background-color: rgba(0, 0, 0, 0.5);
}
&:hover {
box-shadow: none;
}
}
.btn.btn--uppercase {
text-transform: uppercase;
}
.btn:not(.btn--no-padding):not(.btn--link):not(.btn--no-style) {
.btn__content {
padding: 0 8px;
display: flex;
align-items: center;
}
}
.icon + .btn__label,
.btn__label + .icon {
margin-left: 5px;
}
/*
Everything below this is variations of the default button classes
You must pass in a className, props will not set these classes,
if you use these in several different places they should probably
be applied via props
*/
.btn.btn--home-nav {
background-color: var(--btn-home-bg-color);
box-shadow: none;
.btn__content {
padding: 0;
}
}
.btn.btn--arrow {
width: var(--btn-arrow-width);
color: var(--text-color);
&:disabled {
opacity: 0.3;
}
}
.btn--uri-indicator {
transition: color var(--animation-duration) var(--animation-style);
&:hover {
color: var(--color-light-blue);
}
}
.btn.btn--header-publish {
background-color: var(--header-primary-color);
}
.btn.btn--header-balance {
font-family: 'metropolis-medium';
font-size: 14px;
color: var(--header-primary-color);
@media only screen and (min-width: $large-breakpoint) {
font-size: 18px;
}
.btn__label--balance {
color: var(--text-help-color);
}
&:hover {
background-color: transparent;
.btn__label--balance {
color: var(--header-primary-color);
}
}
}
.btn.btn--file-actions {
background-color: var(--color-black);
color: var(--color-white);
opacity: 0.8;
border-radius: var(--btn-radius);
width: var(--btn-height);
height: var(--btn-height);
padding: 10px;
}