diff options
Diffstat (limited to 'src/styles/components/_logo.scss')
| -rw-r--r-- | src/styles/components/_logo.scss | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/styles/components/_logo.scss b/src/styles/components/_logo.scss new file mode 100644 index 0000000..3450817 --- /dev/null +++ b/src/styles/components/_logo.scss | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | @use "sass:map"; | ||
| 2 | @use "sass:string"; | ||
| 3 | |||
| 4 | @use "pkg:iro-sass/bem"; | ||
| 5 | @use "pkg:iro-sass/props"; | ||
| 6 | @use "pkg:iro-design" as iro; | ||
| 7 | |||
| 8 | @mixin styles { | ||
| 9 | @include bem.component("logo") { | ||
| 10 | display: block; | ||
| 11 | padding: props.get(iro.$core--size--50); | ||
| 12 | margin-inline: calc(-1 * props.get(iro.$core--size--50)); | ||
| 13 | border-radius: props.get(iro.$s-links--rounding); | ||
| 14 | color: props.get(iro.$core--theme, --heading); | ||
| 15 | |||
| 16 | &:link, | ||
| 17 | &:visited { | ||
| 18 | &:hover { | ||
| 19 | text-decoration: none; | ||
| 20 | color: props.get(iro.$core--theme, --text-mute); | ||
| 21 | } | ||
| 22 | |||
| 23 | &:focus-visible { | ||
| 24 | color: props.get(iro.$s-links--key-focus--text-color); | ||
| 25 | text-decoration: none; | ||
| 26 | outline: props.get(iro.$s-links--key-focus--border-color) solid | ||
| 27 | props.get(iro.$s-links--key-focus--border-width); | ||
| 28 | box-shadow: 0 0 0 | ||
| 29 | calc( | ||
| 30 | props.get(iro.$s-links--key-focus--border-width) + | ||
| 31 | props.get(iro.$s-links--key-focus--outline-width) | ||
| 32 | ) | ||
| 33 | props.get(iro.$s-links--key-focus--outline-color); | ||
| 34 | } | ||
| 35 | } | ||
| 36 | |||
| 37 | @include bem.elem("img") { | ||
| 38 | display: block; | ||
| 39 | block-size: 1.7em; | ||
| 40 | aspect-ratio: 2700 / 600; | ||
| 41 | } | ||
| 42 | |||
| 43 | @include bem.modifier("sm") { | ||
| 44 | @include bem.elem("img") { | ||
| 45 | aspect-ratio: 600 / 600; | ||
| 46 | } | ||
| 47 | } | ||
| 48 | |||
| 49 | @include bem.modifier("lg") { | ||
| 50 | @include bem.elem("img") { | ||
| 51 | block-size: 2em; | ||
| 52 | } | ||
| 53 | } | ||
| 54 | |||
| 55 | @each $theme in map.keys(props.get(iro.$core--transparent-colors)) { | ||
| 56 | $logo-theme: static-#{string.slice($theme, 3)}; | ||
| 57 | |||
| 58 | @include bem.modifier($logo-theme) { | ||
| 59 | color: props.get(iro.$core--transparent-colors, $theme, --900); | ||
| 60 | |||
| 61 | &:link, | ||
| 62 | &:visited { | ||
| 63 | &:hover { | ||
| 64 | color: props.get(iro.$core--transparent-colors, $theme, --800); | ||
| 65 | } | ||
| 66 | |||
| 67 | &:focus-visible { | ||
| 68 | color: props.get(iro.$core--transparent-colors, $theme, --900); | ||
| 69 | outline-color: props.get(iro.$core--transparent-colors, $theme, --900); | ||
| 70 | box-shadow: 0 0 0 | ||
| 71 | calc( | ||
| 72 | props.get(iro.$s-links--key-focus--border-width) + | ||
| 73 | props.get(iro.$s-links--key-focus--outline-width) | ||
| 74 | ) | ||
| 75 | props.get(iro.$core--transparent-colors, $theme, --300); | ||
| 76 | } | ||
| 77 | } | ||
| 78 | } | ||
| 79 | } | ||
| 80 | } | ||
| 81 | } | ||
