From cc5329a5f4d3ea91cac93bc7f9b8f943b7ced226 Mon Sep 17 00:00:00 2001 From: Volpeon Date: Wed, 22 Jul 2026 12:27:09 +0200 Subject: Paths --- src/scopes/_links.scss | 109 ++++++++++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 47 deletions(-) (limited to 'src/scopes/_links.scss') diff --git a/src/scopes/_links.scss b/src/scopes/_links.scss index 8498487..fea78f1 100644 --- a/src/scopes/_links.scss +++ b/src/scopes/_links.scss @@ -1,78 +1,79 @@ -@use 'sass:map'; -@use 'sass:meta'; -@use 'sass:string'; -@use 'pkg:iro-sass/src/bem'; -@use 'pkg:iro-sass/src/props'; -@use '../props' as *; +@use "sass:map"; +@use "sass:meta"; +@use "sass:string"; +@use "pkg:iro-sass/bem"; +@use "pkg:iro-sass/props"; +@use "../props" as *; -@forward 'links.vars'; -@use 'links.vars' as vars; +@forward "links.vars"; +@use "links.vars" as vars; @mixin styles { - @include materialize-at-root(meta.module-variables('vars')); + @include materialize-at-root(meta.module-variables("vars")); - @include bem.scope('links') { + @include bem.scope("links") { :link, :visited { - color: currentColor; - text-decoration: underline; + color: currentColor; + text-decoration: underline; text-decoration-thickness: props.get(vars.$underline-width); - text-decoration-color: props.get(vars.$underline-color); - border-radius: props.get(vars.$rounding-sm); - box-decoration-break: clone; + text-decoration-color: props.get(vars.$underline-color); + border-radius: props.get(vars.$rounding-sm); + box-decoration-break: clone; &:hover { - text-decoration: underline; + text-decoration: underline; text-decoration-thickness: props.get(vars.$hover--underline-width); - text-decoration-skip-ink: none; + text-decoration-skip-ink: none; } &:focus-visible { - color: props.get(vars.$key-focus--text-color); + color: props.get(vars.$key-focus--text-color); text-decoration: none; - outline: props.get(vars.$key-focus--border-color) solid props.get(vars.$key-focus--border-width); - box-shadow: - 0 - 0 - 0 - calc(props.get(vars.$key-focus--border-width) + props.get(vars.$key-focus--outline-width)) + outline: props.get(vars.$key-focus--border-color) solid + props.get(vars.$key-focus--border-width); + box-shadow: 0 0 0 + calc( + props.get(vars.$key-focus--border-width) + + props.get(vars.$key-focus--outline-width) + ) props.get(vars.$key-focus--outline-color); } } - @include bem.modifier('invisible') { + @include bem.modifier("invisible") { :link, :visited { text-decoration: none; } } - @include bem.modifier('colored') { + @include bem.modifier("colored") { :link { - color: props.get(vars.$colored--text-color); + color: props.get(vars.$colored--text-color); text-decoration-color: props.get(vars.$colored--underline-color); &:hover { - color: props.get(vars.$colored--hover--text-color); + color: props.get(vars.$colored--hover--text-color); } } :visited { - color: props.get(vars.$colored--visited--text-color); + color: props.get(vars.$colored--visited--text-color); text-decoration-color: props.get(vars.$colored--visited--underline-color); &:hover { - color: props.get(vars.$colored--visited--hover--text-color); + color: props.get(vars.$colored--visited--hover--text-color); } } } - @include bem.modifier('mark-external') { + @include bem.modifier("mark-external") { :link, :visited { - &[href^='http'] { + &[href^="http"] { &::after { - content: ' ↗'; + content: " ↗"; } } } @@ -82,21 +83,30 @@ @include bem.modifier(string.slice($theme, 3)) { :link, :visited { - color: props.get(vars.$static-themes, $theme, --text-color); - text-decoration-color: props.get(vars.$static-themes, $theme, --underline-color); + color: props.get(vars.$static-themes, $theme, --text-color); + text-decoration-color: props.get( + vars.$static-themes, + $theme, + --underline-color + ); &:hover { - color: props.get(vars.$static-themes, $theme, --hover, --text-color); + color: props.get(vars.$static-themes, $theme, --hover, --text-color); } &:focus-visible { - color: props.get(vars.$static-themes, $theme, --key-focus, --text-color); - outline-color: props.get(vars.$static-themes, $theme, --key-focus, --border-color); - box-shadow: - 0 - 0 - 0 - calc(props.get(vars.$key-focus--border-width) + props.get(vars.$key-focus--outline-width)) + color: props.get(vars.$static-themes, $theme, --key-focus, --text-color); + outline-color: props.get( + vars.$static-themes, + $theme, + --key-focus, + --border-color + ); + box-shadow: 0 0 0 + calc( + props.get(vars.$key-focus--border-width) + + props.get(vars.$key-focus--outline-width) + ) props.get(vars.$static-themes, $theme, --key-focus, --outline-color); } } @@ -106,21 +116,26 @@ :has(img) { img { margin-inline: calc(-1 * props.get(vars.$key-focus--border-offset)); - border: props.get(vars.$key-focus--border-offset) solid transparent; - border-radius: calc(props.get(vars.$rounding) + props.get(vars.$key-focus--border-offset)); + border: props.get(vars.$key-focus--border-offset) solid transparent; + border-radius: calc( + props.get(vars.$rounding) + props.get(vars.$key-focus--border-offset) + ); } &:link, &:visited { &:focus-visible { - outline: none; + outline: none; box-shadow: none; img { outline: props.get(vars.$key-focus--border-color) solid props.get(vars.$key-focus--border-width); box-shadow: 0 0 0 - calc(props.get(vars.$key-focus--border-width) + props.get(vars.$key-focus--outline-width)) + calc( + props.get(vars.$key-focus--border-width) + + props.get(vars.$key-focus--outline-width) + ) props.get(vars.$key-focus--outline-color); } } -- cgit v1.3.1