summaryrefslogtreecommitdiffstats
path: root/src/styles/components/_logo.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/styles/components/_logo.scss')
-rw-r--r--src/styles/components/_logo.scss81
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}