@vaadin/combo-box 24.2.0-dev.f254716fe → 24.2.0-rc1
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 +14 -14
- package/src/vaadin-combo-box-item.js +3 -1
- package/src/vaadin-combo-box-light.js +3 -1
- package/src/vaadin-combo-box-mixin.js +3 -2
- package/src/vaadin-combo-box-overlay.js +3 -1
- package/src/vaadin-combo-box-scroller-mixin.js +2 -1
- package/src/vaadin-combo-box-scroller.js +3 -1
- package/src/vaadin-combo-box.js +4 -1
- package/web-types.json +1188 -0
- package/web-types.lit.json +573 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/combo-box",
|
|
3
|
-
"version": "24.2.0-
|
|
3
|
+
"version": "24.2.0-rc1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -38,21 +38,21 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
40
40
|
"@polymer/polymer": "^3.0.0",
|
|
41
|
-
"@vaadin/a11y-base": "24.2.0-
|
|
42
|
-
"@vaadin/component-base": "24.2.0-
|
|
43
|
-
"@vaadin/field-base": "24.2.0-
|
|
44
|
-
"@vaadin/input-container": "24.2.0-
|
|
45
|
-
"@vaadin/item": "24.2.0-
|
|
46
|
-
"@vaadin/lit-renderer": "24.2.0-
|
|
47
|
-
"@vaadin/overlay": "24.2.0-
|
|
48
|
-
"@vaadin/vaadin-lumo-styles": "24.2.0-
|
|
49
|
-
"@vaadin/vaadin-material-styles": "24.2.0-
|
|
50
|
-
"@vaadin/vaadin-themable-mixin": "24.2.0-
|
|
41
|
+
"@vaadin/a11y-base": "24.2.0-rc1",
|
|
42
|
+
"@vaadin/component-base": "24.2.0-rc1",
|
|
43
|
+
"@vaadin/field-base": "24.2.0-rc1",
|
|
44
|
+
"@vaadin/input-container": "24.2.0-rc1",
|
|
45
|
+
"@vaadin/item": "24.2.0-rc1",
|
|
46
|
+
"@vaadin/lit-renderer": "24.2.0-rc1",
|
|
47
|
+
"@vaadin/overlay": "24.2.0-rc1",
|
|
48
|
+
"@vaadin/vaadin-lumo-styles": "24.2.0-rc1",
|
|
49
|
+
"@vaadin/vaadin-material-styles": "24.2.0-rc1",
|
|
50
|
+
"@vaadin/vaadin-themable-mixin": "24.2.0-rc1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@esm-bundle/chai": "^4.3.4",
|
|
54
|
-
"@vaadin/testing-helpers": "^0.
|
|
55
|
-
"@vaadin/text-field": "24.2.0-
|
|
54
|
+
"@vaadin/testing-helpers": "^0.5.0",
|
|
55
|
+
"@vaadin/text-field": "24.2.0-rc1",
|
|
56
56
|
"lit": "^2.0.0",
|
|
57
57
|
"sinon": "^13.0.2"
|
|
58
58
|
},
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"web-types.json",
|
|
61
61
|
"web-types.lit.json"
|
|
62
62
|
],
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "012bef350bbf29865748f4c78338dd17c6f61a74"
|
|
64
64
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
7
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
7
8
|
import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
|
|
8
9
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
9
10
|
import { ComboBoxItemMixin } from './vaadin-combo-box-item-mixin.js';
|
|
@@ -29,6 +30,7 @@ import { ComboBoxItemMixin } from './vaadin-combo-box-item-mixin.js';
|
|
|
29
30
|
*
|
|
30
31
|
* See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.
|
|
31
32
|
*
|
|
33
|
+
* @customElement
|
|
32
34
|
* @mixes ComboBoxItemMixin
|
|
33
35
|
* @mixes ThemableMixin
|
|
34
36
|
* @mixes DirMixin
|
|
@@ -58,4 +60,4 @@ export class ComboBoxItem extends ComboBoxItemMixin(ThemableMixin(DirMixin(Polym
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
|
|
61
|
-
|
|
63
|
+
defineCustomElement(ComboBoxItem);
|
|
@@ -9,6 +9,7 @@ import './vaadin-combo-box-scroller.js';
|
|
|
9
9
|
import { dashToCamelCase } from '@polymer/polymer/lib/utils/case-map.js';
|
|
10
10
|
import { afterNextRender } from '@polymer/polymer/lib/utils/render-status.js';
|
|
11
11
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
12
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
12
13
|
import { ValidateMixin } from '@vaadin/field-base/src/validate-mixin.js';
|
|
13
14
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
14
15
|
import { ComboBoxDataProviderMixin } from './vaadin-combo-box-data-provider-mixin.js';
|
|
@@ -60,6 +61,7 @@ import { ComboBoxMixin } from './vaadin-combo-box-mixin.js';
|
|
|
60
61
|
* @fires {CustomEvent} value-changed - Fired when the `value` property changes.
|
|
61
62
|
* @fires {CustomEvent} validated - Fired whenever the field is validated.
|
|
62
63
|
*
|
|
64
|
+
* @customElement
|
|
63
65
|
* @extends HTMLElement
|
|
64
66
|
* @mixes ComboBoxDataProviderMixin
|
|
65
67
|
* @mixes ComboBoxMixin
|
|
@@ -212,6 +214,6 @@ class ComboBoxLight extends ComboBoxDataProviderMixin(ComboBoxMixin(ValidateMixi
|
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
216
|
|
|
215
|
-
|
|
217
|
+
defineCustomElement(ComboBoxLight);
|
|
216
218
|
|
|
217
219
|
export { ComboBoxLight };
|
|
@@ -10,6 +10,7 @@ import { KeyboardMixin } from '@vaadin/a11y-base/src/keyboard-mixin.js';
|
|
|
10
10
|
import { isTouch } from '@vaadin/component-base/src/browser-utils.js';
|
|
11
11
|
import { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';
|
|
12
12
|
import { OverlayClassMixin } from '@vaadin/component-base/src/overlay-class-mixin.js';
|
|
13
|
+
import { get } from '@vaadin/component-base/src/path-utils.js';
|
|
13
14
|
import { processTemplates } from '@vaadin/component-base/src/templates.js';
|
|
14
15
|
import { InputMixin } from '@vaadin/field-base/src/input-mixin.js';
|
|
15
16
|
import { ValidateMixin } from '@vaadin/field-base/src/validate-mixin.js';
|
|
@@ -661,7 +662,7 @@ export const ComboBoxMixin = (subclass) =>
|
|
|
661
662
|
|
|
662
663
|
/** @private */
|
|
663
664
|
_getItemLabel(item) {
|
|
664
|
-
let label = item && this.itemLabelPath ?
|
|
665
|
+
let label = item && this.itemLabelPath ? get(this.itemLabelPath, item) : undefined;
|
|
665
666
|
if (label === undefined || label === null) {
|
|
666
667
|
label = item ? item.toString() : '';
|
|
667
668
|
}
|
|
@@ -670,7 +671,7 @@ export const ComboBoxMixin = (subclass) =>
|
|
|
670
671
|
|
|
671
672
|
/** @private */
|
|
672
673
|
_getItemValue(item) {
|
|
673
|
-
let value = item && this.itemValuePath ?
|
|
674
|
+
let value = item && this.itemValuePath ? get(this.itemValuePath, item) : undefined;
|
|
674
675
|
if (value === undefined) {
|
|
675
676
|
value = item ? item.toString() : '';
|
|
676
677
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
7
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
7
8
|
import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
|
|
8
9
|
import { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';
|
|
9
10
|
import { overlayStyles } from '@vaadin/overlay/src/vaadin-overlay-styles.js';
|
|
@@ -29,6 +30,7 @@ registerStyles('vaadin-combo-box-overlay', [overlayStyles, comboBoxOverlayStyles
|
|
|
29
30
|
/**
|
|
30
31
|
* An element used internally by `<vaadin-combo-box>`. Not intended to be used separately.
|
|
31
32
|
*
|
|
33
|
+
* @customElement
|
|
32
34
|
* @extends HTMLElement
|
|
33
35
|
* @mixes ComboBoxOverlayMixin
|
|
34
36
|
* @mixes DirMixin
|
|
@@ -52,4 +54,4 @@ export class ComboBoxOverlay extends ComboBoxOverlayMixin(OverlayMixin(DirMixin(
|
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
defineCustomElement(ComboBoxOverlay);
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright (c) 2015 - 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 { get } from '@vaadin/component-base/src/path-utils.js';
|
|
6
7
|
import { generateUniqueId } from '@vaadin/component-base/src/unique-id-utils.js';
|
|
7
8
|
import { Virtualizer } from '@vaadin/component-base/src/virtualizer.js';
|
|
8
9
|
import { ComboBoxPlaceholder } from './vaadin-combo-box-placeholder.js';
|
|
@@ -202,7 +203,7 @@ export const ComboBoxScrollerMixin = (superClass) =>
|
|
|
202
203
|
if (item instanceof ComboBoxPlaceholder) {
|
|
203
204
|
return false;
|
|
204
205
|
} else if (itemIdPath && item !== undefined && selectedItem !== undefined) {
|
|
205
|
-
return
|
|
206
|
+
return get(itemIdPath, item) === get(itemIdPath, selectedItem);
|
|
206
207
|
}
|
|
207
208
|
return item === selectedItem;
|
|
208
209
|
}
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
7
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
7
8
|
import { ComboBoxScrollerMixin } from './vaadin-combo-box-scroller-mixin.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* An element used internally by `<vaadin-combo-box>`. Not intended to be used separately.
|
|
11
12
|
*
|
|
13
|
+
* @customElement
|
|
12
14
|
* @extends HTMLElement
|
|
13
15
|
* @mixes ComboBoxScrollerMixin
|
|
14
16
|
* @private
|
|
@@ -50,4 +52,4 @@ export class ComboBoxScroller extends ComboBoxScrollerMixin(PolymerElement) {
|
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
|
|
53
|
-
|
|
55
|
+
defineCustomElement(ComboBoxScroller);
|
package/src/vaadin-combo-box.js
CHANGED
|
@@ -8,6 +8,7 @@ import './vaadin-combo-box-item.js';
|
|
|
8
8
|
import './vaadin-combo-box-overlay.js';
|
|
9
9
|
import './vaadin-combo-box-scroller.js';
|
|
10
10
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
11
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
11
12
|
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
12
13
|
import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';
|
|
13
14
|
import { InputControlMixin } from '@vaadin/field-base/src/input-control-mixin.js';
|
|
@@ -146,6 +147,7 @@ registerStyles('vaadin-combo-box', inputFieldShared, { moduleId: 'vaadin-combo-b
|
|
|
146
147
|
* @fires {CustomEvent} value-changed - Fired when the `value` property changes.
|
|
147
148
|
* @fires {CustomEvent} validated - Fired whenever the field is validated.
|
|
148
149
|
*
|
|
150
|
+
* @customElement
|
|
149
151
|
* @extends HTMLElement
|
|
150
152
|
* @mixes ElementMixin
|
|
151
153
|
* @mixes ThemableMixin
|
|
@@ -248,6 +250,7 @@ class ComboBox extends ComboBoxDataProviderMixin(
|
|
|
248
250
|
this._tooltipController = new TooltipController(this);
|
|
249
251
|
this.addController(this._tooltipController);
|
|
250
252
|
this._tooltipController.setPosition('top');
|
|
253
|
+
this._tooltipController.setAriaTarget(this.inputElement);
|
|
251
254
|
this._tooltipController.setShouldShow((target) => !target.opened);
|
|
252
255
|
|
|
253
256
|
this._positionTarget = this.shadowRoot.querySelector('[part="input-field"]');
|
|
@@ -282,6 +285,6 @@ class ComboBox extends ComboBoxDataProviderMixin(
|
|
|
282
285
|
}
|
|
283
286
|
}
|
|
284
287
|
|
|
285
|
-
|
|
288
|
+
defineCustomElement(ComboBox);
|
|
286
289
|
|
|
287
290
|
export { ComboBox };
|