Vaadin web components
Vaadin components is an evolving set of high-quality web components for business web applications.
Installation
Install the components that you need from npm:
npm install @vaadin/grid
Usage
Import the component's JavaScript module, use the component in your HTML, and control it with JavaScript:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vaadin example</title>
</head>
<body>
<!-- Use web components in your HTML like regular built-in elements. -->
<vaadin-grid theme="row-dividers" column-reordering-allowed multi-sort>
<vaadin-grid-selection-column auto-select frozen></vaadin-grid-selection-column>
<vaadin-grid-sort-column width="9em" path="firstName"></vaadin-grid-sort-column>
<vaadin-grid-sort-column width="9em" path="lastName"></vaadin-grid-sort-column>
<vaadin-grid-column width="9em" path="address.city"></vaadin-grid-column>
</vaadin-grid>
<!-- Vaadin web components use standard JavaScript modules. -->
<script type="module">
// Importing the following modules registers <vaadin-grid> and its column
// elements so that you can use them in this page.
import '@vaadin/grid/vaadin-grid.js';
import '@vaadin/grid/vaadin-grid-selection-column.js';
import '@vaadin/grid/vaadin-grid-sort-column.js';
// Use component's properties to populate data.
const grid = document.querySelector('vaadin-grid');
fetch('https://demo.vaadin.com/demo-data/1.0/people?count=200')
.then((res) => res.json())
.then((json) => (grid.items = json.result));
</script>
</body>
</html>
Serve your HTML with a development server that supports bare module specifiers, such as @web/dev-server
:
npm i -g @web/dev-server
web-dev-server --node-resolve --open
Components
This project contains components for Vaadin 20+. Please see individual repositories for older Vaadin versions.
Core Components
The components below are licensed under the Apache License 2.0.
Pro Components
The components below are licensed under Vaadin Commercial License and Service Terms and available as part of the Vaadin Pro Subscription.
Component | npm version (latest) | npm version (next) | Issues |
---|---|---|---|
<vaadin-board> |
Issues | ||
<vaadin-charts> |
Issues | ||
<vaadin-cookie-consent> |
Issues | ||
<vaadin-crud> |
Issues | ||
<vaadin-grid-pro> |
Issues | ||
<vaadin-map> |
Issues | ||
<vaadin-rich-text-editor> |
Issues |
Browser support
Desktop:
- Chrome (evergreen)
- Firefox (evergreen)
- Safari 15 or newer
- Edge (Chromium, evergreen)
Mobile:
- Chrome (evergreen) for Android (4.4 or newer)
- Safari for iOS (15 or newer)
Documentation
Check out our design system documentation.
Examples
Are you looking for an example project to get started? Visit start.vaadin.com to create a Vaadin app.
Questions
For help and support questions, please use our community chat.
Big Thanks
Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs.
Contributing
Read the contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to test your changes to Vaadin components.
Development
See the Development guide for how to set up and develop this project locally.
LICENSE
For specific package(s), check the LICENSE file under the package folder.