What problem does it solve?
Developers need a clear, repeatable way to wrap and integrate third-party Web Components and React components from npm into Vaadin 25 Flow applications. This integration is complex due to mismatched packaging formats, annotation requirements, and differing state-synchronization models. This Skill guides you through two primary paths and best practices so wrappers work reliably in production.
Core Features & Use Cases
- Web Component path: create Java wrappers using @Tag, @NpmPackage, and @JsModule with proper property handling, DomEvent mappings, and optional Binder support via AbstractSinglePropertyField.
- React path: implement a thin ReactAdapterComponent and a TSX ReactAdapterElement to bridge server state and client UI, including stable initialization via setState and binder-friendly updates.
- Use Cases: wrap npm Web Components or React components for Vaadin 25 apps, enable property synchronization, handle events, and optionally embed Flow components inside React adapters.
Quick Start
Create a minimal wrapper using the Web Component path with @Tag, @NpmPackage, and @JsModule, then validate a simple property binding and a DOM event.