@vaadin/email-field 23.2.0-dev.8a7678b70 → 23.3.0-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/package.json +14 -8
- package/src/vaadin-email-field.d.ts +11 -3
- package/src/vaadin-email-field.js +3 -9
- package/web-types.json +539 -0
- package/web-types.lit.json +216 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
An extension of [`<vaadin-text-field>`](https://www.npmjs.com/package/@vaadin/text-field) component that only accepts email addresses as input.
|
|
4
4
|
|
|
5
|
-
[Documentation + Live Demo ↗](https://vaadin.com/docs/latest/
|
|
5
|
+
[Documentation + Live Demo ↗](https://vaadin.com/docs/latest/components/email-field)
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@vaadin/email-field)
|
|
8
8
|
[](https://discord.gg/PHmkCKC)
|
|
@@ -27,7 +27,7 @@ import '@vaadin/email-field';
|
|
|
27
27
|
|
|
28
28
|
## Themes
|
|
29
29
|
|
|
30
|
-
Vaadin components come with two built-in [themes](https://vaadin.com/docs/latest/
|
|
30
|
+
Vaadin components come with two built-in [themes](https://vaadin.com/docs/latest/styling), Lumo and Material.
|
|
31
31
|
The [main entrypoint](https://github.com/vaadin/web-components/blob/master/packages/email-field/vaadin-email-field.js) of the package uses Lumo theme.
|
|
32
32
|
|
|
33
33
|
To use the Material theme, import the component from the `theme/material` folder:
|
|
@@ -50,7 +50,7 @@ import '@vaadin/email-field/src/vaadin-email-field.js';
|
|
|
50
50
|
|
|
51
51
|
## Contributing
|
|
52
52
|
|
|
53
|
-
Read the [contributing guide](https://vaadin.com/docs/latest/
|
|
53
|
+
Read the [contributing guide](https://vaadin.com/docs/latest/contributing/overview) to learn about our development process, how to propose bugfixes and improvements, and how to test your changes to Vaadin components.
|
|
54
54
|
|
|
55
55
|
## License
|
|
56
56
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/email-field",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.3.0-alpha1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
"src",
|
|
24
24
|
"theme",
|
|
25
25
|
"vaadin-*.d.ts",
|
|
26
|
-
"vaadin-*.js"
|
|
26
|
+
"vaadin-*.js",
|
|
27
|
+
"web-types.json",
|
|
28
|
+
"web-types.lit.json"
|
|
27
29
|
],
|
|
28
30
|
"keywords": [
|
|
29
31
|
"Vaadin",
|
|
@@ -33,16 +35,20 @@
|
|
|
33
35
|
],
|
|
34
36
|
"dependencies": {
|
|
35
37
|
"@polymer/polymer": "^3.0.0",
|
|
36
|
-
"@vaadin/component-base": "23.
|
|
37
|
-
"@vaadin/text-field": "23.
|
|
38
|
-
"@vaadin/vaadin-lumo-styles": "23.
|
|
39
|
-
"@vaadin/vaadin-material-styles": "23.
|
|
40
|
-
"@vaadin/vaadin-themable-mixin": "23.
|
|
38
|
+
"@vaadin/component-base": "23.3.0-alpha1",
|
|
39
|
+
"@vaadin/text-field": "23.3.0-alpha1",
|
|
40
|
+
"@vaadin/vaadin-lumo-styles": "23.3.0-alpha1",
|
|
41
|
+
"@vaadin/vaadin-material-styles": "23.3.0-alpha1",
|
|
42
|
+
"@vaadin/vaadin-themable-mixin": "23.3.0-alpha1"
|
|
41
43
|
},
|
|
42
44
|
"devDependencies": {
|
|
43
45
|
"@esm-bundle/chai": "^4.3.4",
|
|
44
46
|
"@vaadin/testing-helpers": "^0.3.2",
|
|
45
47
|
"sinon": "^13.0.2"
|
|
46
48
|
},
|
|
47
|
-
"
|
|
49
|
+
"web-types": [
|
|
50
|
+
"web-types.json",
|
|
51
|
+
"web-types.lit.json"
|
|
52
|
+
],
|
|
53
|
+
"gitHead": "beabc527d4b1274eb798ff701d406fed45cfe638"
|
|
48
54
|
}
|
|
@@ -22,10 +22,17 @@ export type EmailFieldInvalidChangedEvent = CustomEvent<{ value: boolean }>;
|
|
|
22
22
|
*/
|
|
23
23
|
export type EmailFieldValueChangedEvent = CustomEvent<{ value: string }>;
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Fired whenever the field is validated.
|
|
27
|
+
*/
|
|
28
|
+
export type EmailFieldValidatedEvent = CustomEvent<{ valid: boolean }>;
|
|
29
|
+
|
|
25
30
|
export interface EmailFieldCustomEventMap {
|
|
26
31
|
'invalid-changed': EmailFieldInvalidChangedEvent;
|
|
27
32
|
|
|
28
33
|
'value-changed': EmailFieldValueChangedEvent;
|
|
34
|
+
|
|
35
|
+
validated: EmailFieldValidatedEvent;
|
|
29
36
|
}
|
|
30
37
|
|
|
31
38
|
export interface EmailFieldEventMap extends HTMLElementEventMap, EmailFieldCustomEventMap {
|
|
@@ -44,24 +51,25 @@ export interface EmailFieldEventMap extends HTMLElementEventMap, EmailFieldCusto
|
|
|
44
51
|
* `<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.
|
|
45
52
|
* See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.
|
|
46
53
|
*
|
|
47
|
-
* See [Styling Components](https://vaadin.com/docs/latest/
|
|
54
|
+
* See [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.
|
|
48
55
|
*
|
|
49
56
|
* @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.
|
|
50
57
|
* @fires {Event} change - Fired when the user commits a value change.
|
|
51
58
|
* @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.
|
|
52
59
|
* @fires {CustomEvent} value-changed - Fired when the `value` property changes.
|
|
60
|
+
* @fires {CustomEvent} validated - Fired whenever the field is validated.
|
|
53
61
|
*/
|
|
54
62
|
declare class EmailField extends TextField {
|
|
55
63
|
addEventListener<K extends keyof EmailFieldEventMap>(
|
|
56
64
|
type: K,
|
|
57
65
|
listener: (this: EmailField, ev: EmailFieldEventMap[K]) => void,
|
|
58
|
-
options?:
|
|
66
|
+
options?: AddEventListenerOptions | boolean,
|
|
59
67
|
): void;
|
|
60
68
|
|
|
61
69
|
removeEventListener<K extends keyof EmailFieldEventMap>(
|
|
62
70
|
type: K,
|
|
63
71
|
listener: (this: EmailField, ev: EmailFieldEventMap[K]) => void,
|
|
64
|
-
options?:
|
|
72
|
+
options?: EventListenerOptions | boolean,
|
|
65
73
|
): void;
|
|
66
74
|
}
|
|
67
75
|
|
|
@@ -34,12 +34,13 @@ registerStyles(
|
|
|
34
34
|
* `<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.
|
|
35
35
|
* See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.
|
|
36
36
|
*
|
|
37
|
-
* See [Styling Components](https://vaadin.com/docs/latest/
|
|
37
|
+
* See [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.
|
|
38
38
|
*
|
|
39
39
|
* @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.
|
|
40
40
|
* @fires {Event} change - Fired when the user commits a value change.
|
|
41
41
|
* @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.
|
|
42
42
|
* @fires {CustomEvent} value-changed - Fired when the `value` property changes.
|
|
43
|
+
* @fires {CustomEvent} validated - Fired whenever the field is validated.
|
|
43
44
|
*
|
|
44
45
|
* @extends TextField
|
|
45
46
|
*/
|
|
@@ -51,6 +52,7 @@ export class EmailField extends TextField {
|
|
|
51
52
|
constructor() {
|
|
52
53
|
super();
|
|
53
54
|
this._setType('email');
|
|
55
|
+
this.pattern = '^([a-zA-Z0-9_\\.\\-+])+@[a-zA-Z0-9-.]+\\.[a-zA-Z0-9-]{2,}$';
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
/** @protected */
|
|
@@ -61,14 +63,6 @@ export class EmailField extends TextField {
|
|
|
61
63
|
this.inputElement.autocapitalize = 'off';
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
|
-
|
|
65
|
-
/** @protected */
|
|
66
|
-
_createConstraintsObserver() {
|
|
67
|
-
// NOTE: pattern needs to be set before constraints observer is initialized
|
|
68
|
-
this.pattern = this.pattern || '^([a-zA-Z0-9_\\.\\-+])+@[a-zA-Z0-9-.]+\\.[a-zA-Z0-9-]{2,}$';
|
|
69
|
-
|
|
70
|
-
super._createConstraintsObserver();
|
|
71
|
-
}
|
|
72
66
|
}
|
|
73
67
|
|
|
74
68
|
customElements.define('vaadin-email-field', EmailField);
|
package/web-types.json
ADDED
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/web-types",
|
|
3
|
+
"name": "@vaadin/email-field",
|
|
4
|
+
"version": "23.3.0-alpha1",
|
|
5
|
+
"description-markup": "markdown",
|
|
6
|
+
"contributions": {
|
|
7
|
+
"html": {
|
|
8
|
+
"elements": [
|
|
9
|
+
{
|
|
10
|
+
"name": "vaadin-email-field",
|
|
11
|
+
"description": "`<vaadin-email-field>` is a Web Component for email field control in forms.\n\n```html\n<vaadin-email-field label=\"Email\"></vaadin-email-field>\n```\n\n### Styling\n\n`<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\nSee [`<vaadin-text-field>`](https://cdn.vaadin.com/vaadin-web-components/23.3.0-alpha1/#/elements/vaadin-text-field) for the styling documentation.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.",
|
|
12
|
+
"attributes": [
|
|
13
|
+
{
|
|
14
|
+
"name": "value",
|
|
15
|
+
"description": "The value of the field.",
|
|
16
|
+
"value": {
|
|
17
|
+
"type": [
|
|
18
|
+
"string",
|
|
19
|
+
"null",
|
|
20
|
+
"undefined"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "invalid",
|
|
26
|
+
"description": "Set to true when the field is invalid.",
|
|
27
|
+
"value": {
|
|
28
|
+
"type": [
|
|
29
|
+
"boolean",
|
|
30
|
+
"null",
|
|
31
|
+
"undefined"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "required",
|
|
37
|
+
"description": "Specifies that the user must fill in a value.",
|
|
38
|
+
"value": {
|
|
39
|
+
"type": [
|
|
40
|
+
"boolean",
|
|
41
|
+
"null",
|
|
42
|
+
"undefined"
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "pattern",
|
|
48
|
+
"description": "A regular expression that the value is checked against.\nThe pattern must match the entire value, not just some subset.",
|
|
49
|
+
"value": {
|
|
50
|
+
"type": [
|
|
51
|
+
"string",
|
|
52
|
+
"null",
|
|
53
|
+
"undefined"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "prevent-invalid-input",
|
|
59
|
+
"description": "When set to true, user is prevented from typing a value that\nconflicts with the given `pattern`.",
|
|
60
|
+
"value": {
|
|
61
|
+
"type": [
|
|
62
|
+
"boolean",
|
|
63
|
+
"null",
|
|
64
|
+
"undefined"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "disabled",
|
|
70
|
+
"description": "If true, the user cannot interact with this element.",
|
|
71
|
+
"value": {
|
|
72
|
+
"type": [
|
|
73
|
+
"boolean",
|
|
74
|
+
"null",
|
|
75
|
+
"undefined"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "autofocus",
|
|
81
|
+
"description": "Specify that this control should have input focus when the page loads.",
|
|
82
|
+
"value": {
|
|
83
|
+
"type": [
|
|
84
|
+
"boolean",
|
|
85
|
+
"null",
|
|
86
|
+
"undefined"
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "label",
|
|
92
|
+
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
|
|
93
|
+
"value": {
|
|
94
|
+
"type": [
|
|
95
|
+
"string",
|
|
96
|
+
"null",
|
|
97
|
+
"undefined"
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "error-message",
|
|
103
|
+
"description": "Error to show when the field is invalid.",
|
|
104
|
+
"value": {
|
|
105
|
+
"type": [
|
|
106
|
+
"string",
|
|
107
|
+
"null",
|
|
108
|
+
"undefined"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "helper-text",
|
|
114
|
+
"description": "String used for the helper text.",
|
|
115
|
+
"value": {
|
|
116
|
+
"type": [
|
|
117
|
+
"string",
|
|
118
|
+
"null",
|
|
119
|
+
"undefined"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "allowed-char-pattern",
|
|
125
|
+
"description": "A pattern matched against individual characters the user inputs.\n\nWhen set, the field will prevent:\n- `keydown` events if the entered key doesn't match `/^allowedCharPattern$/`\n- `paste` events if the pasted text doesn't match `/^allowedCharPattern*$/`\n- `drop` events if the dropped text doesn't match `/^allowedCharPattern*$/`\n\nFor example, to allow entering only numbers and minus signs, use:\n`allowedCharPattern = \"[\\\\d-]\"`",
|
|
126
|
+
"value": {
|
|
127
|
+
"type": [
|
|
128
|
+
"string",
|
|
129
|
+
"null",
|
|
130
|
+
"undefined"
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "autoselect",
|
|
136
|
+
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
|
|
137
|
+
"value": {
|
|
138
|
+
"type": [
|
|
139
|
+
"boolean",
|
|
140
|
+
"null",
|
|
141
|
+
"undefined"
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "clear-button-visible",
|
|
147
|
+
"description": "Set to true to display the clear icon which clears the input.",
|
|
148
|
+
"value": {
|
|
149
|
+
"type": [
|
|
150
|
+
"boolean",
|
|
151
|
+
"null",
|
|
152
|
+
"undefined"
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "name",
|
|
158
|
+
"description": "The name of this field.",
|
|
159
|
+
"value": {
|
|
160
|
+
"type": [
|
|
161
|
+
"string",
|
|
162
|
+
"null",
|
|
163
|
+
"undefined"
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "placeholder",
|
|
169
|
+
"description": "A hint to the user of what can be entered in the field.",
|
|
170
|
+
"value": {
|
|
171
|
+
"type": [
|
|
172
|
+
"string",
|
|
173
|
+
"null",
|
|
174
|
+
"undefined"
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "readonly",
|
|
180
|
+
"description": "When present, it specifies that the field is read-only.",
|
|
181
|
+
"value": {
|
|
182
|
+
"type": [
|
|
183
|
+
"boolean",
|
|
184
|
+
"null",
|
|
185
|
+
"undefined"
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "title",
|
|
191
|
+
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
|
|
192
|
+
"value": {
|
|
193
|
+
"type": [
|
|
194
|
+
"string",
|
|
195
|
+
"null",
|
|
196
|
+
"undefined"
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "autocomplete",
|
|
202
|
+
"description": "Whether the value of the control can be automatically completed by the browser.\nList of available options at:\nhttps://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete",
|
|
203
|
+
"value": {
|
|
204
|
+
"type": [
|
|
205
|
+
"string",
|
|
206
|
+
"null",
|
|
207
|
+
"undefined"
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "autocorrect",
|
|
213
|
+
"description": "This is a property supported by Safari that is used to control whether\nautocorrection should be enabled when the user is entering/editing the text.\nPossible values are:\non: Enable autocorrection.\noff: Disable autocorrection.",
|
|
214
|
+
"value": {
|
|
215
|
+
"type": [
|
|
216
|
+
"string",
|
|
217
|
+
"null",
|
|
218
|
+
"undefined"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "autocapitalize",
|
|
224
|
+
"description": "This is a property supported by Safari and Chrome that is used to control whether\nautocapitalization should be enabled when the user is entering/editing the text.\nPossible values are:\ncharacters: Characters capitalization.\nwords: Words capitalization.\nsentences: Sentences capitalization.\nnone: No capitalization.",
|
|
225
|
+
"value": {
|
|
226
|
+
"type": [
|
|
227
|
+
"string",
|
|
228
|
+
"null",
|
|
229
|
+
"undefined"
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"name": "maxlength",
|
|
235
|
+
"description": "Maximum number of characters (in Unicode code points) that the user can enter.",
|
|
236
|
+
"value": {
|
|
237
|
+
"type": [
|
|
238
|
+
"number",
|
|
239
|
+
"null",
|
|
240
|
+
"undefined"
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "minlength",
|
|
246
|
+
"description": "Minimum number of characters (in Unicode code points) that the user can enter.",
|
|
247
|
+
"value": {
|
|
248
|
+
"type": [
|
|
249
|
+
"number",
|
|
250
|
+
"null",
|
|
251
|
+
"undefined"
|
|
252
|
+
]
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "theme",
|
|
257
|
+
"description": "The theme variants to apply to the component.",
|
|
258
|
+
"value": {
|
|
259
|
+
"type": [
|
|
260
|
+
"string",
|
|
261
|
+
"null",
|
|
262
|
+
"undefined"
|
|
263
|
+
]
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"js": {
|
|
268
|
+
"properties": [
|
|
269
|
+
{
|
|
270
|
+
"name": "value",
|
|
271
|
+
"description": "The value of the field.",
|
|
272
|
+
"value": {
|
|
273
|
+
"type": [
|
|
274
|
+
"string",
|
|
275
|
+
"null",
|
|
276
|
+
"undefined"
|
|
277
|
+
]
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "invalid",
|
|
282
|
+
"description": "Set to true when the field is invalid.",
|
|
283
|
+
"value": {
|
|
284
|
+
"type": [
|
|
285
|
+
"boolean",
|
|
286
|
+
"null",
|
|
287
|
+
"undefined"
|
|
288
|
+
]
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "required",
|
|
293
|
+
"description": "Specifies that the user must fill in a value.",
|
|
294
|
+
"value": {
|
|
295
|
+
"type": [
|
|
296
|
+
"boolean",
|
|
297
|
+
"null",
|
|
298
|
+
"undefined"
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "pattern",
|
|
304
|
+
"description": "A regular expression that the value is checked against.\nThe pattern must match the entire value, not just some subset.",
|
|
305
|
+
"value": {
|
|
306
|
+
"type": [
|
|
307
|
+
"string",
|
|
308
|
+
"null",
|
|
309
|
+
"undefined"
|
|
310
|
+
]
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "preventInvalidInput",
|
|
315
|
+
"description": "When set to true, user is prevented from typing a value that\nconflicts with the given `pattern`.",
|
|
316
|
+
"value": {
|
|
317
|
+
"type": [
|
|
318
|
+
"boolean",
|
|
319
|
+
"null",
|
|
320
|
+
"undefined"
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"name": "disabled",
|
|
326
|
+
"description": "If true, the user cannot interact with this element.",
|
|
327
|
+
"value": {
|
|
328
|
+
"type": [
|
|
329
|
+
"boolean",
|
|
330
|
+
"null",
|
|
331
|
+
"undefined"
|
|
332
|
+
]
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "autofocus",
|
|
337
|
+
"description": "Specify that this control should have input focus when the page loads.",
|
|
338
|
+
"value": {
|
|
339
|
+
"type": [
|
|
340
|
+
"boolean",
|
|
341
|
+
"null",
|
|
342
|
+
"undefined"
|
|
343
|
+
]
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "label",
|
|
348
|
+
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
|
|
349
|
+
"value": {
|
|
350
|
+
"type": [
|
|
351
|
+
"string",
|
|
352
|
+
"null",
|
|
353
|
+
"undefined"
|
|
354
|
+
]
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"name": "errorMessage",
|
|
359
|
+
"description": "Error to show when the field is invalid.",
|
|
360
|
+
"value": {
|
|
361
|
+
"type": [
|
|
362
|
+
"string",
|
|
363
|
+
"null",
|
|
364
|
+
"undefined"
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"name": "helperText",
|
|
370
|
+
"description": "String used for the helper text.",
|
|
371
|
+
"value": {
|
|
372
|
+
"type": [
|
|
373
|
+
"string",
|
|
374
|
+
"null",
|
|
375
|
+
"undefined"
|
|
376
|
+
]
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "allowedCharPattern",
|
|
381
|
+
"description": "A pattern matched against individual characters the user inputs.\n\nWhen set, the field will prevent:\n- `keydown` events if the entered key doesn't match `/^allowedCharPattern$/`\n- `paste` events if the pasted text doesn't match `/^allowedCharPattern*$/`\n- `drop` events if the dropped text doesn't match `/^allowedCharPattern*$/`\n\nFor example, to allow entering only numbers and minus signs, use:\n`allowedCharPattern = \"[\\\\d-]\"`",
|
|
382
|
+
"value": {
|
|
383
|
+
"type": [
|
|
384
|
+
"string",
|
|
385
|
+
"null",
|
|
386
|
+
"undefined"
|
|
387
|
+
]
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"name": "autoselect",
|
|
392
|
+
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
|
|
393
|
+
"value": {
|
|
394
|
+
"type": [
|
|
395
|
+
"boolean",
|
|
396
|
+
"null",
|
|
397
|
+
"undefined"
|
|
398
|
+
]
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "clearButtonVisible",
|
|
403
|
+
"description": "Set to true to display the clear icon which clears the input.",
|
|
404
|
+
"value": {
|
|
405
|
+
"type": [
|
|
406
|
+
"boolean",
|
|
407
|
+
"null",
|
|
408
|
+
"undefined"
|
|
409
|
+
]
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "name",
|
|
414
|
+
"description": "The name of this field.",
|
|
415
|
+
"value": {
|
|
416
|
+
"type": [
|
|
417
|
+
"string",
|
|
418
|
+
"null",
|
|
419
|
+
"undefined"
|
|
420
|
+
]
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "placeholder",
|
|
425
|
+
"description": "A hint to the user of what can be entered in the field.",
|
|
426
|
+
"value": {
|
|
427
|
+
"type": [
|
|
428
|
+
"string",
|
|
429
|
+
"null",
|
|
430
|
+
"undefined"
|
|
431
|
+
]
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"name": "readonly",
|
|
436
|
+
"description": "When present, it specifies that the field is read-only.",
|
|
437
|
+
"value": {
|
|
438
|
+
"type": [
|
|
439
|
+
"boolean",
|
|
440
|
+
"null",
|
|
441
|
+
"undefined"
|
|
442
|
+
]
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"name": "title",
|
|
447
|
+
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
|
|
448
|
+
"value": {
|
|
449
|
+
"type": [
|
|
450
|
+
"string",
|
|
451
|
+
"null",
|
|
452
|
+
"undefined"
|
|
453
|
+
]
|
|
454
|
+
}
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"name": "autocomplete",
|
|
458
|
+
"description": "Whether the value of the control can be automatically completed by the browser.\nList of available options at:\nhttps://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete",
|
|
459
|
+
"value": {
|
|
460
|
+
"type": [
|
|
461
|
+
"string",
|
|
462
|
+
"null",
|
|
463
|
+
"undefined"
|
|
464
|
+
]
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"name": "autocorrect",
|
|
469
|
+
"description": "This is a property supported by Safari that is used to control whether\nautocorrection should be enabled when the user is entering/editing the text.\nPossible values are:\non: Enable autocorrection.\noff: Disable autocorrection.",
|
|
470
|
+
"value": {
|
|
471
|
+
"type": [
|
|
472
|
+
"string",
|
|
473
|
+
"null",
|
|
474
|
+
"undefined"
|
|
475
|
+
]
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "autocapitalize",
|
|
480
|
+
"description": "This is a property supported by Safari and Chrome that is used to control whether\nautocapitalization should be enabled when the user is entering/editing the text.\nPossible values are:\ncharacters: Characters capitalization.\nwords: Words capitalization.\nsentences: Sentences capitalization.\nnone: No capitalization.",
|
|
481
|
+
"value": {
|
|
482
|
+
"type": [
|
|
483
|
+
"string",
|
|
484
|
+
"null",
|
|
485
|
+
"undefined"
|
|
486
|
+
]
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"name": "maxlength",
|
|
491
|
+
"description": "Maximum number of characters (in Unicode code points) that the user can enter.",
|
|
492
|
+
"value": {
|
|
493
|
+
"type": [
|
|
494
|
+
"number",
|
|
495
|
+
"null",
|
|
496
|
+
"undefined"
|
|
497
|
+
]
|
|
498
|
+
}
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"name": "minlength",
|
|
502
|
+
"description": "Minimum number of characters (in Unicode code points) that the user can enter.",
|
|
503
|
+
"value": {
|
|
504
|
+
"type": [
|
|
505
|
+
"number",
|
|
506
|
+
"null",
|
|
507
|
+
"undefined"
|
|
508
|
+
]
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
],
|
|
512
|
+
"events": [
|
|
513
|
+
{
|
|
514
|
+
"name": "validated",
|
|
515
|
+
"description": "Fired whenever the field is validated."
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "change",
|
|
519
|
+
"description": "Fired when the user commits a value change."
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"name": "input",
|
|
523
|
+
"description": "Fired when the value is changed by the user: on every typing keystroke,\nand the value is cleared using the clear button."
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"name": "value-changed",
|
|
527
|
+
"description": "Fired when the `value` property changes."
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "invalid-changed",
|
|
531
|
+
"description": "Fired when the `invalid` property changes."
|
|
532
|
+
}
|
|
533
|
+
]
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
]
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/web-types",
|
|
3
|
+
"name": "@vaadin/email-field",
|
|
4
|
+
"version": "23.3.0-alpha1",
|
|
5
|
+
"description-markup": "markdown",
|
|
6
|
+
"framework": "lit",
|
|
7
|
+
"framework-config": {
|
|
8
|
+
"enable-when": {
|
|
9
|
+
"node-packages": [
|
|
10
|
+
"lit"
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"contributions": {
|
|
15
|
+
"html": {
|
|
16
|
+
"elements": [
|
|
17
|
+
{
|
|
18
|
+
"name": "vaadin-email-field",
|
|
19
|
+
"description": "`<vaadin-email-field>` is a Web Component for email field control in forms.\n\n```html\n<vaadin-email-field label=\"Email\"></vaadin-email-field>\n```\n\n### Styling\n\n`<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\nSee [`<vaadin-text-field>`](https://cdn.vaadin.com/vaadin-web-components/23.3.0-alpha1/#/elements/vaadin-text-field) for the styling documentation.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.",
|
|
20
|
+
"extension": true,
|
|
21
|
+
"attributes": [
|
|
22
|
+
{
|
|
23
|
+
"name": "?invalid",
|
|
24
|
+
"description": "Set to true when the field is invalid.",
|
|
25
|
+
"value": {
|
|
26
|
+
"kind": "expression"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "?required",
|
|
31
|
+
"description": "Specifies that the user must fill in a value.",
|
|
32
|
+
"value": {
|
|
33
|
+
"kind": "expression"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "?preventInvalidInput",
|
|
38
|
+
"description": "When set to true, user is prevented from typing a value that\nconflicts with the given `pattern`.",
|
|
39
|
+
"value": {
|
|
40
|
+
"kind": "expression"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "?disabled",
|
|
45
|
+
"description": "If true, the user cannot interact with this element.",
|
|
46
|
+
"value": {
|
|
47
|
+
"kind": "expression"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "?autofocus",
|
|
52
|
+
"description": "Specify that this control should have input focus when the page loads.",
|
|
53
|
+
"value": {
|
|
54
|
+
"kind": "expression"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "?autoselect",
|
|
59
|
+
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
|
|
60
|
+
"value": {
|
|
61
|
+
"kind": "expression"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "?clearButtonVisible",
|
|
66
|
+
"description": "Set to true to display the clear icon which clears the input.",
|
|
67
|
+
"value": {
|
|
68
|
+
"kind": "expression"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "?readonly",
|
|
73
|
+
"description": "When present, it specifies that the field is read-only.",
|
|
74
|
+
"value": {
|
|
75
|
+
"kind": "expression"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": ".value",
|
|
80
|
+
"description": "The value of the field.",
|
|
81
|
+
"value": {
|
|
82
|
+
"kind": "expression"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": ".pattern",
|
|
87
|
+
"description": "A regular expression that the value is checked against.\nThe pattern must match the entire value, not just some subset.",
|
|
88
|
+
"value": {
|
|
89
|
+
"kind": "expression"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": ".label",
|
|
94
|
+
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
|
|
95
|
+
"value": {
|
|
96
|
+
"kind": "expression"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": ".errorMessage",
|
|
101
|
+
"description": "Error to show when the field is invalid.",
|
|
102
|
+
"value": {
|
|
103
|
+
"kind": "expression"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": ".helperText",
|
|
108
|
+
"description": "String used for the helper text.",
|
|
109
|
+
"value": {
|
|
110
|
+
"kind": "expression"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": ".allowedCharPattern",
|
|
115
|
+
"description": "A pattern matched against individual characters the user inputs.\n\nWhen set, the field will prevent:\n- `keydown` events if the entered key doesn't match `/^allowedCharPattern$/`\n- `paste` events if the pasted text doesn't match `/^allowedCharPattern*$/`\n- `drop` events if the dropped text doesn't match `/^allowedCharPattern*$/`\n\nFor example, to allow entering only numbers and minus signs, use:\n`allowedCharPattern = \"[\\\\d-]\"`",
|
|
116
|
+
"value": {
|
|
117
|
+
"kind": "expression"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": ".name",
|
|
122
|
+
"description": "The name of this field.",
|
|
123
|
+
"value": {
|
|
124
|
+
"kind": "expression"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": ".placeholder",
|
|
129
|
+
"description": "A hint to the user of what can be entered in the field.",
|
|
130
|
+
"value": {
|
|
131
|
+
"kind": "expression"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": ".title",
|
|
136
|
+
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
|
|
137
|
+
"value": {
|
|
138
|
+
"kind": "expression"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": ".autocomplete",
|
|
143
|
+
"description": "Whether the value of the control can be automatically completed by the browser.\nList of available options at:\nhttps://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete",
|
|
144
|
+
"value": {
|
|
145
|
+
"kind": "expression"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": ".autocorrect",
|
|
150
|
+
"description": "This is a property supported by Safari that is used to control whether\nautocorrection should be enabled when the user is entering/editing the text.\nPossible values are:\non: Enable autocorrection.\noff: Disable autocorrection.",
|
|
151
|
+
"value": {
|
|
152
|
+
"kind": "expression"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": ".autocapitalize",
|
|
157
|
+
"description": "This is a property supported by Safari and Chrome that is used to control whether\nautocapitalization should be enabled when the user is entering/editing the text.\nPossible values are:\ncharacters: Characters capitalization.\nwords: Words capitalization.\nsentences: Sentences capitalization.\nnone: No capitalization.",
|
|
158
|
+
"value": {
|
|
159
|
+
"kind": "expression"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": ".maxlength",
|
|
164
|
+
"description": "Maximum number of characters (in Unicode code points) that the user can enter.",
|
|
165
|
+
"value": {
|
|
166
|
+
"kind": "expression"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": ".minlength",
|
|
171
|
+
"description": "Minimum number of characters (in Unicode code points) that the user can enter.",
|
|
172
|
+
"value": {
|
|
173
|
+
"kind": "expression"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "@validated",
|
|
178
|
+
"description": "Fired whenever the field is validated.",
|
|
179
|
+
"value": {
|
|
180
|
+
"kind": "expression"
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "@change",
|
|
185
|
+
"description": "Fired when the user commits a value change.",
|
|
186
|
+
"value": {
|
|
187
|
+
"kind": "expression"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "@input",
|
|
192
|
+
"description": "Fired when the value is changed by the user: on every typing keystroke,\nand the value is cleared using the clear button.",
|
|
193
|
+
"value": {
|
|
194
|
+
"kind": "expression"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "@value-changed",
|
|
199
|
+
"description": "Fired when the `value` property changes.",
|
|
200
|
+
"value": {
|
|
201
|
+
"kind": "expression"
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "@invalid-changed",
|
|
206
|
+
"description": "Fired when the `invalid` property changes.",
|
|
207
|
+
"value": {
|
|
208
|
+
"kind": "expression"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|