Skip to content

Commit 4996b3b

Browse files
authored
fix: enforce zero padding on tabsheet no-padding theme variant (#9846)
1 parent 8565976 commit 4996b3b

File tree

5 files changed

+40
-20
lines changed

5 files changed

+40
-20
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const tabSheetStyles = [
6969
}
7070
7171
:host([theme~='no-padding']) [part='content'] {
72-
padding: 0;
72+
padding: 0 !important;
7373
}
7474
`,
7575
];

packages/tabsheet/test/visual/base/tabsheet.test.js

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@ describe('tabsheet', () => {
5050
await visualDiff(div, 'no-border');
5151
});
5252

53-
it('no-padding', async () => {
54-
element.setAttribute('theme', 'no-padding');
55-
await visualDiff(div, 'no-padding');
56-
});
57-
5853
it('overflow-top', async () => {
5954
element.style.setProperty('height', '100px');
6055
element.shadowRoot.querySelector('[part="content"]').scrollBy(0, 40);
@@ -78,6 +73,24 @@ describe('tabsheet', () => {
7873
await visualDiff(div, 'loading');
7974
});
8075

76+
describe('no-padding', () => {
77+
before(() => {
78+
const contentStyles = new CSSStyleSheet();
79+
contentStyles.insertRule('vaadin-tabsheet::part(content) { padding: 20px; }');
80+
document.adoptedStyleSheets = [contentStyles];
81+
});
82+
83+
after(() => {
84+
document.adoptedStyleSheets = [];
85+
});
86+
87+
it('no-padding', async () => {
88+
element.setAttribute('theme', 'no-padding');
89+
await nextRender();
90+
await visualDiff(div, 'no-padding');
91+
});
92+
});
93+
8194
['ltr', 'rtl'].forEach((dir) => {
8295
describe(dir, () => {
8396
before(() => {
@@ -88,10 +101,8 @@ describe('tabsheet', () => {
88101
document.documentElement.removeAttribute('dir');
89102
});
90103

91-
describe(`${dir}`, () => {
92-
it('default', async () => {
93-
await visualDiff(div, `${dir}-default`);
94-
});
104+
it('default', async () => {
105+
await visualDiff(div, `${dir}-default`);
95106
});
96107
});
97108
});

packages/tabsheet/test/visual/lumo/tabsheet.test.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,27 @@ describe('tabsheet', () => {
5656
document.documentElement.removeAttribute('dir');
5757
});
5858

59-
describe(`${dir}`, () => {
60-
it('default', async () => {
61-
await visualDiff(div, `${dir}-default`);
59+
it('default', async () => {
60+
await visualDiff(div, `${dir}-default`);
61+
});
62+
63+
it('bordered', async () => {
64+
element.setAttribute('theme', 'bordered');
65+
await visualDiff(div, `${dir}-bordered`);
66+
});
67+
68+
describe('no-padding', () => {
69+
before(() => {
70+
const contentStyles = new CSSStyleSheet();
71+
contentStyles.insertRule('vaadin-tabsheet::part(content) { padding: 20px; }');
72+
document.adoptedStyleSheets = [contentStyles];
6273
});
6374

64-
it('bordered', async () => {
65-
element.setAttribute('theme', 'bordered');
66-
await visualDiff(div, `${dir}-bordered`);
75+
after(() => {
76+
document.adoptedStyleSheets = [];
6777
});
6878

69-
// prettier-ignore
70-
it('no-padding', async () => { // NOSONAR
79+
it('no-padding', async () => {
7180
element.setAttribute('theme', 'no-padding');
7281
await visualDiff(div, `${dir}-no-padding`);
7382
});

packages/tabsheet/theme/lumo/vaadin-tabsheet-styles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const tabsheet = css`
4040
}
4141
4242
:host([theme~='no-padding']) [part='content'] {
43-
padding: 0;
43+
padding: 0 !important;
4444
}
4545
`;
4646

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,6 @@
5454
}
5555

5656
:host([theme~='no-padding']) [part='content'] {
57-
padding: 0;
57+
padding: 0 !important;
5858
}
5959
}

0 commit comments

Comments
 (0)