Skip to content

A set of high-quality standards based web components for enterprise web applications. Part of Vaadin 20+

Notifications You must be signed in to change notification settings

vaadin/web-components

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

809aea2 · Jan 10, 2025
Jan 8, 2025
Aug 13, 2024
Jan 10, 2025
Jan 10, 2025
Sep 2, 2022
Jul 26, 2024
Jan 9, 2025
Mar 28, 2023
Jan 9, 2023
Jan 16, 2024
Nov 7, 2024
Mar 28, 2023
Dec 30, 2024
Oct 7, 2021
Mar 28, 2023
Jul 7, 2023
Aug 14, 2024
Jan 9, 2025
Aug 14, 2024
Oct 7, 2024
Sep 10, 2021
Jan 9, 2025
Jan 8, 2025
Feb 22, 2024
Jan 16, 2024
Oct 1, 2021
Mar 16, 2021
Mar 15, 2024
Dec 1, 2023
Aug 27, 2024
Dec 30, 2024
Jan 2, 2025
Aug 27, 2024
Dec 1, 2023
Aug 27, 2024
Jan 9, 2025
Jan 8, 2025

Repository files navigation

Vaadin logo

Vaadin web components

Vaadin components is an evolving set of high-quality web components for business web applications.

Build Follow on Twitter

Installation

Install the components that you need from npm:

npm install @vaadin/grid

Usage

Live demo →

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 column-reordering-allowed multi-sort>
      <vaadin-grid-selection-column auto-select frozen></vaadin-grid-selection-column>
      <vaadin-grid-sort-column width="9rem" path="firstName"></vaadin-grid-sort-column>
      <vaadin-grid-sort-column width="9rem" path="lastName"></vaadin-grid-sort-column>
      <vaadin-grid-column width="9rem" 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.

Component npm version (latest) npm version (next) Issues
<vaadin-accordion> npm version npm version Issues
<vaadin-app-layout> npm version npm version Issues
<vaadin-avatar> npm version npm version Issues
<vaadin-avatar-group> npm version npm version Issues
<vaadin-button> npm version npm version Issues
<vaadin-checkbox> npm version npm version Issues
<vaadin-checkbox-group> npm version npm version Issues
<vaadin-combo-box> npm version npm version Issues
<vaadin-confirm-dialog> npm version npm version Issues
<vaadin-context-menu> npm version npm version Issues
<vaadin-custom-field> npm version npm version Issues
<vaadin-date-picker> npm version npm version Issues
<vaadin-date-time-picker> npm version npm version Issues
<vaadin-details> npm version npm version Issues
<vaadin-dialog> npm version npm version Issues
<vaadin-email-field> npm version npm version Issues
<vaadin-form-layout> npm version npm version Issues
<vaadin-grid> npm version npm version Issues
<vaadin-horizontal-layout> npm version npm version Issues
<vaadin-icon> npm version npm version Issues
<vaadin-icons> npm version npm version Issues
<vaadin-integer-field> npm version npm version Issues
<vaadin-item> npm version npm version Issues
<vaadin-list-box> npm version npm version Issues
<vaadin-login> npm version npm version Issues
<vaadin-menu-bar> npm version npm version Issues
<vaadin-message-input> npm version npm version Issues
<vaadin-message-list> npm version npm version Issues
<vaadin-multi-select-combo-box> npm version npm version Issues
<vaadin-notification> npm version npm version Issues
<vaadin-number-field> npm version npm version Issues
<vaadin-password-field> npm version npm version Issues
<vaadin-popover> npm version npm version Issues
<vaadin-progress-bar> npm version npm version Issues
<vaadin-radio-group> npm version npm version Issues
<vaadin-scroller> npm version npm version Issues
<vaadin-select> npm version npm version Issues
<vaadin-side-nav> npm version npm version Issues
<vaadin-split-layout> npm version npm version Issues
<vaadin-tabs> npm version npm version Issues
<vaadin-tabsheet> npm version npm version Issues
<vaadin-text-area> npm version npm version Issues
<vaadin-text-field> npm version npm version Issues
<vaadin-time-picker> npm version npm version Issues
<vaadin-tooltip> npm version npm version Issues
<vaadin-upload> npm version npm version Issues
<vaadin-virtual-list> npm version npm version Issues

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> npm version npm version Issues
<vaadin-charts> npm version npm version Issues
<vaadin-cookie-consent> npm version npm version Issues
<vaadin-crud> npm version npm version Issues
<vaadin-dashboard> npm version npm version Issues
<vaadin-grid-pro> npm version npm version Issues
<vaadin-map> npm version npm version Issues
<vaadin-rich-text-editor> npm version npm version 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 Vaadin Forum.

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.