summaryrefslogtreecommitdiffstats
path: root/src/objects/_card.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/objects/_card.scss')
-rw-r--r--src/objects/_card.scss45
1 files changed, 34 insertions, 11 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss
index 6b80e2f..e80df2c 100644
--- a/src/objects/_card.scss
+++ b/src/objects/_card.scss
@@ -14,12 +14,11 @@
14 position: relative; 14 position: relative;
15 display: flex; 15 display: flex;
16 flex-direction: column; 16 flex-direction: column;
17 background-clip: content-box;
18 background-color: props.get(vars.$bg-color); 17 background-color: props.get(vars.$bg-color);
19 border: props.get(vars.$border-width) solid transparent; 18 border: props.get(vars.$border-width) solid transparent;
20 border-color: props.get(vars.$border-color); 19 border-color: props.get(vars.$border-color);
21 border-radius: props.get(vars.$rounding); 20 border-radius: props.get(vars.$rounding);
22 transition: transform .2s, background-color .2s, border-color .2s; 21 transition: transform .2s, background-color .2s, border-color .2s, box-shadow .2s;
23 22
24 @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { 23 @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') {
25 &:hover, 24 &:hover,
@@ -28,6 +27,7 @@
28 transform: translateY(props.get(vars.$hover--offset-b)); 27 transform: translateY(props.get(vars.$hover--offset-b));
29 background-color: props.get(vars.$hover--bg-color); 28 background-color: props.get(vars.$hover--bg-color);
30 border-color: props.get(vars.$hover--border-color); 29 border-color: props.get(vars.$hover--border-color);
30 box-shadow: none;
31 } 31 }
32 32
33 &:focus-visible { 33 &:focus-visible {
@@ -42,19 +42,44 @@
42 } 42 }
43 } 43 }
44 44
45 @include bem.modifier('borderless') {
46 border-color: props.get(vars.$bg-color);
47 }
48
49 @include bem.modifier('shadow') {
50 box-shadow:
51 props.get(vars.$shadow-x)
52 props.get(vars.$shadow-y)
53 props.get(vars.$shadow-blur)
54 props.get(vars.$shadow-grow)
55 props.get(vars.$shadow-color);
56
57 @include bem.modifier('quiet') {
58 @include bem.elem('image') {
59 box-shadow:
60 props.get(vars.$shadow-x)
61 props.get(vars.$shadow-y)
62 props.get(vars.$shadow-blur)
63 props.get(vars.$shadow-grow)
64 props.get(vars.$shadow-color);
65 }
66 }
67 }
68
45 @include bem.elem('avatar') { 69 @include bem.elem('avatar') {
46 margin-block-start: props.get(vars.$pad-b); 70 margin-block-start: props.get(vars.$pad-b);
47 margin-inline-start: props.get(vars.$pad-i); 71 margin-inline-start: props.get(vars.$pad-i);
48 } 72 }
49 73
50 @include bem.elem('image') { 74 @include bem.elem('image') {
51 position: relative; 75 position: relative;
52 display: block; 76 display: block;
53 flex: 0 0 auto; 77 flex: 0 0 auto;
54 inline-size: 100%; 78 inline-size: calc(100% + 2 * props.get(vars.$border-width));
55 overflow: hidden; 79 margin: calc(-1 * props.get(vars.$border-width));
56 object-fit: cover; 80 overflow: hidden;
57 transition: background-color .2s, transform .2s, opacity .2s; 81 object-fit: cover;
82 transition: background-color .2s, transform .2s, opacity .2s;
58 83
59 &:first-child { 84 &:first-child {
60 border-start-start-radius: calc(props.get(vars.$rounding) - props.get(vars.$border-width)); 85 border-start-start-radius: calc(props.get(vars.$rounding) - props.get(vars.$border-width));
@@ -179,8 +204,6 @@
179 204
180 @include bem.modifier('thumbnail') { 205 @include bem.modifier('thumbnail') {
181 @include bem.elem('image') { 206 @include bem.elem('image') {
182 inline-size: calc(100% + 2 * props.get(vars.$border-width));
183 margin: calc(-1 * props.get(vars.$border-width));
184 border-radius: props.get(vars.$rounding); 207 border-radius: props.get(vars.$rounding);
185 } 208 }
186 209