@vaadin/integer-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 +12 -6
- package/src/vaadin-integer-field.d.ts +11 -3
- package/src/vaadin-integer-field.js +9 -8
- package/web-types.json +535 -0
- package/web-types.lit.json +216 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
An extension of [`<vaadin-number-field>`](https://www.npmjs.com/package/@vaadin/number-field) component that only allows entering integer numbers.
|
|
4
4
|
|
|
5
|
-
[Documentation + Live Demo ↗](https://vaadin.com/docs/latest/
|
|
5
|
+
[Documentation + Live Demo ↗](https://vaadin.com/docs/latest/components/number-field/#integer-field)
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@vaadin/integer-field)
|
|
8
8
|
[](https://discord.gg/PHmkCKC)
|
|
@@ -27,7 +27,7 @@ import '@vaadin/integer-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/integer-field/vaadin-integer-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/integer-field/src/vaadin-integer-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/integer-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,14 +35,18 @@
|
|
|
33
35
|
],
|
|
34
36
|
"dependencies": {
|
|
35
37
|
"@polymer/polymer": "^3.0.0",
|
|
36
|
-
"@vaadin/number-field": "23.
|
|
37
|
-
"@vaadin/vaadin-lumo-styles": "23.
|
|
38
|
-
"@vaadin/vaadin-material-styles": "23.
|
|
38
|
+
"@vaadin/number-field": "23.3.0-alpha1",
|
|
39
|
+
"@vaadin/vaadin-lumo-styles": "23.3.0-alpha1",
|
|
40
|
+
"@vaadin/vaadin-material-styles": "23.3.0-alpha1"
|
|
39
41
|
},
|
|
40
42
|
"devDependencies": {
|
|
41
43
|
"@esm-bundle/chai": "^4.3.4",
|
|
42
44
|
"@vaadin/testing-helpers": "^0.3.2",
|
|
43
45
|
"sinon": "^13.0.2"
|
|
44
46
|
},
|
|
45
|
-
"
|
|
47
|
+
"web-types": [
|
|
48
|
+
"web-types.json",
|
|
49
|
+
"web-types.lit.json"
|
|
50
|
+
],
|
|
51
|
+
"gitHead": "beabc527d4b1274eb798ff701d406fed45cfe638"
|
|
46
52
|
}
|
|
@@ -22,10 +22,17 @@ export type IntegerFieldInvalidChangedEvent = CustomEvent<{ value: boolean }>;
|
|
|
22
22
|
*/
|
|
23
23
|
export type IntegerFieldValueChangedEvent = CustomEvent<{ value: string }>;
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Fired whenever the field is validated.
|
|
27
|
+
*/
|
|
28
|
+
export type IntegerFieldValidatedEvent = CustomEvent<{ valid: boolean }>;
|
|
29
|
+
|
|
25
30
|
export interface IntegerFieldCustomEventMap {
|
|
26
31
|
'invalid-changed': IntegerFieldInvalidChangedEvent;
|
|
27
32
|
|
|
28
33
|
'value-changed': IntegerFieldValueChangedEvent;
|
|
34
|
+
|
|
35
|
+
validated: IntegerFieldValidatedEvent;
|
|
29
36
|
}
|
|
30
37
|
|
|
31
38
|
export interface IntegerFieldEventMap extends HTMLElementEventMap, IntegerFieldCustomEventMap {
|
|
@@ -51,24 +58,25 @@ export interface IntegerFieldEventMap extends HTMLElementEventMap, IntegerFieldC
|
|
|
51
58
|
* `increase-button` | Increase ("plus") button
|
|
52
59
|
* `decrease-button` | Decrease ("minus") button
|
|
53
60
|
*
|
|
54
|
-
* See [Styling Components](https://vaadin.com/docs/latest/
|
|
61
|
+
* See [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.
|
|
55
62
|
*
|
|
56
63
|
* @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.
|
|
57
64
|
* @fires {Event} change - Fired when the user commits a value change.
|
|
58
65
|
* @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.
|
|
59
66
|
* @fires {CustomEvent} value-changed - Fired when the `value` property changes.
|
|
67
|
+
* @fires {CustomEvent} validated - Fired whenever the field is validated.
|
|
60
68
|
*/
|
|
61
69
|
declare class IntegerField extends NumberField {
|
|
62
70
|
addEventListener<K extends keyof IntegerFieldEventMap>(
|
|
63
71
|
type: K,
|
|
64
72
|
listener: (this: IntegerField, ev: IntegerFieldEventMap[K]) => void,
|
|
65
|
-
options?:
|
|
73
|
+
options?: AddEventListenerOptions | boolean,
|
|
66
74
|
): void;
|
|
67
75
|
|
|
68
76
|
removeEventListener<K extends keyof IntegerFieldEventMap>(
|
|
69
77
|
type: K,
|
|
70
78
|
listener: (this: IntegerField, ev: IntegerFieldEventMap[K]) => void,
|
|
71
|
-
options?:
|
|
79
|
+
options?: EventListenerOptions | boolean,
|
|
72
80
|
): void;
|
|
73
81
|
}
|
|
74
82
|
|
|
@@ -24,12 +24,13 @@ import { NumberField } from '@vaadin/number-field/src/vaadin-number-field.js';
|
|
|
24
24
|
* `increase-button` | Increase ("plus") button
|
|
25
25
|
* `decrease-button` | Decrease ("minus") button
|
|
26
26
|
*
|
|
27
|
-
* See [Styling Components](https://vaadin.com/docs/latest/
|
|
27
|
+
* See [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.
|
|
28
28
|
*
|
|
29
29
|
* @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.
|
|
30
30
|
* @fires {Event} change - Fired when the user commits a value change.
|
|
31
31
|
* @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.
|
|
32
32
|
* @fires {CustomEvent} value-changed - Fired when the `value` property changes.
|
|
33
|
+
* @fires {CustomEvent} validated - Fired whenever the field is validated.
|
|
33
34
|
*
|
|
34
35
|
* @extends NumberField
|
|
35
36
|
*/
|
|
@@ -65,20 +66,20 @@ export class IntegerField extends NumberField {
|
|
|
65
66
|
* Override an observer from `NumberField` to reset the step
|
|
66
67
|
* property when an invalid step is set.
|
|
67
68
|
* @param {number} newVal
|
|
68
|
-
* @param {
|
|
69
|
+
* @param {HTMLElement | undefined} inputElement
|
|
69
70
|
* @protected
|
|
70
71
|
* @override
|
|
71
72
|
*/
|
|
72
|
-
_stepChanged(
|
|
73
|
-
if (!this.__hasOnlyDigits(
|
|
73
|
+
_stepChanged(step, inputElement) {
|
|
74
|
+
if (step != null && !this.__hasOnlyDigits(step)) {
|
|
74
75
|
console.warn(
|
|
75
|
-
|
|
76
|
+
`<vaadin-integer-field> The \`step\` property must be a positive integer but \`${step}\` was provided, so the property was reset to \`null\`.`,
|
|
76
77
|
);
|
|
77
|
-
this.step =
|
|
78
|
+
this.step = null;
|
|
78
79
|
return;
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
super._stepChanged(
|
|
82
|
+
super._stepChanged(step, inputElement);
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
/** @private */
|
|
@@ -88,7 +89,7 @@ export class IntegerField extends NumberField {
|
|
|
88
89
|
|
|
89
90
|
/** @private */
|
|
90
91
|
__hasOnlyDigits(value) {
|
|
91
|
-
return /^\d
|
|
92
|
+
return /^\d+$/.test(String(value));
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
|
package/web-types.json
ADDED
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/web-types",
|
|
3
|
+
"name": "@vaadin/integer-field",
|
|
4
|
+
"version": "23.3.0-alpha1",
|
|
5
|
+
"description-markup": "markdown",
|
|
6
|
+
"contributions": {
|
|
7
|
+
"html": {
|
|
8
|
+
"elements": [
|
|
9
|
+
{
|
|
10
|
+
"name": "vaadin-integer-field",
|
|
11
|
+
"description": "`<vaadin-integer-field>` is an input field web component that only accepts entering integer numbers.\n\n```html\n<vaadin-integer-field label=\"X\"></vaadin-integer-field>\n```\n\n### Styling\n\n`<vaadin-integer-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\nIn addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n\nPart name | Description\n------------------|-------------------------\n`increase-button` | Increase (\"plus\") button\n`decrease-button` | Decrease (\"minus\") button\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.",
|
|
12
|
+
"attributes": [
|
|
13
|
+
{
|
|
14
|
+
"name": "disabled",
|
|
15
|
+
"description": "If true, the user cannot interact with this element.",
|
|
16
|
+
"value": {
|
|
17
|
+
"type": [
|
|
18
|
+
"boolean",
|
|
19
|
+
"null",
|
|
20
|
+
"undefined"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "autofocus",
|
|
26
|
+
"description": "Specify that this control should have input focus when the page loads.",
|
|
27
|
+
"value": {
|
|
28
|
+
"type": [
|
|
29
|
+
"boolean",
|
|
30
|
+
"null",
|
|
31
|
+
"undefined"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "label",
|
|
37
|
+
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
|
|
38
|
+
"value": {
|
|
39
|
+
"type": [
|
|
40
|
+
"string",
|
|
41
|
+
"null",
|
|
42
|
+
"undefined"
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "invalid",
|
|
48
|
+
"description": "Set to true when the field is invalid.",
|
|
49
|
+
"value": {
|
|
50
|
+
"type": [
|
|
51
|
+
"boolean",
|
|
52
|
+
"null",
|
|
53
|
+
"undefined"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "required",
|
|
59
|
+
"description": "Specifies that the user must fill in a value.",
|
|
60
|
+
"value": {
|
|
61
|
+
"type": [
|
|
62
|
+
"boolean",
|
|
63
|
+
"null",
|
|
64
|
+
"undefined"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "error-message",
|
|
70
|
+
"description": "Error to show when the field is invalid.",
|
|
71
|
+
"value": {
|
|
72
|
+
"type": [
|
|
73
|
+
"string",
|
|
74
|
+
"null",
|
|
75
|
+
"undefined"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "helper-text",
|
|
81
|
+
"description": "String used for the helper text.",
|
|
82
|
+
"value": {
|
|
83
|
+
"type": [
|
|
84
|
+
"string",
|
|
85
|
+
"null",
|
|
86
|
+
"undefined"
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "value",
|
|
92
|
+
"description": "The value of the field.",
|
|
93
|
+
"value": {
|
|
94
|
+
"type": [
|
|
95
|
+
"string",
|
|
96
|
+
"null",
|
|
97
|
+
"undefined"
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "allowed-char-pattern",
|
|
103
|
+
"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-]\"`",
|
|
104
|
+
"value": {
|
|
105
|
+
"type": [
|
|
106
|
+
"string",
|
|
107
|
+
"null",
|
|
108
|
+
"undefined"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "autoselect",
|
|
114
|
+
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
|
|
115
|
+
"value": {
|
|
116
|
+
"type": [
|
|
117
|
+
"boolean",
|
|
118
|
+
"null",
|
|
119
|
+
"undefined"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "clear-button-visible",
|
|
125
|
+
"description": "Set to true to display the clear icon which clears the input.",
|
|
126
|
+
"value": {
|
|
127
|
+
"type": [
|
|
128
|
+
"boolean",
|
|
129
|
+
"null",
|
|
130
|
+
"undefined"
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "name",
|
|
136
|
+
"description": "The name of this field.",
|
|
137
|
+
"value": {
|
|
138
|
+
"type": [
|
|
139
|
+
"string",
|
|
140
|
+
"null",
|
|
141
|
+
"undefined"
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "placeholder",
|
|
147
|
+
"description": "A hint to the user of what can be entered in the field.",
|
|
148
|
+
"value": {
|
|
149
|
+
"type": [
|
|
150
|
+
"string",
|
|
151
|
+
"null",
|
|
152
|
+
"undefined"
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "readonly",
|
|
158
|
+
"description": "When present, it specifies that the field is read-only.",
|
|
159
|
+
"value": {
|
|
160
|
+
"type": [
|
|
161
|
+
"boolean",
|
|
162
|
+
"null",
|
|
163
|
+
"undefined"
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "title",
|
|
169
|
+
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
|
|
170
|
+
"value": {
|
|
171
|
+
"type": [
|
|
172
|
+
"string",
|
|
173
|
+
"null",
|
|
174
|
+
"undefined"
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "autocomplete",
|
|
180
|
+
"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",
|
|
181
|
+
"value": {
|
|
182
|
+
"type": [
|
|
183
|
+
"string",
|
|
184
|
+
"null",
|
|
185
|
+
"undefined"
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "autocorrect",
|
|
191
|
+
"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.",
|
|
192
|
+
"value": {
|
|
193
|
+
"type": [
|
|
194
|
+
"string",
|
|
195
|
+
"null",
|
|
196
|
+
"undefined"
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "autocapitalize",
|
|
202
|
+
"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.",
|
|
203
|
+
"value": {
|
|
204
|
+
"type": [
|
|
205
|
+
"string",
|
|
206
|
+
"null",
|
|
207
|
+
"undefined"
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "has-controls",
|
|
213
|
+
"description": "Set to true to display value increase/decrease controls.",
|
|
214
|
+
"value": {
|
|
215
|
+
"type": [
|
|
216
|
+
"boolean",
|
|
217
|
+
"null",
|
|
218
|
+
"undefined"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "min",
|
|
224
|
+
"description": "The minimum value of the field.",
|
|
225
|
+
"value": {
|
|
226
|
+
"type": [
|
|
227
|
+
"number",
|
|
228
|
+
"null",
|
|
229
|
+
"undefined"
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"name": "max",
|
|
235
|
+
"description": "The maximum value of the field.",
|
|
236
|
+
"value": {
|
|
237
|
+
"type": [
|
|
238
|
+
"number",
|
|
239
|
+
"null",
|
|
240
|
+
"undefined"
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "step",
|
|
246
|
+
"description": "Specifies the allowed number intervals of the field.",
|
|
247
|
+
"value": {
|
|
248
|
+
"type": [
|
|
249
|
+
"number"
|
|
250
|
+
]
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "theme",
|
|
255
|
+
"description": "The theme variants to apply to the component.",
|
|
256
|
+
"value": {
|
|
257
|
+
"type": [
|
|
258
|
+
"string",
|
|
259
|
+
"null",
|
|
260
|
+
"undefined"
|
|
261
|
+
]
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
"js": {
|
|
266
|
+
"properties": [
|
|
267
|
+
{
|
|
268
|
+
"name": "disabled",
|
|
269
|
+
"description": "If true, the user cannot interact with this element.",
|
|
270
|
+
"value": {
|
|
271
|
+
"type": [
|
|
272
|
+
"boolean",
|
|
273
|
+
"null",
|
|
274
|
+
"undefined"
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "autofocus",
|
|
280
|
+
"description": "Specify that this control should have input focus when the page loads.",
|
|
281
|
+
"value": {
|
|
282
|
+
"type": [
|
|
283
|
+
"boolean",
|
|
284
|
+
"null",
|
|
285
|
+
"undefined"
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "label",
|
|
291
|
+
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
|
|
292
|
+
"value": {
|
|
293
|
+
"type": [
|
|
294
|
+
"string",
|
|
295
|
+
"null",
|
|
296
|
+
"undefined"
|
|
297
|
+
]
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"name": "invalid",
|
|
302
|
+
"description": "Set to true when the field is invalid.",
|
|
303
|
+
"value": {
|
|
304
|
+
"type": [
|
|
305
|
+
"boolean",
|
|
306
|
+
"null",
|
|
307
|
+
"undefined"
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "required",
|
|
313
|
+
"description": "Specifies that the user must fill in a value.",
|
|
314
|
+
"value": {
|
|
315
|
+
"type": [
|
|
316
|
+
"boolean",
|
|
317
|
+
"null",
|
|
318
|
+
"undefined"
|
|
319
|
+
]
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"name": "errorMessage",
|
|
324
|
+
"description": "Error to show when the field is invalid.",
|
|
325
|
+
"value": {
|
|
326
|
+
"type": [
|
|
327
|
+
"string",
|
|
328
|
+
"null",
|
|
329
|
+
"undefined"
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"name": "helperText",
|
|
335
|
+
"description": "String used for the helper text.",
|
|
336
|
+
"value": {
|
|
337
|
+
"type": [
|
|
338
|
+
"string",
|
|
339
|
+
"null",
|
|
340
|
+
"undefined"
|
|
341
|
+
]
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"name": "value",
|
|
346
|
+
"description": "The value of the field.",
|
|
347
|
+
"value": {
|
|
348
|
+
"type": [
|
|
349
|
+
"string",
|
|
350
|
+
"null",
|
|
351
|
+
"undefined"
|
|
352
|
+
]
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"name": "allowedCharPattern",
|
|
357
|
+
"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-]\"`",
|
|
358
|
+
"value": {
|
|
359
|
+
"type": [
|
|
360
|
+
"string",
|
|
361
|
+
"null",
|
|
362
|
+
"undefined"
|
|
363
|
+
]
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"name": "autoselect",
|
|
368
|
+
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
|
|
369
|
+
"value": {
|
|
370
|
+
"type": [
|
|
371
|
+
"boolean",
|
|
372
|
+
"null",
|
|
373
|
+
"undefined"
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"name": "clearButtonVisible",
|
|
379
|
+
"description": "Set to true to display the clear icon which clears the input.",
|
|
380
|
+
"value": {
|
|
381
|
+
"type": [
|
|
382
|
+
"boolean",
|
|
383
|
+
"null",
|
|
384
|
+
"undefined"
|
|
385
|
+
]
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"name": "name",
|
|
390
|
+
"description": "The name of this field.",
|
|
391
|
+
"value": {
|
|
392
|
+
"type": [
|
|
393
|
+
"string",
|
|
394
|
+
"null",
|
|
395
|
+
"undefined"
|
|
396
|
+
]
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "placeholder",
|
|
401
|
+
"description": "A hint to the user of what can be entered in the field.",
|
|
402
|
+
"value": {
|
|
403
|
+
"type": [
|
|
404
|
+
"string",
|
|
405
|
+
"null",
|
|
406
|
+
"undefined"
|
|
407
|
+
]
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "readonly",
|
|
412
|
+
"description": "When present, it specifies that the field is read-only.",
|
|
413
|
+
"value": {
|
|
414
|
+
"type": [
|
|
415
|
+
"boolean",
|
|
416
|
+
"null",
|
|
417
|
+
"undefined"
|
|
418
|
+
]
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "title",
|
|
423
|
+
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
|
|
424
|
+
"value": {
|
|
425
|
+
"type": [
|
|
426
|
+
"string",
|
|
427
|
+
"null",
|
|
428
|
+
"undefined"
|
|
429
|
+
]
|
|
430
|
+
}
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"name": "autocomplete",
|
|
434
|
+
"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",
|
|
435
|
+
"value": {
|
|
436
|
+
"type": [
|
|
437
|
+
"string",
|
|
438
|
+
"null",
|
|
439
|
+
"undefined"
|
|
440
|
+
]
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "autocorrect",
|
|
445
|
+
"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.",
|
|
446
|
+
"value": {
|
|
447
|
+
"type": [
|
|
448
|
+
"string",
|
|
449
|
+
"null",
|
|
450
|
+
"undefined"
|
|
451
|
+
]
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"name": "autocapitalize",
|
|
456
|
+
"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.",
|
|
457
|
+
"value": {
|
|
458
|
+
"type": [
|
|
459
|
+
"string",
|
|
460
|
+
"null",
|
|
461
|
+
"undefined"
|
|
462
|
+
]
|
|
463
|
+
}
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"name": "hasControls",
|
|
467
|
+
"description": "Set to true to display value increase/decrease controls.",
|
|
468
|
+
"value": {
|
|
469
|
+
"type": [
|
|
470
|
+
"boolean",
|
|
471
|
+
"null",
|
|
472
|
+
"undefined"
|
|
473
|
+
]
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "min",
|
|
478
|
+
"description": "The minimum value of the field.",
|
|
479
|
+
"value": {
|
|
480
|
+
"type": [
|
|
481
|
+
"number",
|
|
482
|
+
"null",
|
|
483
|
+
"undefined"
|
|
484
|
+
]
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"name": "max",
|
|
489
|
+
"description": "The maximum value of the field.",
|
|
490
|
+
"value": {
|
|
491
|
+
"type": [
|
|
492
|
+
"number",
|
|
493
|
+
"null",
|
|
494
|
+
"undefined"
|
|
495
|
+
]
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"name": "step",
|
|
500
|
+
"description": "Specifies the allowed number intervals of the field.",
|
|
501
|
+
"value": {
|
|
502
|
+
"type": [
|
|
503
|
+
"number"
|
|
504
|
+
]
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
"events": [
|
|
509
|
+
{
|
|
510
|
+
"name": "validated",
|
|
511
|
+
"description": "Fired whenever the field is validated."
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "change",
|
|
515
|
+
"description": "Fired when the user commits a value change."
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "input",
|
|
519
|
+
"description": "Fired when the value is changed by the user: on every typing keystroke,\nand the value is cleared using the clear button."
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"name": "invalid-changed",
|
|
523
|
+
"description": "Fired when the `invalid` property changes."
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"name": "value-changed",
|
|
527
|
+
"description": "Fired when the `value` property changes."
|
|
528
|
+
}
|
|
529
|
+
]
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
]
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/web-types",
|
|
3
|
+
"name": "@vaadin/integer-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-integer-field",
|
|
19
|
+
"description": "`<vaadin-integer-field>` is an input field web component that only accepts entering integer numbers.\n\n```html\n<vaadin-integer-field label=\"X\"></vaadin-integer-field>\n```\n\n### Styling\n\n`<vaadin-integer-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\nIn addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n\nPart name | Description\n------------------|-------------------------\n`increase-button` | Increase (\"plus\") button\n`decrease-button` | Decrease (\"minus\") button\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/custom-theme/styling-components) documentation.",
|
|
20
|
+
"extension": true,
|
|
21
|
+
"attributes": [
|
|
22
|
+
{
|
|
23
|
+
"name": "?disabled",
|
|
24
|
+
"description": "If true, the user cannot interact with this element.",
|
|
25
|
+
"value": {
|
|
26
|
+
"kind": "expression"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "?autofocus",
|
|
31
|
+
"description": "Specify that this control should have input focus when the page loads.",
|
|
32
|
+
"value": {
|
|
33
|
+
"kind": "expression"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "?invalid",
|
|
38
|
+
"description": "Set to true when the field is invalid.",
|
|
39
|
+
"value": {
|
|
40
|
+
"kind": "expression"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "?required",
|
|
45
|
+
"description": "Specifies that the user must fill in a value.",
|
|
46
|
+
"value": {
|
|
47
|
+
"kind": "expression"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "?autoselect",
|
|
52
|
+
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
|
|
53
|
+
"value": {
|
|
54
|
+
"kind": "expression"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "?clearButtonVisible",
|
|
59
|
+
"description": "Set to true to display the clear icon which clears the input.",
|
|
60
|
+
"value": {
|
|
61
|
+
"kind": "expression"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "?readonly",
|
|
66
|
+
"description": "When present, it specifies that the field is read-only.",
|
|
67
|
+
"value": {
|
|
68
|
+
"kind": "expression"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "?hasControls",
|
|
73
|
+
"description": "Set to true to display value increase/decrease controls.",
|
|
74
|
+
"value": {
|
|
75
|
+
"kind": "expression"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": ".label",
|
|
80
|
+
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
|
|
81
|
+
"value": {
|
|
82
|
+
"kind": "expression"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": ".errorMessage",
|
|
87
|
+
"description": "Error to show when the field is invalid.",
|
|
88
|
+
"value": {
|
|
89
|
+
"kind": "expression"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": ".helperText",
|
|
94
|
+
"description": "String used for the helper text.",
|
|
95
|
+
"value": {
|
|
96
|
+
"kind": "expression"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": ".value",
|
|
101
|
+
"description": "The value of the field.",
|
|
102
|
+
"value": {
|
|
103
|
+
"kind": "expression"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": ".allowedCharPattern",
|
|
108
|
+
"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-]\"`",
|
|
109
|
+
"value": {
|
|
110
|
+
"kind": "expression"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": ".name",
|
|
115
|
+
"description": "The name of this field.",
|
|
116
|
+
"value": {
|
|
117
|
+
"kind": "expression"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": ".placeholder",
|
|
122
|
+
"description": "A hint to the user of what can be entered in the field.",
|
|
123
|
+
"value": {
|
|
124
|
+
"kind": "expression"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": ".title",
|
|
129
|
+
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
|
|
130
|
+
"value": {
|
|
131
|
+
"kind": "expression"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": ".autocomplete",
|
|
136
|
+
"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",
|
|
137
|
+
"value": {
|
|
138
|
+
"kind": "expression"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": ".autocorrect",
|
|
143
|
+
"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.",
|
|
144
|
+
"value": {
|
|
145
|
+
"kind": "expression"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": ".autocapitalize",
|
|
150
|
+
"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.",
|
|
151
|
+
"value": {
|
|
152
|
+
"kind": "expression"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": ".min",
|
|
157
|
+
"description": "The minimum value of the field.",
|
|
158
|
+
"value": {
|
|
159
|
+
"kind": "expression"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": ".max",
|
|
164
|
+
"description": "The maximum value of the field.",
|
|
165
|
+
"value": {
|
|
166
|
+
"kind": "expression"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": ".step",
|
|
171
|
+
"description": "Specifies the allowed number intervals of the field.",
|
|
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": "@invalid-changed",
|
|
199
|
+
"description": "Fired when the `invalid` property changes.",
|
|
200
|
+
"value": {
|
|
201
|
+
"kind": "expression"
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "@value-changed",
|
|
206
|
+
"description": "Fired when the `value` property changes.",
|
|
207
|
+
"value": {
|
|
208
|
+
"kind": "expression"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|