1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
![Bower version](https://img.shields.io/bower/v/vaadin-core-elements.svg) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/vaadin/vaadin-core-elements?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
# Vaadin Core Elements
[Vaadin elements](https://vaadin.com/elements) are an evolving set of open sourced custom HTML elements, which seamlessly extend the [Polymer Element Catalog](https://elements.polymer-project.org) with high-quality user interface components commonly needed in modern mobile and desktop business web applications.
Vaadin Core Elements is a bundle that contains all the free elements, licensed under the Apache License 2.0. In addition, we have commercially licensed elements, such as [Vaadin Charts](https://github.com/vaadin/vaadin-charts).
## Learn more
See the list of elements, demos and documentation, instructions how to get started, video tutorials, application demos and more by visiting:
### [vaadin.com/elements ›](https://vaadin.com/elements)
---
## Roadmap
This is a high level view of the upcoming releases for Vaadin Core Elements. The nearest releases are more likely to include what is stated here, but further plans have a higher risk of changing.
Individual elements of the Core Elements bundle are released separately, and you can track their progress from their repositories.
#### Nearly there
- [`<vaadin-grid>`](https://github.com/vaadin/vaadin-grid) 1.2
- [`<vaadin-split-layout>`](https://github.com/vaadin/vaadin-split-panel) 0.1
#### Next up
- [`<vaadin-combo-box>`](https://github.com/vaadin/vaadin-combo-box) 1.x
- Custom filtering
- Lazy loading
- Dropdown item templates
- [`<vaadin-date-picker>`](https://github.com/vaadin/vaadin-date-picker) 1.x
- Min and max date limits
- Keyboard input
- Screenreader support
- Week numbers
#### In planning
- New elements: `<vaadin-context-menu>`, `<vaadin-form-layout>`, `<vaadin-details>`
- Bootstrap CSS integration
##### Version labels
On top of the common version numbering (major.minor.patch) Vaadin uses labels to indicate the maturity of a version.
*Examples: `1.0.0-alpha2`, `1.0.0-beta4`, `1.0.0-rc1`*
- **Alpha**: A snapshot mainly to gather feedback from users. All features and implementation details are still subject to change.
- **Beta**: Feature-complete release of the upcoming version. The API should no longer change, but small improvements can be made. No changes in functionality are to be expected.
- **RC**: Also known as "release candidate". Only bug fixes can be expected to happen before the stable version.
All of the maturity tags can be suffixed with a number, so for example "rc2" is the second release candidate of a certain version.
## Contributing
We would absolutely love to get the community involved, and we welcome any form of contributions – comments and questions on different communication channels, issues and pull request in the repositories, and anything that you build and share using our elements.
### Get in touch with the team
The chat and the forum category are dedicated channels for this project, while the Twitter, Facebook and G+ pages are common for all Vaadin related discussion (including the Java framework).
- [Chat](https://gitter.im/vaadin/vaadin-core-elements)
- [Forum](https://vaadin.com/forum/#!/category/9848927)
- [Twitter](https://twitter.com/vaadin)
- [Facebook](https://www.facebook.com/vaadin/)
- [G+](https://plus.google.com/communities/108116678608923665301)
### Some ways to help:
- **Test the elements and provide feedback**: We would love to hear your feedback on anything related to the elements, like features, API and design. The best way to start is by [trying them out](https://vaadin.com/docs/-/part/elements/elements-getting-started.html). And to get a quick response, either drop a question/comment on the chat or open an issue in GitHub.
- **Report bugs**: File issues for the elements in their respective GitHub projects. You can find links to them from https://vaadin.com/elements
- **Send pull requests**: If you want to contribute code, check out the development instructions below.
We encourage you to read the [contribution instructions by GitHub](https://guides.github.com/activities/contributing-to-open-source/#contributing) also.
## Development
Each element has it's own GitHub repository, where development is done. The vaadin-core-element project is just a top-level bundle without actual production code.
Familiarize yourself with the code and try to follow the same syntax conventions to make it easier for us to accept your pull requests.
The following instructions are common for all Vaadin core elements. **Replace `vaadin-combo-box` with any other element in the following examples**. Check the element readmes for any special development notes.
### Getting the code
1. Clone the element project from GitHub:
```shell
$ git clone https://github.com/vaadin/vaadin-combo-box.git
```
2. Install [Node](https://nodejs.org/en/download/). It comes bundled with [npm](https://npmjs.com), which is needed to install other tooling.
3. Install [Bower](http://bower.io) using [npm](https://npmjs.com):
```shell
$ npm install -g bower
```
> If you encounter permission issues when running `npm` see the article about [fixing npm permissions](https://docs.npmjs.com/getting-started/fixing-npm-permissions) on npmjs.com
4. Use Bower to install the dependencies of the element:
```shell
$ cd vaadin-combo-box
$ bower install
```
### Running demos
1. Install [polyserve](https://github.com/PolymerLabs/polyserve) using [npm](https://npmjs.com):
```shell
$ npm install -g polyserve
```
2. Start a local server in the project root directory:
```shell
$ cd vaadin-combo-box
$ polyserve
```
3. Open the following URLs in your browser:
- Demo: http://localhost:8080/components/vaadin-combo-box/demo/
- Generated API documentation: http://localhost:8080/components/vaadin-combo-box/
### Running tests
Install [Web Component Tester](https://github.com/Polymer/web-component-tester) using [npm](https://npmjs.com):
```shell
$ npm install -g web-component-tester
```
Tests can be run with the `wct` task from the element directory:
```shell
$ cd vaadin-combo-box
$ wct
```
You can also run and debug the tests manually:
```shell
$ cd vaadin-combo-box
$ polyserve
```
- Open http://localhost:8080/components/vaadin-combo-box/test/ in your browser.
You should include new tests in your pull requests if you add features to the elements or if you are fixing a bug.
### Documentation
We follow the same [style guide](http://polymerelements.github.io/style-guide/) as Polymer.
### Contributor License Agreement
When you send a pull request to any of our repositories, you get an automated comment response about the CLA. It will notify you if you haven’t signed the CLA yet, and in that case instructions how to do it. You need to do this once per earch repository. Before we can accept any of your code contributions, you need to sign the CLA.
## License
Apache License 2.0
|