mirror of
https://github.com/vaadin/flow.git
synced 2026-11-08 14:25:54 +01:00
Vaadin Flow is a Java framework binding Vaadin web components to Java. This is part of Vaadin 10+.
- Java 91.1%
- TypeScript 5.7%
- JavaScript 1.4%
- Kotlin 1%
- HTML 0.3%
- Other 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
**Review risk:** two-way door — rewrites two bundled client helpers in TypeScript with the same behavior; affects keyboard shortcuts and `flow-webpush`, easy to revert Follow-up to #26670. Part of #26665 ## Summary #26670 bundled the keyboard shortcut and web push helpers as the plain JavaScript files they were. This PR replaces them with typed `Shortcut.ts` and `WebPush.ts` modules in flow-client, like the other browser helpers next to them (`Fullscreen.ts`, `Geolocation.ts`, …), and adds client-side tests for the shortcut helper. ## What changed - Replaced `FlowShortcut.js` with `Shortcut.ts` and `FlowWebPush.js` with `WebPush.ts`; `BrowserHelpers.ts` imports the new modules. - The functions installed on `window.Vaadin.Flow.shortcut` and `window.Vaadin.Flow.webPush` keep their names, signatures and behavior, so the server side is unchanged apart from two comments in `ShortcutRegistration` that named the old file, plus small SonarCloud cleanups there: four never-reassigned fields are now `final` and the modifier set is created with `HashSet.newHashSet`. ## Test summary - New client-side tests for the shortcut popover/modal scope guards and the keydown delegate. - flow-client type check, lint and the full client test suite pass locally. --------- Co-authored-by: totally-not-ai[bot] <290682512+totally-not-ai[bot]@users.noreply.github.com> Co-authored-by: Artur Signell <[email protected]> |
||
| .claude/skills/commit-and-pr | ||
| .github | ||
| .husky | ||
| .mvn | ||
| .settings | ||
| checkstyle | ||
| eclipse | ||
| flow | ||
| flow-bom | ||
| flow-build-tools | ||
| flow-client | ||
| flow-data | ||
| flow-devloop-daemon | ||
| flow-dnd | ||
| flow-html-components | ||
| flow-html-components-testbench | ||
| flow-lit-template | ||
| flow-plugins | ||
| flow-polymer-template | ||
| flow-polymer2lit | ||
| flow-push | ||
| flow-react | ||
| flow-server | ||
| flow-server-production-mode | ||
| flow-test-generic | ||
| flow-test-util | ||
| flow-tests | ||
| flow-webpush | ||
| guidelines | ||
| scripts | ||
| vaadin-cdi | ||
| vaadin-dev-server | ||
| vaadin-quarkus | ||
| vaadin-spring | ||
| .dtrack.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .lift.toml | ||
| .prettierrc | ||
| .tool-versions | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| CONVENTIONS.md | ||
| LICENSE | ||
| pom.xml | ||
| README.md | ||
Vaadin Flow
Vaadin Flow is the Java framework of Vaadin Platform for building modern websites that look great, perform well and make you and your users happy.
For instructions about developing web applications with Vaadin Flow, please refer to the documentation.
To contribute, first refer to Contribution Guide for general instructions and requirements for contributing code to Flow.
For issues related to Hilla, please refer to the https://github.com/vaadin/hilla repository.
Ask questions about Vaadin Flow in our forum.
Since Vaadin platform 23.0, Flow major and minor versions are aligned with platform versions:
| Branch | Platform Version | Flow Version |
|---|---|---|
| 2.13 | 14.14 (LATEST commercial with Java 8+ support and Servlet 3) | 2.13 |
| 23.6 | 23.6 (LATEST commercial with Java 11+ support and Servlet 3) | 23.6 |
| 24.4 | 24.4 (commercially supported, Java 17+, Jakarta EE 10, Spring-boot 3) | 24.4 |
| 24.7 | 24.7 (commercially supported, Java 17+, Jakarta EE 10, Spring-boot 3) | 24.7 |
| 24.10 | 24.10 (LATEST 24 minor release, Java 17+, Jakarta EE 10, Spring-boot 3) | 24.10 |
| 25.2 | 25.2 (LATEST release, Java 21+, Jakarta EE 11, Spring-boot 4) | 25.2 |
| 25.3 | 25.3 (Vaadin 25.3 pre-release, Java 21+, Jakarta EE 11, Spring-boot 4) | 25.3 |
| main | 25.4 (Vaadin 25.4 preparations, Java 21+, Jakarta EE 11, Spring-boot 4) | 25.4 |