@vaadin/time-picker 25.0.0-alpha4 → 25.0.0-alpha6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/time-picker",
3
- "version": "25.0.0-alpha4",
3
+ "version": "25.0.0-alpha6",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,19 +37,19 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "@open-wc/dedupe-mixin": "^1.3.0",
40
- "@vaadin/combo-box": "25.0.0-alpha4",
41
- "@vaadin/component-base": "25.0.0-alpha4",
42
- "@vaadin/field-base": "25.0.0-alpha4",
43
- "@vaadin/input-container": "25.0.0-alpha4",
44
- "@vaadin/item": "25.0.0-alpha4",
45
- "@vaadin/overlay": "25.0.0-alpha4",
46
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha4",
47
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha4",
40
+ "@vaadin/combo-box": "25.0.0-alpha6",
41
+ "@vaadin/component-base": "25.0.0-alpha6",
42
+ "@vaadin/field-base": "25.0.0-alpha6",
43
+ "@vaadin/input-container": "25.0.0-alpha6",
44
+ "@vaadin/item": "25.0.0-alpha6",
45
+ "@vaadin/overlay": "25.0.0-alpha6",
46
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha6",
47
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha6",
48
48
  "lit": "^3.0.0"
49
49
  },
50
50
  "devDependencies": {
51
- "@vaadin/chai-plugins": "25.0.0-alpha4",
52
- "@vaadin/test-runner-commands": "25.0.0-alpha4",
51
+ "@vaadin/chai-plugins": "25.0.0-alpha6",
52
+ "@vaadin/test-runner-commands": "25.0.0-alpha6",
53
53
  "@vaadin/testing-helpers": "^2.0.0",
54
54
  "sinon": "^18.0.0"
55
55
  },
@@ -57,5 +57,5 @@
57
57
  "web-types.json",
58
58
  "web-types.lit.json"
59
59
  ],
60
- "gitHead": "ce4421f0daf26027b863b91787a474e4cc264344"
60
+ "gitHead": "cd1d084198d2b326c58d44bb39fa4845b71ce551"
61
61
  }
@@ -14,9 +14,6 @@ export const timePickerScrollerStyles = css`
14
14
  /* Fixes item background from getting on top of scrollbars on Safari */
15
15
  transform: translate3d(0, 0, 0);
16
16
 
17
- /* Enable momentum scrolling on iOS */
18
- -webkit-overflow-scrolling: touch;
19
-
20
17
  /* Fixes scrollbar disappearing when 'Show scroll bars: Always' enabled in Safari */
21
18
  box-shadow: 0 0 0 white;
22
19
  }
@@ -9,7 +9,7 @@ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
9
9
  import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
10
10
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
11
11
  import { itemStyles } from '@vaadin/item/src/styles/vaadin-item-core-styles.js';
12
- import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
12
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
13
13
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
14
14
 
15
15
  /**
@@ -40,7 +40,7 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix
40
40
  * @private
41
41
  */
42
42
  export class TimePickerItem extends ComboBoxItemMixin(
43
- CSSInjectionMixin(ThemableMixin(DirMixin(PolylitMixin(LitElement)))),
43
+ LumoInjectionMixin(ThemableMixin(DirMixin(PolylitMixin(LitElement)))),
44
44
  ) {
45
45
  static get is() {
46
46
  return 'vaadin-time-picker-item';
@@ -23,6 +23,7 @@ const MAX_ALLOWED_TIME = '23:59:59.999';
23
23
  * A mixin providing common time-picker functionality.
24
24
  *
25
25
  * @polymerMixin
26
+ * @mixes ComboBoxBaseMixin
26
27
  * @mixes InputControlMixin
27
28
  * @mixes PatternMixin
28
29
  */
@@ -10,7 +10,7 @@ import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
10
10
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
11
11
  import { overlayStyles } from '@vaadin/overlay/src/styles/vaadin-overlay-core-styles.js';
12
12
  import { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';
13
- import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
13
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
14
14
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
15
15
  import { timePickerOverlayStyles } from './styles/vaadin-time-picker-overlay-core-styles.js';
16
16
 
@@ -25,7 +25,7 @@ import { timePickerOverlayStyles } from './styles/vaadin-time-picker-overlay-cor
25
25
  * @private
26
26
  */
27
27
  export class TimePickerOverlay extends ComboBoxOverlayMixin(
28
- OverlayMixin(DirMixin(CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))),
28
+ OverlayMixin(DirMixin(LumoInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))),
29
29
  ) {
30
30
  static get is() {
31
31
  return 'vaadin-time-picker-overlay';
@@ -7,7 +7,7 @@ import { html, LitElement } from 'lit';
7
7
  import { ComboBoxScrollerMixin } from '@vaadin/combo-box/src/vaadin-combo-box-scroller-mixin.js';
8
8
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
9
9
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
10
- import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
10
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
11
11
  import { timePickerScrollerStyles } from './styles/vaadin-time-picker-scroller-core-styles.js';
12
12
 
13
13
  /**
@@ -18,7 +18,7 @@ import { timePickerScrollerStyles } from './styles/vaadin-time-picker-scroller-c
18
18
  * @mixes ComboBoxScrollerMixin
19
19
  * @private
20
20
  */
21
- export class TimePickerScroller extends ComboBoxScrollerMixin(CSSInjectionMixin(PolylitMixin(LitElement))) {
21
+ export class TimePickerScroller extends ComboBoxScrollerMixin(LumoInjectionMixin(PolylitMixin(LitElement))) {
22
22
  static get is() {
23
23
  return 'vaadin-time-picker-scroller';
24
24
  }
@@ -13,7 +13,7 @@ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
13
13
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
14
14
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
15
15
  import { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';
16
- import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
16
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
17
17
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
18
18
  import { timePickerStyles } from './styles/vaadin-time-picker-core-styles.js';
19
19
  import { TimePickerMixin } from './vaadin-time-picker-mixin.js';
@@ -97,7 +97,7 @@ import { TimePickerMixin } from './vaadin-time-picker-mixin.js';
97
97
  * @mixes ThemableMixin
98
98
  * @mixes TimePickerMixin
99
99
  */
100
- class TimePicker extends TimePickerMixin(CSSInjectionMixin(ThemableMixin(ElementMixin(PolylitMixin(LitElement))))) {
100
+ class TimePicker extends TimePickerMixin(LumoInjectionMixin(ThemableMixin(ElementMixin(PolylitMixin(LitElement))))) {
101
101
  static get is() {
102
102
  return 'vaadin-time-picker';
103
103
  }
@@ -139,6 +139,7 @@ class TimePicker extends TimePickerMixin(CSSInjectionMixin(ThemableMixin(Element
139
139
 
140
140
  <vaadin-time-picker-overlay
141
141
  id="overlay"
142
+ .owner="${this}"
142
143
  .opened="${this._overlayOpened}"
143
144
  theme="${ifDefined(this._theme)}"
144
145
  .positionTarget="${this._inputContainer}"
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": "25.0.0-alpha4",
4
+ "version": "25.0.0-alpha6",
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-time-picker-overlay-width` | Width of the overlay | `auto`\n`--vaadin-time-picker-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/25.0.0-alpha4/#/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-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha4/#/elements/vaadin-overlay).\n- `<vaadin-time-picker-item>` - has the same API as [`<vaadin-item>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha4/#/elements/vaadin-item).\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha4/#/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",
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-time-picker-overlay-width` | Width of the overlay | `auto`\n`--vaadin-time-picker-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/25.0.0-alpha6/#/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-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha6/#/elements/vaadin-overlay).\n- `<vaadin-time-picker-item>` - has the same API as [`<vaadin-item>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha6/#/elements/vaadin-item).\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha6/#/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",
@@ -21,6 +21,57 @@
21
21
  ]
22
22
  }
23
23
  },
24
+ {
25
+ "name": "value",
26
+ "description": "The time value for this element.\n\nSupported time formats are in ISO 8601:\n- `hh:mm` (default)\n- `hh:mm:ss`\n- `hh:mm:ss.fff`",
27
+ "value": {
28
+ "type": [
29
+ "string"
30
+ ]
31
+ }
32
+ },
33
+ {
34
+ "name": "overlay-class",
35
+ "description": "A space-delimited list of CSS class names to set on the overlay element.\nThis property does not affect other CSS class names set manually via JS.\n\nNote, if the CSS class name was set with this property, clearing it will\nremove it from the overlay, even if the same class name was also added\nmanually, e.g. by using `classList.add()` in the `renderer` function.",
36
+ "value": {
37
+ "type": [
38
+ "string",
39
+ "null",
40
+ "undefined"
41
+ ]
42
+ }
43
+ },
44
+ {
45
+ "name": "opened",
46
+ "description": "True if the dropdown is open, false otherwise.",
47
+ "value": {
48
+ "type": [
49
+ "boolean"
50
+ ]
51
+ }
52
+ },
53
+ {
54
+ "name": "auto-open-disabled",
55
+ "description": "Set true to prevent the overlay from opening automatically.",
56
+ "value": {
57
+ "type": [
58
+ "boolean",
59
+ "null",
60
+ "undefined"
61
+ ]
62
+ }
63
+ },
64
+ {
65
+ "name": "readonly",
66
+ "description": "When present, it specifies that the field is read-only.",
67
+ "value": {
68
+ "type": [
69
+ "boolean",
70
+ "null",
71
+ "undefined"
72
+ ]
73
+ }
74
+ },
24
75
  {
25
76
  "name": "autofocus",
26
77
  "description": "Specify that this control should have input focus when the page loads.",
@@ -120,15 +171,6 @@
120
171
  ]
121
172
  }
122
173
  },
123
- {
124
- "name": "value",
125
- "description": "The time value for this element.\n\nSupported time formats are in ISO 8601:\n- `hh:mm` (default)\n- `hh:mm:ss`\n- `hh:mm:ss.fff`",
126
- "value": {
127
- "type": [
128
- "string"
129
- ]
130
- }
131
- },
132
174
  {
133
175
  "name": "clear-button-visible",
134
176
  "description": "Set to true to display the clear icon which clears the input.\n\nIt is up to the component to choose where to place the clear icon:\nin the Shadow DOM or in the light DOM. In any way, a reference to\nthe clear icon element should be provided via the `clearElement` getter.",
@@ -184,17 +226,6 @@
184
226
  ]
185
227
  }
186
228
  },
187
- {
188
- "name": "readonly",
189
- "description": "When present, it specifies that the field is read-only.",
190
- "value": {
191
- "type": [
192
- "boolean",
193
- "null",
194
- "undefined"
195
- ]
196
- }
197
- },
198
229
  {
199
230
  "name": "title",
200
231
  "description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
@@ -271,6 +302,57 @@
271
302
  ]
272
303
  }
273
304
  },
305
+ {
306
+ "name": "value",
307
+ "description": "The time value for this element.\n\nSupported time formats are in ISO 8601:\n- `hh:mm` (default)\n- `hh:mm:ss`\n- `hh:mm:ss.fff`",
308
+ "value": {
309
+ "type": [
310
+ "string"
311
+ ]
312
+ }
313
+ },
314
+ {
315
+ "name": "overlayClass",
316
+ "description": "A space-delimited list of CSS class names to set on the overlay element.\nThis property does not affect other CSS class names set manually via JS.\n\nNote, if the CSS class name was set with this property, clearing it will\nremove it from the overlay, even if the same class name was also added\nmanually, e.g. by using `classList.add()` in the `renderer` function.",
317
+ "value": {
318
+ "type": [
319
+ "string",
320
+ "null",
321
+ "undefined"
322
+ ]
323
+ }
324
+ },
325
+ {
326
+ "name": "opened",
327
+ "description": "True if the dropdown is open, false otherwise.",
328
+ "value": {
329
+ "type": [
330
+ "boolean"
331
+ ]
332
+ }
333
+ },
334
+ {
335
+ "name": "autoOpenDisabled",
336
+ "description": "Set true to prevent the overlay from opening automatically.",
337
+ "value": {
338
+ "type": [
339
+ "boolean",
340
+ "null",
341
+ "undefined"
342
+ ]
343
+ }
344
+ },
345
+ {
346
+ "name": "readonly",
347
+ "description": "When present, it specifies that the field is read-only.",
348
+ "value": {
349
+ "type": [
350
+ "boolean",
351
+ "null",
352
+ "undefined"
353
+ ]
354
+ }
355
+ },
274
356
  {
275
357
  "name": "autofocus",
276
358
  "description": "Specify that this control should have input focus when the page loads.",
@@ -370,15 +452,6 @@
370
452
  ]
371
453
  }
372
454
  },
373
- {
374
- "name": "value",
375
- "description": "The time value for this element.\n\nSupported time formats are in ISO 8601:\n- `hh:mm` (default)\n- `hh:mm:ss`\n- `hh:mm:ss.fff`",
376
- "value": {
377
- "type": [
378
- "string"
379
- ]
380
- }
381
- },
382
455
  {
383
456
  "name": "clearButtonVisible",
384
457
  "description": "Set to true to display the clear icon which clears the input.\n\nIt is up to the component to choose where to place the clear icon:\nin the Shadow DOM or in the light DOM. In any way, a reference to\nthe clear icon element should be provided via the `clearElement` getter.",
@@ -434,17 +507,6 @@
434
507
  ]
435
508
  }
436
509
  },
437
- {
438
- "name": "readonly",
439
- "description": "When present, it specifies that the field is read-only.",
440
- "value": {
441
- "type": [
442
- "boolean",
443
- "null",
444
- "undefined"
445
- ]
446
- }
447
- },
448
510
  {
449
511
  "name": "title",
450
512
  "description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
@@ -519,13 +581,17 @@
519
581
  "name": "input",
520
582
  "description": "Fired when the value is changed by the user: on every typing keystroke,\nand the value is cleared using the clear button."
521
583
  },
522
- {
523
- "name": "invalid-changed",
524
- "description": "Fired when the `invalid` property changes."
525
- },
526
584
  {
527
585
  "name": "value-changed",
528
586
  "description": "Fired when the `value` property changes."
587
+ },
588
+ {
589
+ "name": "opened-changed",
590
+ "description": "Fired when the `opened` property changes."
591
+ },
592
+ {
593
+ "name": "invalid-changed",
594
+ "description": "Fired when the `invalid` property changes."
529
595
  }
530
596
  ]
531
597
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/time-picker",
4
- "version": "25.0.0-alpha4",
4
+ "version": "25.0.0-alpha6",
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-time-picker-overlay-width` | Width of the overlay | `auto`\n`--vaadin-time-picker-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/25.0.0-alpha4/#/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-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha4/#/elements/vaadin-overlay).\n- `<vaadin-time-picker-item>` - has the same API as [`<vaadin-item>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha4/#/elements/vaadin-item).\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha4/#/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",
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-time-picker-overlay-width` | Width of the overlay | `auto`\n`--vaadin-time-picker-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/25.0.0-alpha6/#/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-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha6/#/elements/vaadin-overlay).\n- `<vaadin-time-picker-item>` - has the same API as [`<vaadin-item>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha6/#/elements/vaadin-item).\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha6/#/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
  {
@@ -26,6 +26,27 @@
26
26
  "kind": "expression"
27
27
  }
28
28
  },
29
+ {
30
+ "name": "?opened",
31
+ "description": "True if the dropdown is open, false otherwise.",
32
+ "value": {
33
+ "kind": "expression"
34
+ }
35
+ },
36
+ {
37
+ "name": "?autoOpenDisabled",
38
+ "description": "Set true to prevent the overlay from opening automatically.",
39
+ "value": {
40
+ "kind": "expression"
41
+ }
42
+ },
43
+ {
44
+ "name": "?readonly",
45
+ "description": "When present, it specifies that the field is read-only.",
46
+ "value": {
47
+ "kind": "expression"
48
+ }
49
+ },
29
50
  {
30
51
  "name": "?autofocus",
31
52
  "description": "Specify that this control should have input focus when the page loads.",
@@ -69,8 +90,15 @@
69
90
  }
70
91
  },
71
92
  {
72
- "name": "?readonly",
73
- "description": "When present, it specifies that the field is read-only.",
93
+ "name": ".value",
94
+ "description": "The time value for this element.\n\nSupported time formats are in ISO 8601:\n- `hh:mm` (default)\n- `hh:mm:ss`\n- `hh:mm:ss.fff`",
95
+ "value": {
96
+ "kind": "expression"
97
+ }
98
+ },
99
+ {
100
+ "name": ".overlayClass",
101
+ "description": "A space-delimited list of CSS class names to set on the overlay element.\nThis property does not affect other CSS class names set manually via JS.\n\nNote, if the CSS class name was set with this property, clearing it will\nremove it from the overlay, even if the same class name was also added\nmanually, e.g. by using `classList.add()` in the `renderer` function.",
74
102
  "value": {
75
103
  "kind": "expression"
76
104
  }
@@ -110,13 +138,6 @@
110
138
  "kind": "expression"
111
139
  }
112
140
  },
113
- {
114
- "name": ".value",
115
- "description": "The time value for this element.\n\nSupported time formats are in ISO 8601:\n- `hh:mm` (default)\n- `hh:mm:ss`\n- `hh:mm:ss.fff`",
116
- "value": {
117
- "kind": "expression"
118
- }
119
- },
120
141
  {
121
142
  "name": ".allowedCharPattern",
122
143
  "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-]\"`",
@@ -202,15 +223,22 @@
202
223
  }
203
224
  },
204
225
  {
205
- "name": "@invalid-changed",
206
- "description": "Fired when the `invalid` property changes.",
226
+ "name": "@value-changed",
227
+ "description": "Fired when the `value` property changes.",
207
228
  "value": {
208
229
  "kind": "expression"
209
230
  }
210
231
  },
211
232
  {
212
- "name": "@value-changed",
213
- "description": "Fired when the `value` property changes.",
233
+ "name": "@opened-changed",
234
+ "description": "Fired when the `opened` property changes.",
235
+ "value": {
236
+ "kind": "expression"
237
+ }
238
+ },
239
+ {
240
+ "name": "@invalid-changed",
241
+ "description": "Fired when the `invalid` property changes.",
214
242
  "value": {
215
243
  "kind": "expression"
216
244
  }