@vaadin/time-picker 24.2.3 → 24.3.0-alpha10
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/package.json +12 -12
- package/src/vaadin-time-picker.d.ts +16 -0
- package/src/vaadin-time-picker.js +84 -22
- package/theme/lumo/vaadin-time-picker-styles.js +1 -0
- package/theme/lumo/vaadin-time-picker.js +0 -1
- package/theme/material/vaadin-time-picker-styles.js +1 -0
- package/theme/material/vaadin-time-picker.js +0 -1
- package/web-types.json +2 -2
- package/web-types.lit.json +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/time-picker",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.3.0-alpha10",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -36,24 +36,24 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@polymer/polymer": "^3.0.0",
|
|
39
|
-
"@vaadin/combo-box": "
|
|
40
|
-
"@vaadin/component-base": "
|
|
41
|
-
"@vaadin/field-base": "
|
|
42
|
-
"@vaadin/input-container": "
|
|
43
|
-
"@vaadin/item": "
|
|
44
|
-
"@vaadin/overlay": "
|
|
45
|
-
"@vaadin/vaadin-lumo-styles": "
|
|
46
|
-
"@vaadin/vaadin-material-styles": "
|
|
47
|
-
"@vaadin/vaadin-themable-mixin": "
|
|
39
|
+
"@vaadin/combo-box": "24.3.0-alpha10",
|
|
40
|
+
"@vaadin/component-base": "24.3.0-alpha10",
|
|
41
|
+
"@vaadin/field-base": "24.3.0-alpha10",
|
|
42
|
+
"@vaadin/input-container": "24.3.0-alpha10",
|
|
43
|
+
"@vaadin/item": "24.3.0-alpha10",
|
|
44
|
+
"@vaadin/overlay": "24.3.0-alpha10",
|
|
45
|
+
"@vaadin/vaadin-lumo-styles": "24.3.0-alpha10",
|
|
46
|
+
"@vaadin/vaadin-material-styles": "24.3.0-alpha10",
|
|
47
|
+
"@vaadin/vaadin-themable-mixin": "24.3.0-alpha10"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@esm-bundle/chai": "^4.3.4",
|
|
51
|
-
"@vaadin/testing-helpers": "^0.
|
|
51
|
+
"@vaadin/testing-helpers": "^0.6.0",
|
|
52
52
|
"sinon": "^13.0.2"
|
|
53
53
|
},
|
|
54
54
|
"web-types": [
|
|
55
55
|
"web-types.json",
|
|
56
56
|
"web-types.lit.json"
|
|
57
57
|
],
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "0271523d93fe5df0425ff64206886614f3c6f401"
|
|
59
59
|
}
|
|
@@ -112,6 +112,22 @@ export interface TimePickerEventMap extends HTMLElementEventMap, TimePickerCusto
|
|
|
112
112
|
*
|
|
113
113
|
* See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.
|
|
114
114
|
*
|
|
115
|
+
* ### Change events
|
|
116
|
+
*
|
|
117
|
+
* Depending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,
|
|
118
|
+
* the component can fire either a `change` event or an `unparsable-change` event:
|
|
119
|
+
*
|
|
120
|
+
* Value change | Event
|
|
121
|
+
* :------------------------|:------------------
|
|
122
|
+
* empty => parsable | change
|
|
123
|
+
* empty => unparsable | unparsable-change
|
|
124
|
+
* parsable => empty | change
|
|
125
|
+
* parsable => parsable | change
|
|
126
|
+
* parsable => unparsable | change
|
|
127
|
+
* unparsable => empty | unparsable-change
|
|
128
|
+
* unparsable => parsable | change
|
|
129
|
+
* unparsable => unparsable | unparsable-change
|
|
130
|
+
*
|
|
115
131
|
* @fires {Event} change - Fired when the user commits a value change.
|
|
116
132
|
* @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.
|
|
117
133
|
* @fires {CustomEvent} opened-changed - Fired when the `opened` property changes.
|
|
@@ -72,6 +72,22 @@ registerStyles('vaadin-time-picker', inputFieldShared, { moduleId: 'vaadin-time-
|
|
|
72
72
|
*
|
|
73
73
|
* See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.
|
|
74
74
|
*
|
|
75
|
+
* ### Change events
|
|
76
|
+
*
|
|
77
|
+
* Depending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,
|
|
78
|
+
* the component can fire either a `change` event or an `unparsable-change` event:
|
|
79
|
+
*
|
|
80
|
+
* Value change | Event
|
|
81
|
+
* :------------------------|:------------------
|
|
82
|
+
* empty => parsable | change
|
|
83
|
+
* empty => unparsable | unparsable-change
|
|
84
|
+
* parsable => empty | change
|
|
85
|
+
* parsable => parsable | change
|
|
86
|
+
* parsable => unparsable | change
|
|
87
|
+
* unparsable => empty | unparsable-change
|
|
88
|
+
* unparsable => parsable | change
|
|
89
|
+
* unparsable => unparsable | unparsable-change
|
|
90
|
+
*
|
|
75
91
|
* @fires {Event} change - Fired when the user commits a value change.
|
|
76
92
|
* @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.
|
|
77
93
|
* @fires {CustomEvent} opened-changed - Fired when the `opened` property changes.
|
|
@@ -127,7 +143,6 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
127
143
|
position-target="[[_inputContainer]]"
|
|
128
144
|
theme$="[[_theme]]"
|
|
129
145
|
on-change="__onComboBoxChange"
|
|
130
|
-
on-validated="__onComboBoxValidated"
|
|
131
146
|
on-has-input-value-changed="__onComboBoxHasInputValueChanged"
|
|
132
147
|
>
|
|
133
148
|
<vaadin-input-container
|
|
@@ -356,6 +371,20 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
356
371
|
return this.$.clearButton;
|
|
357
372
|
}
|
|
358
373
|
|
|
374
|
+
/**
|
|
375
|
+
* The input element's value when it cannot be parsed as a time, and an empty string otherwise.
|
|
376
|
+
*
|
|
377
|
+
* @private
|
|
378
|
+
* @return {string}
|
|
379
|
+
*/
|
|
380
|
+
get __unparsableValue() {
|
|
381
|
+
if (this._inputElementValue && !this.i18n.parseTime(this._inputElementValue)) {
|
|
382
|
+
return this._inputElementValue;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
return '';
|
|
386
|
+
}
|
|
387
|
+
|
|
359
388
|
/** @protected */
|
|
360
389
|
ready() {
|
|
361
390
|
super.ready();
|
|
@@ -421,6 +450,25 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
421
450
|
);
|
|
422
451
|
}
|
|
423
452
|
|
|
453
|
+
/**
|
|
454
|
+
* @param {boolean} focused
|
|
455
|
+
* @override
|
|
456
|
+
* @protected
|
|
457
|
+
*/
|
|
458
|
+
_setFocused(focused) {
|
|
459
|
+
super._setFocused(focused);
|
|
460
|
+
|
|
461
|
+
if (!focused) {
|
|
462
|
+
this.__commitValueChange();
|
|
463
|
+
|
|
464
|
+
// Do not validate when focusout is caused by document
|
|
465
|
+
// losing focus, which happens on browser tab switch.
|
|
466
|
+
if (document.hasFocus()) {
|
|
467
|
+
this.validate();
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
424
472
|
/** @private */
|
|
425
473
|
__validDayDivisor(step) {
|
|
426
474
|
// Valid if undefined, or exact divides a day, or has millisecond resolution
|
|
@@ -471,21 +519,39 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
471
519
|
this._comboBoxValue = this.i18n.formatTime(objWithStep);
|
|
472
520
|
this.__useMemo = false;
|
|
473
521
|
|
|
474
|
-
this.
|
|
475
|
-
this.__commitPendingValue();
|
|
522
|
+
this.__commitValueChange();
|
|
476
523
|
}
|
|
477
524
|
|
|
478
|
-
/**
|
|
479
|
-
|
|
525
|
+
/**
|
|
526
|
+
* Depending on the nature of the value change that has occurred since
|
|
527
|
+
* the last commit attempt, triggers validation and fires an event:
|
|
528
|
+
*
|
|
529
|
+
* Value change | Event
|
|
530
|
+
* -------------------------|-------------------
|
|
531
|
+
* empty => parsable | change
|
|
532
|
+
* empty => unparsable | unparsable-change
|
|
533
|
+
* parsable => empty | change
|
|
534
|
+
* parsable => parsable | change
|
|
535
|
+
* parsable => unparsable | change
|
|
536
|
+
* unparsable => empty | unparsable-change
|
|
537
|
+
* unparsable => parsable | change
|
|
538
|
+
* unparsable => unparsable | unparsable-change
|
|
539
|
+
*
|
|
540
|
+
* @private
|
|
541
|
+
*/
|
|
542
|
+
__commitValueChange() {
|
|
543
|
+
const unparsableValue = this.__unparsableValue;
|
|
544
|
+
|
|
480
545
|
if (this.__committedValue !== this.value) {
|
|
481
|
-
this.
|
|
482
|
-
this.
|
|
546
|
+
this.validate();
|
|
547
|
+
this.dispatchEvent(new CustomEvent('change', { bubbles: true }));
|
|
548
|
+
} else if (this.__committedUnparsableValue !== unparsableValue) {
|
|
549
|
+
this.validate();
|
|
550
|
+
this.dispatchEvent(new CustomEvent('unparsable-change'));
|
|
483
551
|
}
|
|
484
|
-
}
|
|
485
552
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
this.dispatchEvent(new CustomEvent('change', { bubbles: true }));
|
|
553
|
+
this.__committedValue = this.value;
|
|
554
|
+
this.__committedUnparsableValue = unparsableValue;
|
|
489
555
|
}
|
|
490
556
|
|
|
491
557
|
/**
|
|
@@ -602,8 +668,9 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
602
668
|
|
|
603
669
|
// Mark value set programmatically by the user
|
|
604
670
|
// as committed for the change event detection.
|
|
605
|
-
if (!this.
|
|
671
|
+
if (!this.__keepCommittedValue) {
|
|
606
672
|
this.__committedValue = value;
|
|
673
|
+
this.__committedUnparsableValue = '';
|
|
607
674
|
}
|
|
608
675
|
|
|
609
676
|
if (value !== '' && value !== null && !parsedObj) {
|
|
@@ -636,9 +703,9 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
636
703
|
if (value !== newValue) {
|
|
637
704
|
this._comboBoxValue = newValue;
|
|
638
705
|
} else {
|
|
639
|
-
this.
|
|
706
|
+
this.__keepCommittedValue = true;
|
|
640
707
|
this.__updateValue(parsedObj);
|
|
641
|
-
this.
|
|
708
|
+
this.__keepCommittedValue = false;
|
|
642
709
|
}
|
|
643
710
|
} else {
|
|
644
711
|
// If the user input can not be parsed, set a flag
|
|
@@ -648,16 +715,16 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
648
715
|
this.__keepInvalidInput = true;
|
|
649
716
|
}
|
|
650
717
|
|
|
651
|
-
this.
|
|
718
|
+
this.__keepCommittedValue = true;
|
|
652
719
|
this.value = '';
|
|
653
|
-
this.
|
|
720
|
+
this.__keepCommittedValue = false;
|
|
654
721
|
}
|
|
655
722
|
}
|
|
656
723
|
|
|
657
724
|
/** @private */
|
|
658
725
|
__onComboBoxChange(event) {
|
|
659
726
|
event.stopPropagation();
|
|
660
|
-
this.
|
|
727
|
+
this.__commitValueChange();
|
|
661
728
|
}
|
|
662
729
|
|
|
663
730
|
/**
|
|
@@ -669,11 +736,6 @@ class TimePicker extends PatternMixin(InputControlMixin(ThemableMixin(ElementMix
|
|
|
669
736
|
this._hasInputValue = this.$.comboBox._hasInputValue;
|
|
670
737
|
}
|
|
671
738
|
|
|
672
|
-
/** @private */
|
|
673
|
-
__onComboBoxValidated() {
|
|
674
|
-
this.validate();
|
|
675
|
-
}
|
|
676
|
-
|
|
677
739
|
/** @private */
|
|
678
740
|
__updateValue(obj) {
|
|
679
741
|
const timeString = this.__formatISO(this.__validateTime(obj)) || '';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright (c) 2018 - 2023 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
+
import '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';
|
|
6
7
|
import '@vaadin/vaadin-lumo-styles/font-icons.js';
|
|
7
8
|
import { comboBoxItem } from '@vaadin/combo-box/theme/lumo/vaadin-combo-box-item-styles.js';
|
|
8
9
|
import { comboBoxOverlay } from '@vaadin/combo-box/theme/lumo/vaadin-combo-box-overlay-styles.js';
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
* Copyright (c) 2018 - 2023 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
-
import '@vaadin/input-container/theme/lumo/vaadin-input-container.js';
|
|
7
6
|
import './vaadin-time-picker-styles.js';
|
|
8
7
|
import '../../src/vaadin-time-picker.js';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright (c) 2018 - 2023 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
+
import '@vaadin/input-container/theme/material/vaadin-input-container-styles.js';
|
|
6
7
|
import '@vaadin/vaadin-material-styles/font-icons.js';
|
|
7
8
|
import { comboBoxItem } from '@vaadin/combo-box/theme/material/vaadin-combo-box-item-styles.js';
|
|
8
9
|
import { comboBoxOverlay } from '@vaadin/combo-box/theme/material/vaadin-combo-box-overlay-styles.js';
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
* Copyright (c) 2018 - 2023 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
|
-
import '@vaadin/input-container/theme/material/vaadin-input-container.js';
|
|
7
6
|
import './vaadin-time-picker-styles.js';
|
|
8
7
|
import '../../src/vaadin-time-picker.js';
|
package/web-types.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/time-picker",
|
|
4
|
-
"version": "24.
|
|
4
|
+
"version": "24.3.0-alpha10",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"elements": [
|
|
9
9
|
{
|
|
10
10
|
"name": "vaadin-time-picker",
|
|
11
|
-
"description": "`<vaadin-time-picker>` is a Web Component providing a time-selection field.\n\n```html\n<vaadin-time-picker></vaadin-time-picker>\n```\n```js\ntimePicker.value = '14:30';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n\n`<vaadin-time-picker>` 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/24.
|
|
11
|
+
"description": "`<vaadin-time-picker>` is a Web Component providing a time-selection field.\n\n```html\n<vaadin-time-picker></vaadin-time-picker>\n```\n```js\ntimePicker.value = '14:30';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n\n`<vaadin-time-picker>` 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/24.3.0-alpha10/#/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`toggle-button` | The toggle button\n\nIn addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n\nAttribute | Description\n----------|------------------------------------------\n`opened` | Set when the time-picker dropdown is open\n\n### Internal components\n\nIn addition to `<vaadin-time-picker>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-time-picker-combo-box>` - has the same API as [`<vaadin-combo-box-light>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-combo-box-light).\n- `<vaadin-time-picker-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-overlay).\n- `<vaadin-time-picker-item>` - has the same API as [`<vaadin-item>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-item).\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-input-container) - an internal element wrapping the input.\n\nNote: the `theme` attribute value set on `<vaadin-time-picker>` is\npropagated to the internal components listed above.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Change events\n\nDepending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,\nthe component can fire either a `change` event or an `unparsable-change` event:\n\nValue change | Event\n:------------------------|:------------------\nempty => parsable | change\nempty => unparsable | unparsable-change\nparsable => empty | change\nparsable => parsable | change\nparsable => unparsable | change\nunparsable => empty | unparsable-change\nunparsable => parsable | change\nunparsable => unparsable | unparsable-change",
|
|
12
12
|
"attributes": [
|
|
13
13
|
{
|
|
14
14
|
"name": "disabled",
|
package/web-types.lit.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/time-picker",
|
|
4
|
-
"version": "24.
|
|
4
|
+
"version": "24.3.0-alpha10",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"elements": [
|
|
17
17
|
{
|
|
18
18
|
"name": "vaadin-time-picker",
|
|
19
|
-
"description": "`<vaadin-time-picker>` is a Web Component providing a time-selection field.\n\n```html\n<vaadin-time-picker></vaadin-time-picker>\n```\n```js\ntimePicker.value = '14:30';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n\n`<vaadin-time-picker>` 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/24.
|
|
19
|
+
"description": "`<vaadin-time-picker>` is a Web Component providing a time-selection field.\n\n```html\n<vaadin-time-picker></vaadin-time-picker>\n```\n```js\ntimePicker.value = '14:30';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n\n`<vaadin-time-picker>` 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/24.3.0-alpha10/#/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`toggle-button` | The toggle button\n\nIn addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n\nAttribute | Description\n----------|------------------------------------------\n`opened` | Set when the time-picker dropdown is open\n\n### Internal components\n\nIn addition to `<vaadin-time-picker>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-time-picker-combo-box>` - has the same API as [`<vaadin-combo-box-light>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-combo-box-light).\n- `<vaadin-time-picker-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-overlay).\n- `<vaadin-time-picker-item>` - has the same API as [`<vaadin-item>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-item).\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/24.3.0-alpha10/#/elements/vaadin-input-container) - an internal element wrapping the input.\n\nNote: the `theme` attribute value set on `<vaadin-time-picker>` is\npropagated to the internal components listed above.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Change events\n\nDepending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,\nthe component can fire either a `change` event or an `unparsable-change` event:\n\nValue change | Event\n:------------------------|:------------------\nempty => parsable | change\nempty => unparsable | unparsable-change\nparsable => empty | change\nparsable => parsable | change\nparsable => unparsable | change\nunparsable => empty | unparsable-change\nunparsable => parsable | change\nunparsable => unparsable | unparsable-change",
|
|
20
20
|
"extension": true,
|
|
21
21
|
"attributes": [
|
|
22
22
|
{
|