summaryrefslogtreecommitdiffstats
path: root/src/objects/_card.scss
diff options
context:
space:
mode:
authorVolpeon <git@volpeon.ink>2025-07-21 16:03:52 +0200
committerVolpeon <git@volpeon.ink>2025-07-21 16:03:52 +0200
commit943ee062fe2c0344165e28f4d612176878159133 (patch)
treeb4eaead4e789ec1e5d0994576901ef038d65210e /src/objects/_card.scss
parentfix var names (diff)
downloadiro-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.scss47
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 }