Files
CartoAssets/src/components/buttons.css
T
2017-12-22 18:38:49 +01:00

231 lines
3.4 KiB
CSS

.CDB-Button {
position: relative;
box-sizing: border-box;
padding: 8px 20px;
transition: background 300ms;
border-radius: 4px;
cursor: pointer;
.CDB-Button-Text {
display: block;
}
&.is-disabled {
opacity: 0.24;
cursor: default;
}
}
.CDB-Button--loading {
.CDB-Button-loader {
position: absolute;
z-index: 10;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0);
transform-origin: 50%;
opacity: 0;
}
.CDB-Button-Text {
transition: all 600ms;
}
&.is-loading {
cursor: default;
.CDB-Button-loader {
animation-name: showIn;
animation-duration: 600ms;
animation-fill-mode: forwards;
}
.CDB-Button-Text {
opacity: 0;
}
}
}
@keyframes showIn {
0% {
transform: translate(-50%, -50%) scale(0);
opacity: 0;
}
100% {
transform: translate(-50%, -50%) scale(1);
opacity: 1;
}
}
.CDB-Button--small {
padding: 4px 12px;
border-radius: 3px;
}
.CDB-Button--big {
padding: 11px 20px;
}
.CDB-Button--wide {
width: 100%;
}
.CDB-Button--icon {
padding: 7px 9px;
}
.CDB-Button--primary {
background: var(--color-blue);
color: white;
&:hover,
&:active {
background: var(--color-blue-hover);
}
&.is-loading {
&:hover,
&:active {
background: var(--color-blue);
}
}
&.is-disabled {
&:hover,
&:active {
background: var(--color-blue);
}
}
}
.CDB-Button--alert {
background: var(--color-alert);
color: white;
&:hover,
&:active {
background: color(var(--color-alert) shade(8%));
}
&.is-disabled {
&:hover,
&:active {
background: var(--color-alert);
}
}
}
.CDB-Button--error,
.CDB-Button--negative {
background: var(--color-error);
color: white;
&:hover,
&:active {
background: color(var(--color-error) shade(8%));
}
&.is-disabled {
&:hover,
&:active {
background: var(--color-error);
}
}
}
.CDB-Button--dashed {
padding: 13px 0;
border: 1px dashed var(--color-text-alt);
color: var(--color-blue);
&:hover {
border-color: var(--color-blue);
}
&.is-disabled {
&:hover {
border-color: var(--color-text-alt);
}
}
}
.CDB-Button--secondary {
box-shadow: inset 0 0 0 1px var(--color-blue);
color: var(--color-blue);
&:hover {
background: rgba(var(--color-blue), 0.08);
box-shadow: inset 0 0 0 2px var(--color-blue-hover);
}
&:active {
background: var(--color-blue);
color: white;
}
&.is-disabled {
&:hover {
background: transparent;
box-shadow: inset 0 0 0 1px var(--color-blue);
}
&:active {
background: transparent;
}
}
&.is-loading {
cursor: default;
&:hover,
&:active {
background: none;
color: var(--color-blue);
}
}
&--background {
background-color: white;
}
}
.CDB-Button--white {
box-shadow: inset 0 0 0 1px white;
color: white;
&:hover {
background: rgba(white, 0.08);
box-shadow: inset 0 0 0 2px color(white shade(8%));
}
&:active {
background: color(var(--color-text-primary) alpha(0.8%));
color: white;
}
&.is-disabled {
opacity: 0.24;
&:hover {
background: transparent;
box-shadow: inset 0 0 0 1px white;
}
&:active {
background: transparent;
color: white;
}
}
&.is-loading {
cursor: default;
&:hover,
&:active {
background: none;
color: white;
}
}
}