mirror of
https://github.com/tabler/tabler.git
synced 2026-01-11 15:10:08 +04:00
168 lines
3.4 KiB
SCSS
168 lines
3.4 KiB
SCSS
.btn {
|
|
--btn-bg: #{$color-white};
|
|
--btn-text-color: #{$color-text};
|
|
--btn-border-color: #{$color-border};
|
|
--btn-padding-x: #{$gap-3};
|
|
--btn-hover-bg: var(--btn-bg);
|
|
--btn-hover-border-color: #{$color-border-hover};
|
|
--btn-focus-color: #{rgba($color-text, .3)};
|
|
|
|
--btn-height: 2.5rem;
|
|
|
|
&.disabled {
|
|
--btn-text-color: #{$color-muted};
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
background: var(--btn-bg);
|
|
color: var(--btn-text-color);
|
|
border: 1px solid var(--btn-border-color);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: $border-radius-lg;
|
|
text-decoration: none;
|
|
font-weight: $font-weight-medium;
|
|
font-size: $font-size-h6;
|
|
height: var(--btn-height);
|
|
min-width: var(--btn-height);
|
|
padding: 0 var(--btn-padding-x);
|
|
box-shadow: rgba(0, 0, 0, 0.04) 0px 10px 15px -3px, rgba(0, 0, 0, 0.02) 0px 4px 6px -2px;
|
|
user-select: none;
|
|
transition: .3s opacity, .3s transform, .3s border-color, .3s background-color;
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
|
|
@at-root a#{&}:hover {
|
|
color: var(--btn-hover-color, var(--btn-text-color));
|
|
border-color: var(--btn-hover-border-color);
|
|
background-color: var(--btn-hover-bg, var(--btn-bg));
|
|
}
|
|
|
|
&:focus-visible {
|
|
box-shadow: 0 0 0 3px var(--btn-focus-color);
|
|
outline: none;
|
|
}
|
|
|
|
.icon {
|
|
width: divide(20, 16) * 1em;
|
|
height: divide(20, 16) * 1em;
|
|
vertical-align: bottom;
|
|
margin-right: $gap-2;
|
|
margin-left: -$gap-1;
|
|
}
|
|
}
|
|
|
|
.btn-block {
|
|
width: 100%;
|
|
}
|
|
|
|
.btn-icon {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
|
|
.icon {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
.btn-sm {
|
|
--btn-height: 1.75rem;
|
|
--btn-padding-x: #{$gap-2};
|
|
font-size: $font-size-h6;
|
|
|
|
svg {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
stroke-width: 2;
|
|
margin-right: $gap-1;
|
|
}
|
|
}
|
|
|
|
.btn-lg {
|
|
@include media-breakpoint-up(md) {
|
|
height: 3.25rem;
|
|
--btn-padding-x: #{$gap-4};
|
|
font-size: $font-size-h4;
|
|
font-weight: $font-weight-medium;
|
|
|
|
svg {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
margin-right: $gap-3;
|
|
margin-left: -$gap-1;
|
|
stroke-width: 2;
|
|
}
|
|
}
|
|
}
|
|
|
|
.btn-circle {
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.btn-link {
|
|
background: transparent;
|
|
color: $color-muted;
|
|
|
|
svg {
|
|
stroke-width: 1.5;
|
|
}
|
|
|
|
&:hover {
|
|
color: $color-text;
|
|
}
|
|
}
|
|
|
|
|
|
.btn-outline {
|
|
border-color: var(--btn-color);
|
|
color: var(--btn-color);
|
|
background: transparent;
|
|
}
|
|
|
|
@each $name, $color in map-merge($colors, $extra-colors) {
|
|
.btn-#{$name} {
|
|
--btn-color: #{$color};
|
|
--btn-color-darken: #{darken($color, 5%)};
|
|
--btn-bg: #{$color};
|
|
--btn-text-color: #{contrast-color($color)};
|
|
--btn-border-color: #{$color};
|
|
--btn-hover-bg: #{darken($color, 5%)};
|
|
--btn-hover-border-color: #{darken($color, 5%)};
|
|
|
|
&.disabled {
|
|
--btn-bg: #{$color-muted};
|
|
--btn-text-color: #{$color-white};
|
|
--btn-border-color: #{$color-muted};
|
|
}
|
|
}
|
|
}
|
|
|
|
.btn-list {
|
|
--btn-list-margin: .5rem;
|
|
display: flex;
|
|
margin: 0 calc(var(--btn-list-margin) * -1) calc(var(--btn-list-margin) * -1) 0;
|
|
|
|
> * {
|
|
margin: 0 var(--btn-list-margin) var(--btn-list-margin) 0;
|
|
}
|
|
}
|
|
|
|
|
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
@if $breakpoint != 0 {
|
|
.btn-responsive-#{$breakpoint} {
|
|
@include media-breakpoint-down($breakpoint) {
|
|
.icon {
|
|
margin-left: -.5rem;
|
|
margin-right: -.5rem;
|
|
}
|
|
|
|
.btn-responsive-text {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|