diff options
author | Volpeon <git@volpeon.ink> | 2025-07-21 16:03:52 +0200 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2025-07-21 16:03:52 +0200 |
commit | 943ee062fe2c0344165e28f4d612176878159133 (patch) | |
tree | b4eaead4e789ec1e5d0994576901ef038d65210e /src/objects/_card.scss | |
parent | fix var names (diff) | |
download | iro-design-943ee062fe2c0344165e28f4d612176878159133.tar.gz iro-design-943ee062fe2c0344165e28f4d612176878159133.tar.bz2 iro-design-943ee062fe2c0344165e28f4d612176878159133.zip |
Consolidating button, action-button and badge; change design to have some 3D components
Diffstat (limited to 'src/objects/_card.scss')
-rw-r--r-- | src/objects/_card.scss | 47 |
1 files changed, 32 insertions, 15 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss index c87e676..9f70420 100644 --- a/src/objects/_card.scss +++ b/src/objects/_card.scss | |||
@@ -14,12 +14,18 @@ | |||
14 | position: relative; | 14 | position: relative; |
15 | display: flex; | 15 | display: flex; |
16 | flex-direction: column; | 16 | flex-direction: column; |
17 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); | ||
18 | background-color: props.get(vars.$bg-color); | 17 | background-color: props.get(vars.$bg-color); |
19 | background-clip: content-box; | 18 | background-clip: content-box; |
20 | border: props.get(vars.$key-focus--border-offset) solid transparent; | 19 | border: 1px solid transparent; |
21 | border-radius: calc(props.get(vars.$rounding) + props.get(vars.$key-focus--border-offset)); | 20 | border-color: props.get(vars.$border-color); |
21 | border-radius: props.get(vars.$rounding); | ||
22 | transition: transform .2s; | 22 | transition: transform .2s; |
23 | box-shadow: | ||
24 | props.get(vars.$shadow-x) | ||
25 | props.get(vars.$shadow-y) | ||
26 | props.get(vars.$shadow-blur) | ||
27 | props.get(vars.$shadow-grow) | ||
28 | props.get(vars.$shadow-color); | ||
23 | 29 | ||
24 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { | 30 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { |
25 | &:hover, | 31 | &:hover, |
@@ -39,7 +45,10 @@ | |||
39 | } | 45 | } |
40 | 46 | ||
41 | &:focus-visible { | 47 | &:focus-visible { |
42 | outline: props.get(vars.$key-focus--border-color) solid props.get(vars.$key-focus--border-width); | 48 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); |
49 | border: props.get(vars.$key-focus--border-offset) solid transparent; | ||
50 | border-radius: calc(props.get(vars.$rounding) + props.get(vars.$key-focus--border-offset)); | ||
51 | outline: props.get(vars.$key-focus--border-color) solid props.get(vars.$key-focus--border-width); | ||
43 | box-shadow: | 52 | box-shadow: |
44 | 0 | 53 | 0 |
45 | 0 | 54 | 0 |
@@ -64,13 +73,13 @@ | |||
64 | transition: background-color .2s, transform .2s, opacity .2s; | 73 | transition: background-color .2s, transform .2s, opacity .2s; |
65 | 74 | ||
66 | &:first-child { | 75 | &:first-child { |
67 | border-start-start-radius: props.get(vars.$rounding); | 76 | border-start-start-radius: calc(props.get(vars.$rounding) - 1px); |
68 | border-start-end-radius: props.get(vars.$rounding); | 77 | border-start-end-radius: calc(props.get(vars.$rounding) - 1px); |
69 | } | 78 | } |
70 | 79 | ||
71 | &:last-child { | 80 | &:last-child { |
72 | border-end-start-radius: props.get(vars.$rounding); | 81 | border-end-start-radius: calc(props.get(vars.$rounding) - 1px); |
73 | border-end-end-radius: props.get(vars.$rounding); | 82 | border-end-end-radius: calc(props.get(vars.$rounding) - 1px); |
74 | } | 83 | } |
75 | 84 | ||
76 | @include bem.next-elem('avatar') { | 85 | @include bem.next-elem('avatar') { |
@@ -119,8 +128,8 @@ | |||
119 | visibility 0s .2s linear; | 128 | visibility 0s .2s linear; |
120 | 129 | ||
121 | @include bem.next-elem('image') { | 130 | @include bem.next-elem('image') { |
122 | border-start-start-radius: props.get(vars.$rounding); | 131 | border-start-start-radius: calc(props.get(vars.$rounding) - 1px); |
123 | border-start-end-radius: props.get(vars.$rounding); | 132 | border-start-end-radius: calc(props.get(vars.$rounding) - 1px); |
124 | } | 133 | } |
125 | } | 134 | } |
126 | } | 135 | } |
@@ -148,6 +157,7 @@ | |||
148 | margin-inline: 0; | 157 | margin-inline: 0; |
149 | background-color: transparent; | 158 | background-color: transparent; |
150 | border: 0; | 159 | border: 0; |
160 | box-shadow: none; | ||
151 | 161 | ||
152 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { | 162 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { |
153 | &:hover, | 163 | &:hover, |
@@ -173,6 +183,9 @@ | |||
173 | box-shadow: none; | 183 | box-shadow: none; |
174 | 184 | ||
175 | @include bem.elem('image') { | 185 | @include bem.elem('image') { |
186 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); | ||
187 | border: props.get(vars.$key-focus--border-offset) solid transparent; | ||
188 | border-radius: calc(props.get(vars.$rounding) + props.get(vars.$key-focus--border-offset)); | ||
176 | background-color: props.get(vars.$quiet--hover--image-color); | 189 | background-color: props.get(vars.$quiet--hover--image-color); |
177 | outline: props.get(vars.$key-focus--border-color) solid props.get(vars.$key-focus--border-width); | 190 | outline: props.get(vars.$key-focus--border-color) solid props.get(vars.$key-focus--border-width); |
178 | box-shadow: | 191 | box-shadow: |
@@ -188,11 +201,15 @@ | |||
188 | 201 | ||
189 | @include bem.elem('image') { | 202 | @include bem.elem('image') { |
190 | position: relative; | 203 | position: relative; |
191 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); | ||
192 | background-color: props.get(vars.$quiet--image-color); | 204 | background-color: props.get(vars.$quiet--image-color); |
193 | background-clip: padding-box; | 205 | background-clip: padding-box; |
194 | border: props.get(vars.$key-focus--border-offset) solid transparent; | 206 | border-radius: props.get(vars.$rounding); |
195 | border-radius: calc(props.get(vars.$rounding) + props.get(vars.$key-focus--border-offset)); | 207 | box-shadow: |
208 | props.get(vars.$shadow-x) | ||
209 | props.get(vars.$shadow-y) | ||
210 | props.get(vars.$shadow-blur) | ||
211 | props.get(vars.$shadow-grow) | ||
212 | props.get(vars.$shadow-color); | ||
196 | } | 213 | } |
197 | 214 | ||
198 | @include bem.elem('body') { | 215 | @include bem.elem('body') { |
@@ -220,11 +237,11 @@ | |||
220 | 237 | ||
221 | &:first-child { | 238 | &:first-child { |
222 | border-start-end-radius: 0; | 239 | border-start-end-radius: 0; |
223 | border-end-start-radius: props.get(vars.$rounding); | 240 | border-end-start-radius: calc(props.get(vars.$rounding) - 1px); |
224 | } | 241 | } |
225 | 242 | ||
226 | &:last-child { | 243 | &:last-child { |
227 | border-start-end-radius: props.get(vars.$rounding); | 244 | border-start-end-radius: calc(props.get(vars.$rounding) - 1px); |
228 | border-end-start-radius: 0; | 245 | border-end-start-radius: 0; |
229 | } | 246 | } |
230 | } | 247 | } |