Skip to content

Commit 7cb8551

Browse files
vaadin-botweb-padawanjouni
authored
fix: use correct width for horizontal elevated card media (#11283) (#11293)
Co-authored-by: Serhii Kulykov <iamkulykov@gmail.com> Co-authored-by: Jouni Koivuviita <jouni@vaadin.com>
1 parent a6d35fc commit 7cb8551

File tree

8 files changed

+42
-4
lines changed

8 files changed

+42
-4
lines changed

packages/aura/src/components/card.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ vaadin-card[theme~='cover-media'] [slot='media']:is(img, video, svg, vaadin-icon
2828
/* TODO relies on internal API - should refactor base styles to support this (background-clip: padding-box) */
2929
margin-inline: calc((var(--_padding) + var(--vaadin-card-border-width)) * -1);
3030
margin-top: calc((var(--_padding) + var(--vaadin-card-border-width)) * -1);
31-
width: calc(100% + (var(--_padding) + var(--vaadin-card-border-width)) * 2);
31+
width: calc(var(--_media-width) + var(--vaadin-card-border-width) * 2);
32+
}
33+
34+
vaadin-card[theme~='cover-media'][theme~='horizontal'] [slot='media']:is(img, video, svg, vaadin-icon) {
35+
height: calc(100% + (var(--_padding) + var(--vaadin-card-border-width)) * 2);
3236
}
3337

3438
vaadin-card[theme~='elevated'] {

packages/card/src/styles/vaadin-card-base-styles.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,22 @@ export const cardStyles = css`
229229
height: 100%;
230230
}
231231
232+
:host([theme~='cover-media']) {
233+
--_media-width: calc(100% + var(--_padding) * 2);
234+
}
235+
236+
:host([theme~='horizontal'][theme~='cover-media']) {
237+
--_media-width: calc(100% + var(--_padding));
238+
}
239+
232240
:host([theme~='cover-media']) ::slotted([slot='media']:is(img, video, svg, vaadin-icon)) {
233241
border-radius: inherit;
234242
border-end-end-radius: 0;
235243
border-end-start-radius: 0;
236244
margin-inline: calc(var(--_padding) * -1);
237245
margin-top: calc(var(--_padding) * -1);
238246
max-width: none;
239-
width: calc(100% + var(--_padding) * 2);
247+
width: var(--_media-width);
240248
}
241249
242250
:host([theme~='horizontal'][theme~='cover-media']) ::slotted([slot='media']:is(img, video, svg, vaadin-icon)) {
@@ -245,7 +253,6 @@ export const cardStyles = css`
245253
border-start-end-radius: 0;
246254
height: calc(100% + var(--_padding) * 2);
247255
margin-inline-end: 0;
248-
width: calc(100% + var(--_padding));
249256
}
250257
251258
/* Scroller in content */

packages/card/test/visual/aura/card.test.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,14 @@ describe('card', () => {
8888
element = mediaFixture(false, 'cover-media');
8989
await visualDiff(div, 'cover-media-icon');
9090
});
91+
92+
it('cover-media-elevated-horizontal', async () => {
93+
element = mediaFixture(true, 'cover-media elevated horizontal');
94+
await new Promise((resolve) => {
95+
element.querySelector('img').onload = async () => {
96+
await visualDiff(div, 'cover-media-elevated-horizontal');
97+
resolve();
98+
};
99+
});
100+
});
91101
});
37.7 KB
Loading
33.8 KB
Loading

packages/card/test/visual/lumo/card.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,18 @@ describe('card', () => {
209209
};
210210
});
211211
});
212+
213+
it('horizontal-elevated-cover-media', async () => {
214+
element = fixtureSync(complexCard, div);
215+
element.setAttribute('theme', 'horizontal elevated cover-media');
216+
element.style.setProperty('width', '400px');
217+
await new Promise((resolve) => {
218+
element.querySelector('img').onload = async () => {
219+
await visualDiff(div, 'theme-horizontal-elevated-media-cover');
220+
resolve();
221+
};
222+
});
223+
});
212224
});
213225

214226
describe('custom properties', () => {
34.1 KB
Loading

packages/vaadin-lumo-styles/src/components/card.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@
3333
:host([theme~='elevated'][theme~='cover-media']) ::slotted([slot='media']:is(img, video, svg, vaadin-icon)) {
3434
margin-top: calc((var(--_padding) + var(--vaadin-card-border-width)) * -1);
3535
margin-inline: calc((var(--_padding) + var(--vaadin-card-border-width)) * -1);
36-
width: calc(100% + (var(--_padding) + var(--vaadin-card-border-width)) * 2);
36+
width: calc(var(--_media-width) + var(--vaadin-card-border-width) * 2);
37+
}
38+
39+
:host([theme~='elevated'][theme~='horizontal'][theme~='cover-media'])
40+
::slotted([slot='media']:is(img, video, svg, vaadin-icon)) {
41+
height: calc(100% + (var(--_padding) + var(--vaadin-card-border-width)) * 2);
3742
}
3843
}

0 commit comments

Comments
 (0)