|
1 | | -@use "../config" as *; |
| 1 | +@use "../functions" as *; |
| 2 | +@use "../mixins/tokens" as *; |
2 | 3 | @use "../mixins/transition" as *; |
3 | 4 |
|
| 5 | +$icon-link-tokens: () !default; |
| 6 | + |
| 7 | +// scss-docs-start icon-link-tokens |
| 8 | +// stylelint-disable-next-line scss/dollar-variable-default |
| 9 | +$icon-link-tokens: defaults( |
| 10 | + ( |
| 11 | + --icon-link-gap: .375rem, |
| 12 | + --icon-link-underline-offset: .25em, |
| 13 | + --icon-link-icon-size: 1em, |
| 14 | + --icon-link-icon-transition: .2s ease-in-out transform, |
| 15 | + --icon-link-icon-transform: translate3d(.25em, 0, 0), |
| 16 | + ), |
| 17 | + $icon-link-tokens |
| 18 | +); |
| 19 | +// scss-docs-end icon-link-tokens |
| 20 | + |
4 | 21 | @layer helpers { |
5 | 22 | .icon-link { |
| 23 | + @include tokens($icon-link-tokens); |
| 24 | + |
6 | 25 | display: inline-flex; |
7 | | - gap: $icon-link-gap; |
| 26 | + gap: var(--icon-link-gap); |
8 | 27 | align-items: center; |
9 | | - text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5)); |
10 | | - text-underline-offset: $icon-link-underline-offset; |
| 28 | + text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent); |
| 29 | + text-underline-offset: var(--icon-link-underline-offset); |
11 | 30 | backface-visibility: hidden; |
12 | 31 |
|
13 | 32 | > .bi { |
14 | 33 | flex-shrink: 0; |
15 | | - width: $icon-link-icon-size; |
16 | | - height: $icon-link-icon-size; |
| 34 | + width: var(--icon-link-icon-size); |
| 35 | + height: var(--icon-link-icon-size); |
17 | 36 | fill: currentcolor; |
18 | | - @include transition($icon-link-icon-transition); |
| 37 | + @include transition(var(--icon-link-icon-transition)); |
19 | 38 | } |
20 | 39 | } |
21 | 40 |
|
22 | 41 | .icon-link-hover { |
23 | 42 | &:hover, |
24 | 43 | &:focus-visible { |
25 | 44 | > .bi { |
26 | | - transform: var(--icon-link-transform, $icon-link-icon-transform); |
| 45 | + transform: var(--icon-link-transform, var(--icon-link-icon-transform)); |
27 | 46 | } |
28 | 47 | } |
29 | 48 | } |
|
0 commit comments