Skip to content

Commit ed4c483

Browse files
authored
fix: do not apply checkbox readonly background when disabled (#7733) (#7739)
1 parent e187de6 commit ed4c483

File tree

8 files changed

+29
-5
lines changed

8 files changed

+29
-5
lines changed

packages/checkbox/test/visual/lumo/checkbox.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,18 @@ describe('checkbox', () => {
9191
element.required = true;
9292
await visualDiff(div, 'disabled-required');
9393
});
94+
95+
it('readonly checked', async () => {
96+
element.readonly = true;
97+
element.checked = true;
98+
await visualDiff(div, 'disabled-readonly-checked');
99+
});
100+
101+
it('readonly indeterminate', async () => {
102+
element.readonly = true;
103+
element.indeterminate = true;
104+
await visualDiff(div, 'disabled-readonly-indeterminate');
105+
});
94106
});
95107

96108
describe('readonly', () => {

packages/checkbox/test/visual/material/checkbox.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,18 @@ describe('checkbox', () => {
109109
element.required = true;
110110
await visualDiff(div, 'disabled-required');
111111
});
112+
113+
it('readonly checked', async () => {
114+
element.readonly = true;
115+
element.checked = true;
116+
await visualDiff(div, 'disabled-readonly-checked');
117+
});
118+
119+
it('readonly indeterminate', async () => {
120+
element.readonly = true;
121+
element.indeterminate = true;
122+
await visualDiff(div, 'disabled-readonly-indeterminate');
123+
});
112124
});
113125

114126
describe('RTL', () => {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ registerStyles(
164164
background-color: var(--lumo-contrast-30pct);
165165
}
166166
167-
:host([readonly][checked]) [part='checkbox'],
168-
:host([readonly][indeterminate]) [part='checkbox'] {
167+
:host([readonly][checked]:not([disabled])) [part='checkbox'],
168+
:host([readonly][indeterminate]:not([disabled])) [part='checkbox'] {
169169
background-color: var(--vaadin-checkbox-readonly-checked-background, var(--lumo-contrast-70pct));
170170
}
171171

packages/checkbox/theme/material/vaadin-checkbox-styles.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,9 @@ registerStyles(
124124
background-color: var(--material-disabled-color);
125125
}
126126
127-
:host([readonly][checked]) [part='checkbox'],
128-
:host([readonly][indeterminate]) [part='checkbox'],
129-
:host([readonly]) [part='checkbox']::before {
127+
:host([readonly][checked]:not([disabled])) [part='checkbox'],
128+
:host([readonly][indeterminate]:not([disabled])) [part='checkbox'],
129+
:host([readonly]:not([disabled])) [part='checkbox']::before {
130130
background-color: var(--material-secondary-text-color);
131131
}
132132

0 commit comments

Comments
 (0)