136 lines
2.7 KiB
CSS
136 lines
2.7 KiB
CSS
$width: 1px;
|
|
$radius: 4px;
|
|
|
|
.-buttonReset {
|
|
color: var(--font-color);
|
|
border: none;
|
|
background: inherit;
|
|
background-color: transparent; /* IE 11 */
|
|
padding: 0;
|
|
font: inherit;
|
|
line-height: inherit;
|
|
text-align: inherit;
|
|
}
|
|
|
|
.set {
|
|
display: flex;
|
|
}
|
|
|
|
.-border {
|
|
border-width: $width 0;
|
|
border-style: solid;
|
|
|
|
&:first-child {
|
|
border-top-left-radius: $radius;
|
|
border-bottom-left-radius: $radius;
|
|
border-left-width: $width;
|
|
}
|
|
|
|
&:last-child {
|
|
border-top-right-radius: $radius;
|
|
border-bottom-right-radius: $radius;
|
|
border-right-width: $width;
|
|
}
|
|
}
|
|
|
|
.-button {
|
|
--button-gap: 0.5em;
|
|
--button-side-padding: 1.25em;
|
|
--button-height: 3em;
|
|
--button-side-icon-nudge: 0.25em;
|
|
|
|
composes: -buttonReset;
|
|
display: grid;
|
|
grid-auto-flow: column;
|
|
gap: var(--button-gap);
|
|
align-content: center;
|
|
align-items: center;
|
|
padding: 0 var(--button-side-padding);
|
|
height: var(--button-height);
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
text-transform: uppercase;
|
|
white-space: nowrap;
|
|
|
|
&:enabled {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.small {
|
|
--button-gap: 0.25em;
|
|
--button-side-padding: 0.75em;
|
|
--button-height: 2.5em;
|
|
--button-side-icon-nudge: 0.125em;
|
|
}
|
|
|
|
.primary {
|
|
composes: -border -button;
|
|
background-color: var(--button-primary-bg-color);
|
|
border-color: var(--button-primary-border-color);
|
|
color: var(--button-primary-color);
|
|
font-weight: 700;
|
|
|
|
&:disabled {
|
|
background-color: var(--button-primary-bg-color-light);
|
|
border-color: var(--button-primary-border-color-light);
|
|
}
|
|
|
|
&:hover:enabled {
|
|
background-color: var(--button-primary-border-color);
|
|
}
|
|
|
|
&:active:enabled {
|
|
box-shadow: inset 0 0 5px var(--button-primary-active-color);
|
|
}
|
|
}
|
|
|
|
.secondary {
|
|
composes: -border -button;
|
|
background: var(--button-secondary-bg-color);
|
|
border-color: var(--button-secondary-border-color);
|
|
color: var(--button-secondary-color);
|
|
|
|
&:disabled {
|
|
background: inherit;
|
|
background-color: var(--button-secondary-bg-color-light);
|
|
border-color: var(--button-secondary-border-color-light);
|
|
color: var(--button-secondary-color-light);
|
|
}
|
|
|
|
&:visited {
|
|
color: var(--button-secondary-color);
|
|
}
|
|
|
|
&:hover:enabled {
|
|
background: inherit;
|
|
background-color: var(--button-secondary-border-color);
|
|
}
|
|
|
|
&:active:enabled {
|
|
box-shadow: inset 0 0 5px var(--button-secondary-active-color);
|
|
}
|
|
}
|
|
|
|
.iconLeft {
|
|
transform: translate(calc(-1 * var(--button-side-icon-nudge)), 0);
|
|
}
|
|
|
|
.iconRight {
|
|
transform: translate(var(--button-side-icon-nudge), 0);
|
|
}
|
|
|
|
.rule {
|
|
composes: -border;
|
|
background-color: var(--button-secondary-border-color);
|
|
width: 1px;
|
|
border-color: var(--button-secondary-border-color);
|
|
}
|
|
|
|
.icon {
|
|
composes: secondary;
|
|
padding: 0;
|
|
aspect-ratio: 1/1;
|
|
justify-items: center;
|
|
}
|