Skip to content

Commit bca6ef8

Browse files
authored
feat: set up infra, port button Lumo styles to CSS files (#9245)
1 parent 29fe614 commit bca6ef8

33 files changed

+1329
-36
lines changed

.github/workflows/visual-tests.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,35 @@ jobs:
7979
path: |
8080
packages/*/test/visual/lumo/screenshots/*/failed/*.png
8181
packages/vaadin-lumo-styles/test/visual/screenshots/failed/*.png
82+
lumo-ported:
83+
name: Lumo (CSS files)
84+
runs-on: ubuntu-latest
85+
if: github.repository_owner == 'vaadin'
86+
87+
steps:
88+
- uses: actions/checkout@v4
89+
with:
90+
fetch-depth: '0'
91+
92+
- name: Setup Node
93+
uses: actions/setup-node@v4
94+
with:
95+
node-version: '22'
96+
cache: 'yarn'
97+
98+
- name: Install Dependencies
99+
run: yarn --frozen-lockfile --no-progress --non-interactive
100+
101+
- name: Visual tests
102+
env:
103+
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
104+
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
105+
run: yarn test:lumo --ported
106+
107+
- uses: actions/upload-artifact@v4
108+
if: ${{ failure() }}
109+
with:
110+
name: screenshots
111+
path: |
112+
packages/*/test/visual/lumo/screenshots/*/failed/*.png
113+
packages/vaadin-lumo-styles/test/visual/screenshots/failed/*.png

dev/button.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import '@vaadin/icon';
1818
import '@vaadin/icons';
1919
import '@vaadin/tooltip';
20+
import '@vaadin/vaadin-lumo-styles/lumo.css';
2021
import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js';
2122
</script>
2223
</head>

dev/icon.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import '@vaadin/icon';
1212
import '@vaadin/icons/vaadin-iconset.js';
1313
import '@vaadin/vaadin-lumo-styles/font-icons.js';
14+
import '@vaadin/vaadin-lumo-styles/lumo.css';
1415
import '@vaadin/tooltip';
1516
import { Iconset } from '@vaadin/icon/vaadin-iconset.js';
1617

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"prepare": "husky",
2020
"serve:dist": "web-dev-server --app-index dist/index.html --open",
2121
"start": "web-dev-server --node-resolve --open /dev",
22-
"start:base": "web-dev-server --node-resolve --open /dev --base",
22+
"start:base": "web-dev-server --node-resolve --open /dev --theme=base",
2323
"check-releases": "node ./scripts/check-releases.js && web-dev-server --node-resolve --open /scripts/check-releases.html",
2424
"test": "web-test-runner",
2525
"test:base": "yarn test --config web-test-runner-base.config.js",

packages/button/src/vaadin-button.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
88
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
99
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
1010
import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';
11+
import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
1112
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
1213
import { buttonStyles } from './vaadin-button-core-styles.js';
1314
import { ButtonMixin } from './vaadin-button-mixin.js';
@@ -46,7 +47,7 @@ import { ButtonMixin } from './vaadin-button-mixin.js';
4647
* @mixes ElementMixin
4748
* @mixes ThemableMixin
4849
*/
49-
class Button extends ButtonMixin(ElementMixin(ThemableMixin(PolylitMixin(LitElement)))) {
50+
class Button extends ButtonMixin(ElementMixin(CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))) {
5051
static get is() {
5152
return 'vaadin-button';
5253
}

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import { resetMouse, sendKeys, sendMouseToElement } from '@vaadin/test-runner-commands';
22
import { fixtureSync, mousedown } from '@vaadin/testing-helpers';
33
import { visualDiff } from '@web/test-runner-visual-regression';
4-
import '@vaadin/icon/theme/lumo/vaadin-icon.js';
4+
import '@vaadin/vaadin-lumo-styles/props.css';
5+
import '@vaadin/vaadin-lumo-styles/components/button.css';
56
import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js';
6-
import '../../../theme/lumo/vaadin-button.js';
7+
import '@vaadin/icon';
8+
import '../../../vaadin-button.js';
79

810
describe('button', () => {
911
let div, element;

packages/icon/src/vaadin-icon.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
99
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
1010
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
1111
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
12+
import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
1213
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
1314
import { IconMixin } from './vaadin-icon-mixin.js';
1415
import { iconStyles } from './vaadin-icon-styles.js';
@@ -58,7 +59,7 @@ import { iconStyles } from './vaadin-icon-styles.js';
5859
* @mixes ThemableMixin
5960
* @mixes ElementMixin
6061
*/
61-
class Icon extends IconMixin(ElementMixin(ThemableMixin(PolylitMixin(LitElement)))) {
62+
class Icon extends IconMixin(ElementMixin(CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))) {
6263
static get is() {
6364
return 'vaadin-icon';
6465
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
import '../../../theme/lumo/vaadin-icon.js';
1+
import '../../../vaadin-icon.js';
22
import '../icon.common.js';
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* @license
3+
* Copyright (c) 2017 - 2025 Vaadin Ltd.
4+
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5+
*/
6+
@import './components/button.css';
7+
@import './components/icon.css';
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @license
3+
* Copyright (c) 2017 - 2025 Vaadin Ltd.
4+
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5+
*/
6+
@import '../src/mixins/base-layer-reset.css' vaadin-button;
7+
@import '../src/components/button.css' vaadin-button;
8+
9+
html {
10+
--vaadin-button-css-inject: 1;
11+
}

0 commit comments

Comments
 (0)