annotate default/assets/scss/vendors/bootstrap/mixins/_buttons.scss @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 // Button variants
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 //
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 // Easily pump out default styles, as well as :hover, :focus, :active,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 // and disabled options for all buttons
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 @mixin button-variant($background, $border, $active-background: darken($background, 7.5%), $active-border: darken($border, 10%)) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 @include color-yiq($background);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 background-color: $background;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 border-color: $border;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 @include box-shadow($btn-box-shadow);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 &:hover {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 @include color-yiq($background);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 background-color: $active-background;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 border-color: $active-border;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 &:focus,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 &.focus {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 // Avoid using mixin so we can pass custom focus shadow properly
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 @if $enable-shadows {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 box-shadow: $btn-box-shadow, 0 0 0 3px rgba($border, .5);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 } @else {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 box-shadow: 0 0 0 3px rgba($border, .5);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 // Disabled comes first so active can properly restyle
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 &.disabled,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 &:disabled {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 background-color: $background;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 border-color: $border;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 &:active,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 &.active,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 .show > &.dropdown-toggle {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 background-color: $active-background;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 background-image: none; // Remove the gradient for the pressed/active state
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 border-color: $active-border;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 @include box-shadow($btn-active-box-shadow);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 @mixin button-outline-variant($color, $color-hover: #fff) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 background-color: transparent;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 background-image: none;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 border-color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 @include hover {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 color: $color-hover;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 background-color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 border-color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 &:focus,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 &.focus {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 box-shadow: 0 0 0 3px rgba($color, .5);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 &.disabled,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63 &:disabled {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64 color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 background-color: transparent;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
66 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
67
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
68 &:active,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
69 &.active,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
70 .show > &.dropdown-toggle {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
71 color: $color-hover;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
72 background-color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
73 border-color: $color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
74 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
75 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
76
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
77 // Button sizes
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
78 @mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
79 padding: $padding-y $padding-x;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
80 font-size: $font-size;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
81 line-height: $line-height;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
82 @include border-radius($border-radius);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
83 }