Tinted buttons

This commit is contained in:
ThePetrovich 2026-07-24 20:37:21 +09:00
parent eec942e2b4
commit f203f0c103
30 changed files with 4132 additions and 1288 deletions

View file

@ -150,6 +150,12 @@
@include button-outline-variant($value);
}
}
@each $color, $value in $theme-colors {
.btn-tint-#{$color} {
@include button-tint-variant($value);
}
}
// scss-docs-end btn-variant-loops

View file

@ -341,9 +341,9 @@ $enable-gradients: false !default;
$enable-transitions: false !default;
$enable-reduced-motion: true !default;
$enable-smooth-scroll: true !default;
$enable-grid-classes: false !default;
$enable-grid-classes: true !default;
$enable-container-classes: true !default;
$enable-cssgrid: true !default;
$enable-cssgrid: false !default;
$enable-button-pointers: true !default;
$enable-rfs: true !default;
$enable-validation-icons: true !default;
@ -657,10 +657,10 @@ $mark-bg: $yellow-100 !default;
// Customizes the `.table` component with basic values, each used across all table variations.
// scss-docs-start table-variables
$table-cell-padding-y: .3rem !default;
$table-cell-padding-x: .3rem !default;
$table-cell-padding-y-sm: .15rem !default;
$table-cell-padding-x-sm: .15rem !default;
$table-cell-padding-y: .25rem !default;
$table-cell-padding-x: .5rem !default;
$table-cell-padding-y-sm: .125rem !default;
$table-cell-padding-x-sm: .25rem !default;
$table-cell-vertical-align: top !default;

View file

@ -9,7 +9,7 @@
}
.alert-link {
color: shade-color($color, 20%);
color: shade-color($color, 10%);
}
}
// scss-docs-end alert-variant-mixin

View file

@ -35,31 +35,67 @@
}
// scss-docs-end btn-variant-mixin
// Tinted "outline" button variant.
// The resting state uses a translucent tint of the color plus a slightly
// darker border of the same hue. Hover deepens both the tint and the border;
// active fills solid.
// scss-docs-start btn-outline-variant-mixin
@mixin button-outline-variant(
$color,
$color-hover: color-contrast($color),
$color-hover: $color,
$active-background: $color,
$active-border: $color,
$active-color: color-contrast($active-background)
$active-color: color-contrast($active-background),
$tint-amount: .1,
$hover-tint-amount: .2,
$disabled-tint-amount: .1,
$border-tint-amount: .15,
$hover-border-tint-amount: .3
) {
--#{$prefix}btn-color: #{$color};
--#{$prefix}btn-border-color: #{$color};
--#{$prefix}btn-bg: #{rgba($color, $tint-amount)};
--#{$prefix}btn-border-color: #{rgba($color, $border-tint-amount)};
--#{$prefix}btn-hover-color: #{$color-hover};
--#{$prefix}btn-hover-bg: #{$active-background};
--#{$prefix}btn-hover-border-color: #{$active-border};
--#{$prefix}btn-hover-bg: #{rgba($color, $hover-tint-amount)};
--#{$prefix}btn-hover-border-color: #{rgba($color, $hover-border-tint-amount)};
--#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};
--#{$prefix}btn-active-color: #{$active-color};
--#{$prefix}btn-active-bg: #{$active-background};
--#{$prefix}btn-active-border-color: #{$active-border};
--#{$prefix}btn-active-border-color: #{$active-background};
--#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
--#{$prefix}btn-disabled-color: #{$color};
--#{$prefix}btn-disabled-bg: transparent;
--#{$prefix}btn-disabled-border-color: #{$color};
--#{$prefix}btn-disabled-bg: #{rgba($color, $disabled-tint-amount)};
--#{$prefix}btn-disabled-border-color: #{rgba($color, $border-tint-amount)};
--#{$prefix}gradient: none;
}
// scss-docs-end btn-outline-variant-mixin
// Borderless, tinted button variant (`.btn-tint-*`).
// Same tinted fill as the outline variant but with no border at all every
// border variable is left as its `.btn` default of transparent.
// scss-docs-start btn-tint-variant-mixin
@mixin button-tint-variant(
$color,
$color-hover: $color,
$active-background: $color,
$active-color: color-contrast($active-background),
$tint-amount: .1,
$hover-tint-amount: .2,
$disabled-tint-amount: .1
) {
--#{$prefix}btn-color: #{$color};
--#{$prefix}btn-bg: #{rgba($color, $tint-amount)};
--#{$prefix}btn-hover-color: #{$color-hover};
--#{$prefix}btn-hover-bg: #{rgba($color, $hover-tint-amount)};
--#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};
--#{$prefix}btn-active-color: #{$active-color};
--#{$prefix}btn-active-bg: #{$active-background};
--#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
--#{$prefix}btn-disabled-color: #{$color};
--#{$prefix}btn-disabled-bg: #{rgba($color, $disabled-tint-amount)};
--#{$prefix}gradient: none;
}
// scss-docs-end btn-tint-variant-mixin
// scss-docs-start btn-size-mixin
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
--#{$prefix}btn-padding-y: #{$padding-y};