Skip to content

Replace ThemableTextField's vaadin-text-field backing with a faux element#24440

Draft
Artur- wants to merge 1 commit into
mainfrom
drop-themable-text-field
Draft

Replace ThemableTextField's vaadin-text-field backing with a faux element#24440
Artur- wants to merge 1 commit into
mainfrom
drop-themable-text-field

Conversation

@Artur-
Copy link
Copy Markdown
Member

@Artur- Artur- commented May 25, 2026

ThemableTextField is a test-only wrapper used by two ITs that exercise Flow's per-component CSS machinery (a CSS file at
theme/components/.css, and @CssImport(themeFor=)). Both mechanisms target a specific custom-element tag name and inject styles into its shadow DOM; the actual vaadin-text-field was incidental.

Drop the @NpmPackage("@vaadin/text-field") and back ThemableTextField with a small hand-rolled custom element ("themable-input") whose shadow DOM reproduces the structure the ITs walk (div.vaadin-field-container > vaadin-input-container[part=input-field]). Update the per-component CSS path in ComponentThemeLiveReloadIT and the themeFor value in vite-basics' MainView to match the new tag.

Net effect: identical test coverage of Flow's per-component CSS pipeline and live-reload, without depending on a Vaadin web component. Part of removing TestVersion.VAADIN usages.

…ment

ThemableTextField is a test-only wrapper used by two ITs that exercise
Flow's per-component CSS machinery (a CSS file at
theme/components/<tag>.css, and @CssImport(themeFor=<tag>)). Both
mechanisms target a specific custom-element tag name and inject styles
into its shadow DOM; the actual vaadin-text-field was incidental.

Drop the @NpmPackage("@vaadin/text-field") and back ThemableTextField
with a small hand-rolled custom element ("themable-input") whose shadow
DOM reproduces the structure the ITs walk (div.vaadin-field-container >
vaadin-input-container[part=input-field]). Update the per-component CSS
path in ComponentThemeLiveReloadIT and the themeFor value in
vite-basics' MainView to match the new tag.

Net effect: identical test coverage of Flow's per-component CSS pipeline
and live-reload, without depending on a Vaadin web component. Part of
removing TestVersion.VAADIN usages.
@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Test Results

 1 421 files  ±0   1 421 suites  ±0   1h 17m 30s ⏱️ - 5m 50s
10 010 tests ±0   9 940 ✅  - 2  68 💤 ±0  2 ❌ +2 
10 482 runs  ±0  10 411 ✅  - 2  69 💤 ±0  2 ❌ +2 

For more details on these failures, see this check.

Results for commit 594650f. ± Comparison against base commit 9c9ca5f.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant