Skip to content

Commit 6588d96

Browse files
authored
fix: use iron-icon specific styles for vaadin-icon (#2117)
1 parent 44b3356 commit 6588d96

File tree

20 files changed

+57
-708
lines changed

20 files changed

+57
-708
lines changed

packages/vaadin-app-layout/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
<vaadin-tabs orientation="vertical" slot="drawer">
2121
<vaadin-tab>
2222
<a href="/profile">
23-
<iron-icon icon="lumo:user"></iron-icon>
23+
<vaadin-icon icon="lumo:user"></vaadin-icon>
2424
Profile
2525
</a>
2626
</vaadin-tab>
2727
<vaadin-tab>
2828
<a href="/contact">
29-
<iron-icon icon="lumo:phone"></iron-icon>
29+
<vaadin-icon icon="lumo:phone"></vaadin-icon>
3030
Contact
3131
</a>
3232
</vaadin-tab>

packages/vaadin-button/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
},
3535
"devDependencies": {
3636
"@esm-bundle/chai": "^4.1.5",
37-
"@polymer/iron-icon": "^3.0.0",
37+
"@vaadin/vaadin-icon": "^21.0.0-alpha6",
3838
"@vaadin/testing-helpers": "^0.2.1",
3939
"sinon": "^9.2.4"
4040
},

packages/vaadin-button/test/visual/lumo/button.test.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { fixtureSync } from '@vaadin/testing-helpers/dist/fixture.js';
22
import { visualDiff } from '@web/test-runner-visual-regression';
3-
import '@polymer/iron-icon/iron-icon.js';
4-
import '@vaadin/vaadin-lumo-styles/icons.js';
3+
import '@vaadin/vaadin-icon/theme/lumo/vaadin-icon.js';
4+
import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js';
55
import '../../../theme/lumo/vaadin-button.js';
66

77
describe('button', () => {
@@ -118,7 +118,7 @@ describe('button', () => {
118118
let icon;
119119

120120
beforeEach(() => {
121-
icon = document.createElement('iron-icon');
121+
icon = document.createElement('vaadin-icon');
122122
icon.setAttribute('icon', 'lumo:edit');
123123
icon.setAttribute('slot', 'prefix');
124124
element.appendChild(icon);
@@ -143,7 +143,7 @@ describe('button', () => {
143143
let icon;
144144

145145
beforeEach(() => {
146-
icon = document.createElement('iron-icon');
146+
icon = document.createElement('vaadin-icon');
147147
icon.setAttribute('icon', 'lumo:arrow-right');
148148
icon.setAttribute('slot', 'suffix');
149149
element.appendChild(icon);
@@ -169,7 +169,7 @@ describe('button', () => {
169169

170170
beforeEach(() => {
171171
element.textContent = '';
172-
icon = document.createElement('iron-icon');
172+
icon = document.createElement('vaadin-icon');
173173
icon.setAttribute('icon', 'lumo:plus');
174174
icon.setAttribute('slot', 'prefix');
175175
element.appendChild(icon);

packages/vaadin-button/test/visual/material/button.test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { fixtureSync } from '@vaadin/testing-helpers/dist/fixture.js';
22
import { visualDiff } from '@web/test-runner-visual-regression';
3-
import '@polymer/iron-icon/iron-icon.js';
4-
import '@vaadin/vaadin-lumo-styles/icons.js';
3+
import '@vaadin/vaadin-icon/theme/material/vaadin-icon.js';
4+
import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js';
55
import '../../../theme/material/vaadin-button.js';
66

77
describe('button', () => {
@@ -49,7 +49,7 @@ describe('button', () => {
4949
let icon;
5050

5151
beforeEach(() => {
52-
icon = document.createElement('iron-icon');
52+
icon = document.createElement('vaadin-icon');
5353
icon.setAttribute('icon', 'lumo:plus');
5454
});
5555

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,13 +233,15 @@ registerStyles(
233233
234234
/* Icons */
235235
236+
[part] ::slotted(vaadin-icon),
236237
[part] ::slotted(iron-icon) {
237238
display: inline-block;
238239
width: var(--lumo-icon-size-m);
239240
height: var(--lumo-icon-size-m);
240241
}
241242
242243
/* Vaadin icons are based on a 16x16 grid (unlike Lumo and Material icons with 24x24), so they look too big by default */
244+
[part] ::slotted(vaadin-icon[icon^='vaadin:']),
243245
[part] ::slotted(iron-icon[icon^='vaadin:']) {
244246
padding: 0.25em;
245247
box-sizing: border-box !important;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,17 +124,20 @@ registerStyles(
124124
125125
/* Icon alignment */
126126
127+
[part] ::slotted(vaadin-icon),
127128
[part] ::slotted(iron-icon) {
128129
display: block;
129130
width: 18px;
130131
height: 18px;
131132
}
132133
134+
[part='prefix'] ::slotted(vaadin-icon),
133135
[part='prefix'] ::slotted(iron-icon) {
134136
margin-right: 8px;
135137
margin-left: -4px;
136138
}
137139
140+
[part='suffix'] ::slotted(vaadin-icon),
138141
[part='suffix'] ::slotted(iron-icon) {
139142
margin-left: 8px;
140143
margin-right: -4px;
@@ -161,11 +164,13 @@ registerStyles(
161164
transform: translate(50%, -50%) scale(1);
162165
}
163166
167+
:host([dir='rtl']) [part='prefix'] ::slotted(vaadin-icon),
164168
:host([dir='rtl']) [part='prefix'] ::slotted(iron-icon) {
165169
margin-right: -4px;
166170
margin-left: 8px;
167171
}
168172
173+
:host([dir='rtl']) [part='suffix'] ::slotted(vaadin-icon),
169174
:host([dir='rtl']) [part='suffix'] ::slotted(iron-icon) {
170175
margin-left: -4px;
171176
margin-right: 8px;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ registerStyles(
44
'vaadin-icon',
55
css`
66
:host {
7-
width: 18px;
8-
height: 18px;
7+
width: 24px;
8+
height: 24px;
99
}
1010
`,
1111
{ moduleId: 'material-icon' }

0 commit comments

Comments
 (0)