Skip to content

Vaadin Flow Components V25.3.0-alpha4

Pre-release
Pre-release

Choose a tag to compare

@vaadin-bot vaadin-bot released this 10 Jul 11:55
6f8750a

Vaadin Flow Components 25.3.0-alpha3

This is a release of the Java integration for Vaadin Components to be used from the Java server side with Vaadin Flow.

Changes in Flow Components from 25.3.0-alpha2

Changes in All Components

  • Chore:
    • Increase Web-Component version
    • Increase Web-Component version

Changes in vaadin-combo-box-flow

  • Breaking Changes:
    • Update multi-select-combo-box to synchronize on change. PR:9631. Ticket:9611

      ## Description With @Push and two push frames around a server-side setValue, MultiSelectComboBox could reset its value to empty because the selected-items-changed notification also fires for programmatic changes and gets echoed back as a spurious client value change. - Synchronized the value on the web component change event instead of selected-items-changed, so only genuine user gestures are treated as client changes - Updated TestBench helpers to dispatch change (and deselectAll to use clear()) - Added integration tests for the push scenario and user value commits > [!WARNING] > Client-side changes to the web component selectedItems property no longer synchronize to the server unless a change event is dispatched. Server-side setValue and end-user interactions are unaffected. ## Type of change - Behavior altering fix --- 🤖 Generated with Claude Code ---------

Changes in vaadin-grid-flow

  • Breaking Changes:

    • Do not generate data for hidden columns. PR:6798. Ticket:6737

      ## Description Value providers, tooltip generators, and part name generators run for every row regardless of column visibility. This adds unnecessary load when these callbacks do expensive work. Each column's data generators are now wrapped in a CompositeDataGenerator that only runs them while the column is visible, and the row-level tooltip and part name generation are skipped for hidden columns too. Showing a previously hidden column refreshes the viewport so its data is generated again (but not reloaded from the data provider). Depends on - vaadin/flow#24895 - #9661 > [!WARNING] > Hidden columns no longer send data to the client side. ## Type of change - [ ] Bugfix - [x] Feature ## Checklist - [x] I have read the contribution guide: https://vaadin.com/docs/latest/contributing/overview - [x] I have added a description following the guideline. - [x] The issue is created in the corresponding repository and I have referenced it. - [x] I have added tests to ensure my change is effective and works as intended. - [x] New and existing tests are passing locally with my change. - [x] I have performed self-review and corrected misspellings. ---------

  • New Features:

    • Add GridI18n API for selection and sorter accessible names. PR:9666

      ## Description Part of vaadin/web-components#3471 - Added GridI18n, setI18n and getI18n based on the web component i18n property. - Removed no longer needed logic for setting sorters aria-label from the connector. ## Type of change - Feature ---------

  • Fixes:

    • Render grid data when cache is populated before attach. PR:9689. Ticket:9674

      When the connector receives data while the grid is still detached from the DOM, for example when a grid is rendered inside another grid's component renderer, there is no data provider call, so nothing sets the grid's _hasData property. After attaching, the grid then doesn't render the cached rows (the _flatSizeChanged observer only updates the virtualizer when _hasData is set) and also sends an unnecessary data request to the server. This change makes the connector set _hasData when resolving pending callbacks, which covers this case since populating the cache always ends with a confirm call. > [!NOTE] > The new client-side test also requires vaadin/web-components#12035, which stops the web component from discarding items added to its cache before attach. The test will keep failing until that fix is included in a platform alpha and the version is bumped here. ---------

Changes in vaadin-grid-pro-flow

  • Breaking Changes:
    • Do not generate data for hidden columns. PR:6798. Ticket:6737

      ## Description Value providers, tooltip generators, and part name generators run for every row regardless of column visibility. This adds unnecessary load when these callbacks do expensive work. Each column's data generators are now wrapped in a CompositeDataGenerator that only runs them while the column is visible, and the row-level tooltip and part name generation are skipped for hidden columns too. Showing a previously hidden column refreshes the viewport so its data is generated again (but not reloaded from the data provider). Depends on - vaadin/flow#24895 - #9661 > [!WARNING] > Hidden columns no longer send data to the client side. ## Type of change - [ ] Bugfix - [x] Feature ## Checklist - [x] I have read the contribution guide: https://vaadin.com/docs/latest/contributing/overview - [x] I have added a description following the guideline. - [x] The issue is created in the corresponding repository and I have referenced it. - [x] I have added tests to ensure my change is effective and works as intended. - [x] New and existing tests are passing locally with my change. - [x] I have performed self-review and corrected misspellings. ---------

Changes in vaadin-split-layout-flow

  • New Features:

Changes in vaadin-spreadsheet-flow

  • Fixes:
    • Style spreadsheet overlays when nested in a shadow root. PR:9713

      Since #9303, spreadsheet overlays (context menu, popup-button filters, cell comments, tooltips) live in a #spreadsheet-overlays container in the component's light DOM, styled by a global <style> in document.head. When <vaadin-spreadsheet> is nested in another element's shadow root — for example embedded as a web component, as in the docs filtering example — the container ends up inside that shadow tree, which the document-level stylesheet cannot cross, so the overlays render unstyled. To reproduce: open the docs "spreadsheet filtering" example (the spreadsheet is embedded as a web component) and open a column filter — the popup shows with no rounded corners, background, or shadow. On attach, also adopt the overlay stylesheet onto the container's own root (this._overlays.getRootNode()) when that root is a ShadowRoot, so the scoped #spreadsheet-overlays … rules apply inside the shadow tree. Top-level usage is unchanged: the root is the document, already covered by the existing document.head stylesheet. Follow-up to #9303 --- 🤖 Generated with Claude Code https://claude.ai/code/session_01QjNdPXWEUciMEXQe9hMgMt ---------

Compatibility