API Documentation →
⚠️ Moved Packages
Some packages have moved. Old packages are preserved for backwards compatibility.
accordion
app-layout
board
charts
combo-box
confirm-dialog
- ⧉ Move vaadin-confirm-dialog to confirm-dialog (#2573) (#2577)
context-menu
- ⧉ Move vaadin-context-menu to context-menu (#2540) (#2542)
cookie-consent
- ⧉ Move vaadin-cookie-consent to cookie-consent (#2578) (#2581)
crud
date-picker
- ⧉ Move vaadin-date-picker to date-picker (#2638) (#2640)
date-time-picker
- ⧉ Move vaadin-date-time-picker to date-time-picker (#2645) (#2656)
details
dialog
form-layout
- ⧉ Move vaadin-form-layout to form-layout (#2674) (#2679)
grid
grid-pro
icon
icons
item
list-box
login
menu-bar
notification
- ⧉ Move vaadin-notification to notification (#2780) (#2781)
progress-bar
- ⧉ Move vaadin-progress-bar to progress-bar (#2774) (#2775)
rich-text-editor
- ⧉ Move vaadin-rich-text-editor to rich-text-editor (#2792) (#2796)
split-layout
- ⧉ Move vaadin-split-layout to split-layout (#2776) (#2778)
tabs
time-picker
- ⧉ Move vaadin-time-picker to time-picker (#2756) (#2760)
upload
virtual-list
- ⧉ Move vaadin-virtual-list to virtual-list (#2799) (#2800)
vaadin-template-renderer
- ⧉ Move template-renderer to legacy-adapter (#2798) (#2802)
🎨 Lumo Design Adjustments
- All components
- ⧉ Update Lumo colors to provide better contrast (#2626)
button
- ⧉ Redesign button hover and active state styles (#2627)
- ⧉ Redesign disabled button styles (Lumo) (#2644)
checkbox
,date-picker
, radio-group
- ⧉ Redesign focus outline to improve contrast (#2684)
checkbox-group
,checkbox
,grid-pro
,radio-group
- ⧉ Use Lumo custom properties for sizing and spacing (#2746)
combo-box
,date-picker
,date-time-picker
, select
,text-area
,text-field
,time-picker
- ⧉ Use more generic custom property name (#2794)
date-picker
- ⧉ Improve date-picker calendar text contrast (#2727)
grid
- ⧉ Improve grid sort indicator color contrast (#2629)
number-field
, integer-field
- ⧉ Use Lumo icons in number-field controls (#2595)
vaadin-lumo-styles
- ⧉ Increase input placeholder text color contrast (Lumo) (#2715)
♿ Accessibility Improvements
checkbox
- ⧉ Update checkbox to use slotted input (#2539)
- ⧉ Remove label part and enhance clickable area (#2739)
checkbox-group
- ⧉ Make checkbox-group use new mixins (#2752)
combo-box
- ⧉ Update combo-box to use slotted input (#2496)
- ⧉ Improve accessibility based on ARIA 1.2 (#2745)
combo-box
,date-picker
- ⧉ Set ARIA attributes properly, add tests (#2582)
custom-field
- ⧉ Move custom-field to new package (#2795)
date-picker
- ⧉ Update date-picker to use slotted input (#2532)
date-time-picker
- ⧉ Update date-time-picker to use slotted pickers (#2782)
radio-group
- ⧉ Make radio-group use new mixins (#2641)
- ⧉ Update radio-button to use slotted input (#2572)
- ⧉ Remove label part and enhance clickable area (#2773)
tabs
- ⧉ Use text color property for inactive tabs (#2630)
- ⧉ Hide forward and back buttons from screen readers (#2743)
text-field
- ⧉ Move text-field to new base class (#2620)
time-picker
- ⧉ Update time-picker to use slotted input (#2541)
💥 Breaking Changes
- All components
- ⧉ Remove element suffix from component classes (#2765)
checkbox
,custom-field
,date-picker
,email-field
,field-base
,integer-field
,number-field
,password-field
,radio-group
,select
,text-area
,text-field
,time-picker
,vaadin-combo-box
- ⧉ Remove container part from public API (#2754)
combo-box
, custom-field
,date-picker
, date-time-picker
, email-field
,integer-field
,number-field
,password-field
,select
,text-area
,text-field
,time-picker
- ⧉ Rename indicator part to required-indicator (#2624)
combo-box
- ⧉ Drop paper-input and iron-input support (#2622)
vaadin-control-state-mixin
- ⧉ Move ControlStateMixin to field-base package (#2789)
vaadin-element-mixin
- ⧉ Move element mixin to component-base (#2531)
🚀 New Features
component-base
- ⧉ Add controllers support to ElementMixin (#2664)
field-base
- ⧉ Add SlotLabelMixin for checkbox and radio-button (#2498)
virtual-list
- ⧉ Add requestContentUpdate API to virtual list (#2556)
vaadin-themable-mixin
- ⧉ Update Lit to 2.0.0 stable release (#2587)
- ⧉ Change ThemableMixin not to depend on Polymer (#2594)
🐛 Bug Fixes
app-layout
,crud
,vaadin-dialog
- ⧉ Use correct type for ariaLabel property (#2602)
combo-box
- ⧉ Add logic and styles to ensure correct overlay appearance (#2552)
- ⧉ Prevent mousedown to keep focus on clear (#2619)
- ⧉ Add itemValuePath to selectItemChanged observer (#2718)
- ⧉ Do not fire custom-value-set event when readonly (#2721)
- ⧉ Clear combo-box value on Esc (#2663)
- ⧉ Update overlay width when positionTarget is set (#2611)
crud
- ⧉ Generate sentence case header for camel case columns (#2726)
custom-field
- ⧉ Ignore slotted inputs in custom-field (#2639)
date-picker
- ⧉ Add missing RTL styles and visual tests (#2574)
- ⧉ Restore date-picker overlay styles (#2576)
field-base
- ⧉ Create default helper element lazily (#2714)
- ⧉ Do not override slot target content with whitespace nodes (#2720)
- ⧉ Make label with empty children add has-label attribute (#2707)
- ⧉ Forward value property to input element (#2706)
- ⧉ Remove has-helper attribute when removing helper node (#2759)
grid
- ⧉ Use style.setProperty in favour of updateStyles (#2650)
- ⧉ Don't prevent space keyup while interacting in grid (#2744)
input-container
- ⧉ Add -webkit-mask-image, update visual tests (#2570)
- ⧉ Ensure fields do not grow in flex (#2612)
notification
- ⧉ Static show helper should accept zero duration (#2584)
polymer-legacy-adapter
- ⧉ Convert themes to style modules synchronously (#2695)
- ⧉ Support lazy-importing style-modules adapter (#2683)
radio-group
- ⧉ Don't enable initially disabled radio buttons (#2717)
rich-text-editor
- ⧉ Replace selection polyfill in Quill to handle Safari issues (#2590)
select
- ⧉ Allow select to shrink, add visual tests (#2608)
upload
- ⧉ Remove unused cancel key on upload i18n (#2723)
- ⧉ Display drop label as disabled when max files reached (#2558)
💅 Polish
- All components
- ⧉ Sort import statements (#2643)
component-base
- ⧉ Move async and debounce to component-base (#2563)
checkbox-group
,custom-field
,date-time-picker
,radio-group
,vaadin-lumo-styles
,vaadin-material-styles
- ⧉ Cleanup themes, add helper visual tests (#2797)
date-picker
- ⧉ Use overlay-position-mixin with date-picker (#2567)
email-field
,field-base
,number-field
,password-field
,select
,text-area
,text-field
,vaadin-combo-box
,vaadin-date-picker
,vaadin-lumo-styles
,vaadin-material-styles
- ⧉ Restructure input field shared styles (#2569)
field-base
- ⧉ Simplify field mixins structure (#2632)
- ⧉ Make slot-target-mixin clone instead of moving (#2735)
- ⧉ Use separate fields to store unique IDs (#2580)
grid
- ⧉ Update grid dragover-on-top visual style (Lumo) (#2647)
- ⧉ Remove grid._toggleAttribute (#2631)
- ⧉ Deprecate grid.notifyResize() (#2665)
- ⧉ Remove grid internal use of notifyResize (#2625)
- ⧉ Remove obsolete workaround, cleanup typings (#2628)
horizontal-layout
,vertical-layout
- ⧉ Use CSS gap property for ordered layout spacing (#2654)
input-container
- ⧉ Avoid input placeholder styles duplication (#2710)
radio-group
- ⧉ Apply checkbox-group review suggestions to radio-group (#2788)
rich-text-editor
- ⧉ Use registerStyles instead of include for rte styles (#2599)
text-field
- ⧉ Use registerStyles instead of include for text-field styles (#2617)
time-picker
- ⧉ Override internal elements in time-picker (#2618)
vaadin-lumo-styles
- ⧉ Styles which are used when preventing invalid input (Lumo) (#2733)
- ⧉ Remove unnecessary duplicate selector from compact preset (#2646)
vaadin-lumo-styles
,vaadin-material-styles
- ⧉ Remove unnecessary font-smoothing CSS (#2708)
- ⧉ Remove duplicate CSS in typography modules (#2711)
📝 Documentation
component-base
,field-base
- ⧉ Use correct JSDoc annotations for all mixins (#2805)
🔬 Tests
- All components
- ⧉ Use Roboto in Material visual tests (#2655)
- ⧉ Sort import statements in unit tests (#2633)
checkbox
,radio-group
- ⧉ Add visual tests for checked focus-ring (#2686)
combo-box
, date-picker
,time-picker
- ⧉ Add unit tests for autoselect property (#2750)
date-picker
- ⧉ Fix opened date-picker visual tests (#2689)
radio-group
- ⧉ Simplify radio-group unit tests (#2688)
rich-text-editor
- ⧉ Skip flaky formatting test in Firefox (#2604)
time-picker
- ⧉ Add time-picker RTL visual tests (#2559)
- Other
- ⧉ Introduce coverage CI workflow (#2671)
🏠 Internal
- All components
- ⧉ Format package.json files with Prettier (#2804)
- ⧉ Improve repository field in package.json (#2725)
- ⧉ Restore legacy component exports (#2703)
charts
,grid-pro
,vaadin-charts
,vaadin-grid-pro
- ⧉ Align license field for Pro components (#2806)
combo-box
- ⧉ Add test to check for overlay content's width when combo-box is pre-opened (#2623)
custom-field
,radio-group
- ⧉ Update and cleanup dependencies (#2680)
date-picker
- ⧉ Remove unnecessary styles (#2568)
date-time-picker
- ⧉ Add missing mixes annotations to date-time-picker (#2807)
polymer-legacy-adapter
- ⧉ Restructure polymer-legacy-adapter package (#2803)
- Other
- ⧉ Cleanup incorrect screenshots folder (#2533)
- ⧉ Add details and accordion dev pages (#2783)
- ⧉ Make husky pre-commit hook executable (#2732)
- ⧉ Update husky dev dependency to v7 (#2724)
- ⧉ Add dev page for text-field (#2719)
- ⧉ Add radio-group dev page (#2651)
- ⧉ Only get coverage when running all tests (#2649)
- ⧉ Update dev dependencies versions (#2601)
- ⧉ Add vaadin-quill.js to .prettierignore (#2591)
- ⧉ Add checkbox dev page (#2562)
- ⧉ Add date and time pickers dev pages (#2555)
- ⧉ Open dev page listing by default (#2545)
- ⧉ Add dev pages for new input fields (#2520)