|
1 | 1 | @use "sass:color"; |
2 | | -@use "colors" as *; |
3 | | -@use "config" as *; |
4 | | -@use "variables" as *; |
5 | | -@use "functions" as *; |
6 | | -@use "vendor/rfs" as *; |
7 | | -@use "mixins/border-radius" as *; |
8 | | -@use "mixins/box-shadow" as *; |
9 | | -@use "mixins/transition" as *; |
10 | | -@use "mixins/gradients" as *; |
| 2 | +@use "../colors" as *; |
| 3 | +@use "../config" as *; |
| 4 | +@use "../variables" as *; |
| 5 | +@use "../functions" as *; |
| 6 | +@use "../vendor/rfs" as *; |
| 7 | +@use "../mixins/border-radius" as *; |
| 8 | +@use "../mixins/box-shadow" as *; |
| 9 | +@use "../mixins/focus-ring" as *; |
| 10 | +@use "../mixins/gradients" as *; |
| 11 | +@use "../mixins/transition" as *; |
| 12 | +@use "button-variables" as *; |
11 | 13 |
|
12 | 14 | // Button variants |
13 | 15 | // |
|
35 | 37 | --#{$prefix}btn-hover-color: #{$hover-color}; |
36 | 38 | --#{$prefix}btn-hover-bg: #{$hover-background}; |
37 | 39 | --#{$prefix}btn-hover-border-color: #{$hover-border}; |
38 | | - --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(color.mix($color, $border, 15%))}; |
| 40 | + // --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(color.mix($color, $border, 15%))}; |
39 | 41 | --#{$prefix}btn-active-color: #{$active-color}; |
40 | 42 | --#{$prefix}btn-active-bg: #{$active-background}; |
41 | 43 | --#{$prefix}btn-active-border-color: #{$active-border}; |
|
102 | 104 | --#{$prefix}btn-hover-border-color: transparent; |
103 | 105 | --#{$prefix}btn-box-shadow: #{$btn-box-shadow}; |
104 | 106 | --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity}; |
105 | | - --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5); |
| 107 | + // --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5); |
106 | 108 | // scss-docs-end btn-css-vars |
107 | 109 |
|
108 | 110 | display: inline-block; |
|
142 | 144 | color: var(--#{$prefix}btn-hover-color); |
143 | 145 | @include gradient-bg(var(--#{$prefix}btn-hover-bg)); |
144 | 146 | border-color: var(--#{$prefix}btn-hover-border-color); |
145 | | - outline: 0; |
146 | | - // Avoid using mixin so we can pass custom focus shadow properly |
147 | | - @if $enable-shadows { |
148 | | - box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); |
149 | | - } @else { |
150 | | - box-shadow: var(--#{$prefix}btn-focus-box-shadow); |
151 | | - } |
| 147 | + @include focus-ring(true); |
| 148 | + --#{$prefix}focus-ring-offset: 1px; |
152 | 149 | } |
153 | 150 |
|
154 | 151 | .btn-check:focus-visible + & { |
155 | 152 | border-color: var(--#{$prefix}btn-hover-border-color); |
156 | | - outline: 0; |
157 | | - // Avoid using mixin so we can pass custom focus shadow properly |
158 | | - @if $enable-shadows { |
159 | | - box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); |
160 | | - } @else { |
161 | | - box-shadow: var(--#{$prefix}btn-focus-box-shadow); |
162 | | - } |
| 153 | + @include focus-ring(true); |
163 | 154 | } |
164 | 155 |
|
165 | 156 | .btn-check:checked + &, |
|
175 | 166 | @include box-shadow(var(--#{$prefix}btn-active-shadow)); |
176 | 167 |
|
177 | 168 | &:focus-visible { |
178 | | - // Avoid using mixin so we can pass custom focus shadow properly |
179 | | - @if $enable-shadows { |
180 | | - box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); |
181 | | - } @else { |
182 | | - box-shadow: var(--#{$prefix}btn-focus-box-shadow); |
183 | | - } |
| 169 | + @include focus-ring(true); |
184 | 170 | } |
185 | 171 | } |
186 | 172 |
|
187 | 173 | .btn-check:checked:focus-visible + & { |
188 | | - // Avoid using mixin so we can pass custom focus shadow properly |
189 | | - @if $enable-shadows { |
190 | | - box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); |
191 | | - } @else { |
192 | | - box-shadow: var(--#{$prefix}btn-focus-box-shadow); |
193 | | - } |
| 174 | + @include focus-ring(true); |
194 | 175 | } |
195 | 176 |
|
196 | 177 | &:disabled, |
|
263 | 244 | --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color}; |
264 | 245 | --#{$prefix}btn-disabled-border-color: transparent; |
265 | 246 | --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows |
266 | | - --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb}; |
| 247 | + // --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb}; |
267 | 248 |
|
268 | 249 | text-decoration: $link-decoration; |
269 | 250 | @if $enable-gradients { |
|
0 commit comments