@vaadin/multi-select-combo-box 25.3.0-alpha8 → 25.3.0-alpha9

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.
@@ -26,6 +26,20 @@
26
26
  "description": "",
27
27
  "name": "MultiSelectComboBoxMixin",
28
28
  "members": [
29
+ {
30
+ "kind": "field",
31
+ "name": "accessibleDescriptionRef",
32
+ "privacy": "public",
33
+ "type": {
34
+ "text": "string"
35
+ },
36
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
37
+ "attribute": "accessible-description-ref",
38
+ "inheritedFrom": {
39
+ "name": "FieldMixin",
40
+ "package": "@vaadin/field-base/src/field-mixin.js"
41
+ }
42
+ },
29
43
  {
30
44
  "kind": "field",
31
45
  "name": "accessibleName",
@@ -33,7 +47,7 @@
33
47
  "type": {
34
48
  "text": "string"
35
49
  },
36
- "description": "String used to label the component to screen reader users.",
50
+ "description": "String used to label the component for screen reader users.",
37
51
  "attribute": "accessible-name",
38
52
  "inheritedFrom": {
39
53
  "name": "FieldMixin",
@@ -47,7 +61,7 @@
47
61
  "type": {
48
62
  "text": "string"
49
63
  },
50
- "description": "Id of the element used as label of the component to screen reader users.",
64
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
51
65
  "attribute": "accessible-name-ref",
52
66
  "inheritedFrom": {
53
67
  "name": "FieldMixin",
@@ -655,12 +669,24 @@
655
669
  }
656
670
  ],
657
671
  "attributes": [
672
+ {
673
+ "name": "accessible-description-ref",
674
+ "type": {
675
+ "text": "string"
676
+ },
677
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
678
+ "fieldName": "accessibleDescriptionRef",
679
+ "inheritedFrom": {
680
+ "name": "FieldMixin",
681
+ "package": "@vaadin/field-base/src/field-mixin.js"
682
+ }
683
+ },
658
684
  {
659
685
  "name": "accessible-name",
660
686
  "type": {
661
687
  "text": "string"
662
688
  },
663
- "description": "String used to label the component to screen reader users.",
689
+ "description": "String used to label the component for screen reader users.",
664
690
  "fieldName": "accessibleName",
665
691
  "inheritedFrom": {
666
692
  "name": "FieldMixin",
@@ -672,7 +698,7 @@
672
698
  "type": {
673
699
  "text": "string"
674
700
  },
675
- "description": "Id of the element used as label of the component to screen reader users.",
701
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
676
702
  "fieldName": "accessibleNameRef",
677
703
  "inheritedFrom": {
678
704
  "name": "FieldMixin",
@@ -1113,6 +1139,20 @@
1113
1139
  "description": "`<vaadin-multi-select-combo-box>` is a web component that wraps `<vaadin-combo-box>` and extends\nits functionality to allow selecting multiple items, in addition to basic features.\n\n```html\n<vaadin-multi-select-combo-box id=\"comboBox\"></vaadin-multi-select-combo-box>\n```\n\n```js\nconst comboBox = document.querySelector('#comboBox');\ncomboBox.items = ['apple', 'banana', 'lemon', 'orange'];\ncomboBox.selectedItems = ['lemon', 'orange'];\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n-----------------------|----------------\n`chips` | The element that wraps slotted chips for selected items\n`label` | The label element\n`input-field` | The element that wraps prefix, value and suffix\n`field-button` | Set on both clear and toggle buttons\n`clear-button` | The clear button\n`error-message` | The error message element\n`helper-text` | The helper text element wrapper\n`required-indicator` | The `required` state indicator element\n`toggle-button` | The toggle button\n`overlay` | The overlay container\n`content` | The overlay content\n`loader` | The loading indicator shown while loading items\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n-----------------------|-----------------\n`disabled` | Set to a disabled element\n`has-value` | Set when the element has a value\n`has-label` | Set when the element has a label\n`has-helper` | Set when the element has helper text or slot\n`has-error-message` | Set when the element has an error message\n`has-tooltip` | Set when the element has a slotted tooltip\n`invalid` | Set when the element is invalid\n`focused` | Set when the element is focused\n`focus-ring` | Set when the element is keyboard focused\n`loading` | Set when loading items from the data provider\n`opened` | Set when the dropdown is open\n`readonly` | Set to a readonly element\n\nThe following custom CSS properties are available for styling:\n\nCustom property | Description | Default\n-----------------------------------------------------|----------------------------|--------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-multi-select-combo-box-overlay-width` | Width of the overlay | `auto`\n`--vaadin-multi-select-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n`--vaadin-multi-select-combo-box-input-min-width` | Min width of the input | `4em`\n\n### Internal components\n\nIn addition to `<vaadin-multi-select-combo-box>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-multi-select-combo-box-chip>`\n- `<vaadin-multi-select-combo-box-item>` - has the same API as `<vaadin-item>`.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
1114
1140
  "name": "MultiSelectComboBox",
1115
1141
  "members": [
1142
+ {
1143
+ "kind": "field",
1144
+ "name": "accessibleDescriptionRef",
1145
+ "privacy": "public",
1146
+ "type": {
1147
+ "text": "string"
1148
+ },
1149
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
1150
+ "attribute": "accessible-description-ref",
1151
+ "inheritedFrom": {
1152
+ "name": "FieldMixin",
1153
+ "package": "@vaadin/field-base/src/field-mixin.js"
1154
+ }
1155
+ },
1116
1156
  {
1117
1157
  "kind": "field",
1118
1158
  "name": "accessibleName",
@@ -1120,7 +1160,7 @@
1120
1160
  "type": {
1121
1161
  "text": "string"
1122
1162
  },
1123
- "description": "String used to label the component to screen reader users.",
1163
+ "description": "String used to label the component for screen reader users.",
1124
1164
  "attribute": "accessible-name",
1125
1165
  "inheritedFrom": {
1126
1166
  "name": "FieldMixin",
@@ -1134,7 +1174,7 @@
1134
1174
  "type": {
1135
1175
  "text": "string"
1136
1176
  },
1137
- "description": "Id of the element used as label of the component to screen reader users.",
1177
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
1138
1178
  "attribute": "accessible-name-ref",
1139
1179
  "inheritedFrom": {
1140
1180
  "name": "FieldMixin",
@@ -1807,12 +1847,24 @@
1807
1847
  }
1808
1848
  ],
1809
1849
  "attributes": [
1850
+ {
1851
+ "name": "accessible-description-ref",
1852
+ "type": {
1853
+ "text": "string"
1854
+ },
1855
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
1856
+ "fieldName": "accessibleDescriptionRef",
1857
+ "inheritedFrom": {
1858
+ "name": "FieldMixin",
1859
+ "package": "@vaadin/field-base/src/field-mixin.js"
1860
+ }
1861
+ },
1810
1862
  {
1811
1863
  "name": "accessible-name",
1812
1864
  "type": {
1813
1865
  "text": "string"
1814
1866
  },
1815
- "description": "String used to label the component to screen reader users.",
1867
+ "description": "String used to label the component for screen reader users.",
1816
1868
  "fieldName": "accessibleName",
1817
1869
  "inheritedFrom": {
1818
1870
  "name": "FieldMixin",
@@ -1824,7 +1876,7 @@
1824
1876
  "type": {
1825
1877
  "text": "string"
1826
1878
  },
1827
- "description": "Id of the element used as label of the component to screen reader users.",
1879
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
1828
1880
  "fieldName": "accessibleNameRef",
1829
1881
  "inheritedFrom": {
1830
1882
  "name": "FieldMixin",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/multi-select-combo-box",
3
- "version": "25.3.0-alpha8",
3
+ "version": "25.3.0-alpha9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,23 +37,23 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "@open-wc/dedupe-mixin": "^1.3.0",
40
- "@vaadin/a11y-base": "25.3.0-alpha8",
41
- "@vaadin/combo-box": "25.3.0-alpha8",
42
- "@vaadin/component-base": "25.3.0-alpha8",
43
- "@vaadin/field-base": "25.3.0-alpha8",
44
- "@vaadin/input-container": "25.3.0-alpha8",
45
- "@vaadin/item": "25.3.0-alpha8",
46
- "@vaadin/lit-renderer": "25.3.0-alpha8",
47
- "@vaadin/overlay": "25.3.0-alpha8",
48
- "@vaadin/vaadin-themable-mixin": "25.3.0-alpha8",
40
+ "@vaadin/a11y-base": "25.3.0-alpha9",
41
+ "@vaadin/combo-box": "25.3.0-alpha9",
42
+ "@vaadin/component-base": "25.3.0-alpha9",
43
+ "@vaadin/field-base": "25.3.0-alpha9",
44
+ "@vaadin/input-container": "25.3.0-alpha9",
45
+ "@vaadin/item": "25.3.0-alpha9",
46
+ "@vaadin/lit-renderer": "25.3.0-alpha9",
47
+ "@vaadin/overlay": "25.3.0-alpha9",
48
+ "@vaadin/vaadin-themable-mixin": "25.3.0-alpha9",
49
49
  "lit": "^3.0.0"
50
50
  },
51
51
  "devDependencies": {
52
- "@vaadin/aura": "25.3.0-alpha8",
53
- "@vaadin/chai-plugins": "25.3.0-alpha8",
54
- "@vaadin/test-runner-commands": "25.3.0-alpha8",
52
+ "@vaadin/aura": "25.3.0-alpha9",
53
+ "@vaadin/chai-plugins": "25.3.0-alpha9",
54
+ "@vaadin/test-runner-commands": "25.3.0-alpha9",
55
55
  "@vaadin/testing-helpers": "^2.0.0",
56
- "@vaadin/vaadin-lumo-styles": "25.3.0-alpha8",
56
+ "@vaadin/vaadin-lumo-styles": "25.3.0-alpha9",
57
57
  "sinon": "^22.0.0"
58
58
  },
59
59
  "customElements": "custom-elements.json",
@@ -61,5 +61,5 @@
61
61
  "web-types.json",
62
62
  "web-types.lit.json"
63
63
  ],
64
- "gitHead": "ccbb4aaffb63c745c6da0426b532d4d05e47af29"
64
+ "gitHead": "cb915ebde095ec5b94a87af93dd4530f51984c52"
65
65
  }
@@ -38,7 +38,7 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix
38
38
  * @customElement vaadin-multi-select-combo-box-item
39
39
  * @private
40
40
  */
41
- export class MultiSelectComboBoxItem extends ComboBoxItemMixin(
41
+ class MultiSelectComboBoxItem extends ComboBoxItemMixin(
42
42
  ThemableMixin(DirMixin(PolylitMixin(LumoInjectionMixin(LitElement)))),
43
43
  ) {
44
44
  static get is() {
@@ -61,3 +61,5 @@ export class MultiSelectComboBoxItem extends ComboBoxItemMixin(
61
61
  }
62
62
 
63
63
  defineCustomElement(MultiSelectComboBoxItem);
64
+
65
+ export { MultiSelectComboBoxItem };
@@ -574,7 +574,11 @@ export const MultiSelectComboBoxMixin = (superClass) =>
574
574
  * @protected
575
575
  */
576
576
  _setFocused(focused) {
577
- if (!focused) {
577
+ // Do not validate, commit or close on internal blur triggered
578
+ // on overlay touch action needed to hide the virtual keyboard.
579
+ const blurred = !focused && !this._closeOnBlurIsPrevented;
580
+
581
+ if (blurred) {
578
582
  this._ignoreCommitValue = true;
579
583
  }
580
584
 
@@ -582,12 +586,12 @@ export const MultiSelectComboBoxMixin = (superClass) =>
582
586
 
583
587
  // Do not validate when focusout is caused by document
584
588
  // losing focus, which happens on browser tab switch.
585
- if (!focused && document.hasFocus()) {
589
+ if (blurred && document.hasFocus()) {
586
590
  this._focusedChipIndex = -1;
587
591
  this._requestValidation();
588
592
  }
589
593
 
590
- if (!focused && this.readonly && !this._closeOnBlurIsPrevented) {
594
+ if (blurred && this.readonly) {
591
595
  this.close();
592
596
  }
593
597
  }
@@ -17,7 +17,7 @@ import { multiSelectComboBoxScrollerStyles } from './styles/vaadin-multi-select-
17
17
  * @extends HTMLElement
18
18
  * @private
19
19
  */
20
- export class MultiSelectComboBoxScroller extends ComboBoxScrollerMixin(PolylitMixin(LitElement)) {
20
+ class MultiSelectComboBoxScroller extends ComboBoxScrollerMixin(PolylitMixin(LitElement)) {
21
21
  static get is() {
22
22
  return 'vaadin-multi-select-combo-box-scroller';
23
23
  }
@@ -72,3 +72,5 @@ export class MultiSelectComboBoxScroller extends ComboBoxScrollerMixin(PolylitMi
72
72
  }
73
73
 
74
74
  defineCustomElement(MultiSelectComboBoxScroller);
75
+
76
+ export { MultiSelectComboBoxScroller };
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/multi-select-combo-box",
4
- "version": "25.3.0-alpha8",
4
+ "version": "25.3.0-alpha9",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -10,9 +10,18 @@
10
10
  "name": "vaadin-multi-select-combo-box",
11
11
  "description": "`<vaadin-multi-select-combo-box>` is a web component that wraps `<vaadin-combo-box>` and extends\nits functionality to allow selecting multiple items, in addition to basic features.\n\n```html\n<vaadin-multi-select-combo-box id=\"comboBox\"></vaadin-multi-select-combo-box>\n```\n```js\nconst comboBox = document.querySelector('#comboBox');\ncomboBox.items = ['apple', 'banana', 'lemon', 'orange'];\ncomboBox.selectedItems = ['lemon', 'orange'];\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n-----------------------|----------------\n`chips` | The element that wraps slotted chips for selected items\n`label` | The label element\n`input-field` | The element that wraps prefix, value and suffix\n`field-button` | Set on both clear and toggle buttons\n`clear-button` | The clear button\n`error-message` | The error message element\n`helper-text` | The helper text element wrapper\n`required-indicator` | The `required` state indicator element\n`toggle-button` | The toggle button\n`overlay` | The overlay container\n`content` | The overlay content\n`loader` | The loading indicator shown while loading items\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n-----------------------|-----------------\n`disabled` | Set to a disabled element\n`has-value` | Set when the element has a value\n`has-label` | Set when the element has a label\n`has-helper` | Set when the element has helper text or slot\n`has-error-message` | Set when the element has an error message\n`has-tooltip` | Set when the element has a slotted tooltip\n`invalid` | Set when the element is invalid\n`focused` | Set when the element is focused\n`focus-ring` | Set when the element is keyboard focused\n`loading` | Set when loading items from the data provider\n`opened` | Set when the dropdown is open\n`readonly` | Set to a readonly element\n\nThe following custom CSS properties are available for styling:\n\nCustom property | Description | Default\n-----------------------------------------------------|----------------------------|--------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-multi-select-combo-box-overlay-width` | Width of the overlay | `auto`\n`--vaadin-multi-select-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n`--vaadin-multi-select-combo-box-input-min-width` | Min width of the input | `4em`\n\n### Internal components\n\nIn addition to `<vaadin-multi-select-combo-box>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-multi-select-combo-box-chip>`\n- `<vaadin-multi-select-combo-box-item>` - has the same API as `<vaadin-item>`.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
12
12
  "attributes": [
13
+ {
14
+ "name": "accessible-description-ref",
15
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
16
+ "value": {
17
+ "type": [
18
+ "string"
19
+ ]
20
+ }
21
+ },
13
22
  {
14
23
  "name": "accessible-name",
15
- "description": "String used to label the component to screen reader users.",
24
+ "description": "String used to label the component for screen reader users.",
16
25
  "value": {
17
26
  "type": [
18
27
  "string"
@@ -21,7 +30,7 @@
21
30
  },
22
31
  {
23
32
  "name": "accessible-name-ref",
24
- "description": "Id of the element used as label of the component to screen reader users.",
33
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
25
34
  "value": {
26
35
  "type": [
27
36
  "string"
@@ -310,9 +319,18 @@
310
319
  ],
311
320
  "js": {
312
321
  "properties": [
322
+ {
323
+ "name": "accessibleDescriptionRef",
324
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
325
+ "value": {
326
+ "type": [
327
+ "string"
328
+ ]
329
+ }
330
+ },
313
331
  {
314
332
  "name": "accessibleName",
315
- "description": "String used to label the component to screen reader users.",
333
+ "description": "String used to label the component for screen reader users.",
316
334
  "value": {
317
335
  "type": [
318
336
  "string"
@@ -321,7 +339,7 @@
321
339
  },
322
340
  {
323
341
  "name": "accessibleNameRef",
324
- "description": "Id of the element used as label of the component to screen reader users.",
342
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
325
343
  "value": {
326
344
  "type": [
327
345
  "string"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/multi-select-combo-box",
4
- "version": "25.3.0-alpha8",
4
+ "version": "25.3.0-alpha9",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {
@@ -19,16 +19,23 @@
19
19
  "description": "`<vaadin-multi-select-combo-box>` is a web component that wraps `<vaadin-combo-box>` and extends\nits functionality to allow selecting multiple items, in addition to basic features.\n\n```html\n<vaadin-multi-select-combo-box id=\"comboBox\"></vaadin-multi-select-combo-box>\n```\n```js\nconst comboBox = document.querySelector('#comboBox');\ncomboBox.items = ['apple', 'banana', 'lemon', 'orange'];\ncomboBox.selectedItems = ['lemon', 'orange'];\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n-----------------------|----------------\n`chips` | The element that wraps slotted chips for selected items\n`label` | The label element\n`input-field` | The element that wraps prefix, value and suffix\n`field-button` | Set on both clear and toggle buttons\n`clear-button` | The clear button\n`error-message` | The error message element\n`helper-text` | The helper text element wrapper\n`required-indicator` | The `required` state indicator element\n`toggle-button` | The toggle button\n`overlay` | The overlay container\n`content` | The overlay content\n`loader` | The loading indicator shown while loading items\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n-----------------------|-----------------\n`disabled` | Set to a disabled element\n`has-value` | Set when the element has a value\n`has-label` | Set when the element has a label\n`has-helper` | Set when the element has helper text or slot\n`has-error-message` | Set when the element has an error message\n`has-tooltip` | Set when the element has a slotted tooltip\n`invalid` | Set when the element is invalid\n`focused` | Set when the element is focused\n`focus-ring` | Set when the element is keyboard focused\n`loading` | Set when loading items from the data provider\n`opened` | Set when the dropdown is open\n`readonly` | Set to a readonly element\n\nThe following custom CSS properties are available for styling:\n\nCustom property | Description | Default\n-----------------------------------------------------|----------------------------|--------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-multi-select-combo-box-overlay-width` | Width of the overlay | `auto`\n`--vaadin-multi-select-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n`--vaadin-multi-select-combo-box-input-min-width` | Min width of the input | `4em`\n\n### Internal components\n\nIn addition to `<vaadin-multi-select-combo-box>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-multi-select-combo-box-chip>`\n- `<vaadin-multi-select-combo-box-item>` - has the same API as `<vaadin-item>`.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
20
20
  "extension": true,
21
21
  "attributes": [
22
+ {
23
+ "name": ".accessibleDescriptionRef",
24
+ "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
25
+ "value": {
26
+ "kind": "expression"
27
+ }
28
+ },
22
29
  {
23
30
  "name": ".accessibleName",
24
- "description": "String used to label the component to screen reader users.",
31
+ "description": "String used to label the component for screen reader users.",
25
32
  "value": {
26
33
  "kind": "expression"
27
34
  }
28
35
  },
29
36
  {
30
37
  "name": ".accessibleNameRef",
31
- "description": "Id of the element used as label of the component to screen reader users.",
38
+ "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
32
39
  "value": {
33
40
  "kind": "expression"
34
41
  }