aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/twbs/bootstrap/scss/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/twbs/bootstrap/scss/helpers')
-rw-r--r--vendor/twbs/bootstrap/scss/helpers/_colored-links.scss24
-rw-r--r--vendor/twbs/bootstrap/scss/helpers/_focus-ring.scss5
-rw-r--r--vendor/twbs/bootstrap/scss/helpers/_icon-link.scss25
3 files changed, 52 insertions, 2 deletions
diff --git a/vendor/twbs/bootstrap/scss/helpers/_colored-links.scss b/vendor/twbs/bootstrap/scss/helpers/_colored-links.scss
index 0e03039bb..6d3595af7 100644
--- a/vendor/twbs/bootstrap/scss/helpers/_colored-links.scss
+++ b/vendor/twbs/bootstrap/scss/helpers/_colored-links.scss
@@ -1,12 +1,32 @@
+// stylelint-disable function-name-case
+
+// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251
@each $color, $value in $theme-colors {
.link-#{$color} {
- color: $value if($enable-important-utilities, !important, null);
+ color: RGBA(var(--#{$prefix}#{$color}-rgb, var(--#{$prefix}link-opacity, 1)));
+ text-decoration-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-underline-opacity, 1));
@if $link-shade-percentage != 0 {
&:hover,
&:focus {
- color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)) if($enable-important-utilities, !important, null);
+ $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
+ color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1));
+ text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1));
}
}
}
}
+
+// One-off special link helper as a bridge until v6
+.link-body-emphasis {
+ color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, 1));
+ text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, 1));
+
+ @if $link-shade-percentage != 0 {
+ &:hover,
+ &:focus {
+ color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, .75));
+ text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, .75));
+ }
+ }
+}
diff --git a/vendor/twbs/bootstrap/scss/helpers/_focus-ring.scss b/vendor/twbs/bootstrap/scss/helpers/_focus-ring.scss
new file mode 100644
index 000000000..26508a8d6
--- /dev/null
+++ b/vendor/twbs/bootstrap/scss/helpers/_focus-ring.scss
@@ -0,0 +1,5 @@
+.focus-ring:focus {
+ outline: 0;
+ // By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values
+ box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);
+}
diff --git a/vendor/twbs/bootstrap/scss/helpers/_icon-link.scss b/vendor/twbs/bootstrap/scss/helpers/_icon-link.scss
new file mode 100644
index 000000000..3f8bcb335
--- /dev/null
+++ b/vendor/twbs/bootstrap/scss/helpers/_icon-link.scss
@@ -0,0 +1,25 @@
+.icon-link {
+ display: inline-flex;
+ gap: $icon-link-gap;
+ align-items: center;
+ text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));
+ text-underline-offset: $icon-link-underline-offset;
+ backface-visibility: hidden;
+
+ > .bi {
+ flex-shrink: 0;
+ width: $icon-link-icon-size;
+ height: $icon-link-icon-size;
+ fill: currentcolor;
+ @include transition($icon-link-icon-transition);
+ }
+}
+
+.icon-link-hover {
+ &:hover,
+ &:focus-visible {
+ > .bi {
+ transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);
+ }
+ }
+}