From a901027ab02f86a0dc6ca3472cb7b63c128a6314 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 10 Jan 2023 16:34:25 -0800 Subject: Update colored links, add new `.link-body-emphasis` helper (#37833) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Rewrite colored links to use color property again instead of --bs-link-color-rgb value because nav links and more do not set --bs-link-color-rgb * Update bundlewatch * Document it Co-authored-by: Julien Déramond --- scss/helpers/_colored-links.scss | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'scss') diff --git a/scss/helpers/_colored-links.scss b/scss/helpers/_colored-links.scss index 06c8ce412..6d3595af7 100644 --- a/scss/helpers/_colored-links.scss +++ b/scss/helpers/_colored-links.scss @@ -3,16 +3,30 @@ // 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} { - --#{$prefix}link-color-rgb: #{to-rgb($value)}; - text-decoration-color: RGBA(to-rgb($value), var(--#{$prefix}link-underline-opacity, 1)); + 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 { $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)); - --#{$prefix}link-color-rgb: #{to-rgb($hover-color)}; + 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)); + } + } +} -- cgit v1.2.3