@vaadin/multi-select-combo-box 25.0.0-alpha3 → 25.0.0-alpha4

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/multi-select-combo-box",
3
- "version": "25.0.0-alpha3",
3
+ "version": "25.0.0-alpha4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,21 +37,21 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "@open-wc/dedupe-mixin": "^1.3.0",
40
- "@vaadin/a11y-base": "25.0.0-alpha3",
41
- "@vaadin/combo-box": "25.0.0-alpha3",
42
- "@vaadin/component-base": "25.0.0-alpha3",
43
- "@vaadin/field-base": "25.0.0-alpha3",
44
- "@vaadin/input-container": "25.0.0-alpha3",
45
- "@vaadin/item": "25.0.0-alpha3",
46
- "@vaadin/lit-renderer": "25.0.0-alpha3",
47
- "@vaadin/overlay": "25.0.0-alpha3",
48
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha3",
49
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha3",
40
+ "@vaadin/a11y-base": "25.0.0-alpha4",
41
+ "@vaadin/combo-box": "25.0.0-alpha4",
42
+ "@vaadin/component-base": "25.0.0-alpha4",
43
+ "@vaadin/field-base": "25.0.0-alpha4",
44
+ "@vaadin/input-container": "25.0.0-alpha4",
45
+ "@vaadin/item": "25.0.0-alpha4",
46
+ "@vaadin/lit-renderer": "25.0.0-alpha4",
47
+ "@vaadin/overlay": "25.0.0-alpha4",
48
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha4",
49
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha4",
50
50
  "lit": "^3.0.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@vaadin/chai-plugins": "25.0.0-alpha3",
54
- "@vaadin/test-runner-commands": "25.0.0-alpha3",
53
+ "@vaadin/chai-plugins": "25.0.0-alpha4",
54
+ "@vaadin/test-runner-commands": "25.0.0-alpha4",
55
55
  "@vaadin/testing-helpers": "^2.0.0",
56
56
  "sinon": "^18.0.0"
57
57
  },
@@ -59,5 +59,5 @@
59
59
  "web-types.json",
60
60
  "web-types.lit.json"
61
61
  ],
62
- "gitHead": "8367dd20a47f53ca5589ad349a8e286ec2673055"
62
+ "gitHead": "ce4421f0daf26027b863b91787a474e4cc264344"
63
63
  }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { css } from 'lit';
7
+
8
+ export const multiSelectComboBoxChipStyles = css`
9
+ :host {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ align-self: center;
13
+ white-space: nowrap;
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ [part='label'] {
18
+ overflow: hidden;
19
+ text-overflow: ellipsis;
20
+ }
21
+
22
+ :host([hidden]),
23
+ :host(:is([readonly], [disabled], [slot='overflow'])) [part='remove-button'] {
24
+ display: none !important;
25
+ }
26
+
27
+ @media (forced-colors: active) {
28
+ :host {
29
+ outline: 1px solid;
30
+ outline-offset: -1px;
31
+ }
32
+ }
33
+ `;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { css } from 'lit';
7
+
8
+ export const multiSelectComboBoxOverlayStyles = css`
9
+ #overlay {
10
+ width: var(
11
+ --vaadin-multi-select-combo-box-overlay-width,
12
+ var(--_vaadin-multi-select-combo-box-overlay-default-width, auto)
13
+ );
14
+ }
15
+
16
+ [part='content'] {
17
+ display: flex;
18
+ flex-direction: column;
19
+ height: 100%;
20
+ }
21
+ `;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { css } from 'lit';
7
+
8
+ export const multiSelectComboBoxScrollerStyles = css`
9
+ :host {
10
+ display: block;
11
+ min-height: 1px;
12
+ overflow: auto;
13
+
14
+ /* Fixes item background from getting on top of scrollbars on Safari */
15
+ transform: translate3d(0, 0, 0);
16
+
17
+ /* Enable momentum scrolling on iOS */
18
+ -webkit-overflow-scrolling: touch;
19
+
20
+ /* Fixes scrollbar disappearing when 'Show scroll bars: Always' enabled in Safari */
21
+ box-shadow: 0 0 0 white;
22
+ }
23
+
24
+ #selector {
25
+ border-width: var(--_vaadin-multi-select-combo-box-items-container-border-width);
26
+ border-style: var(--_vaadin-multi-select-combo-box-items-container-border-style);
27
+ border-color: var(--_vaadin-multi-select-combo-box-items-container-border-color, transparent);
28
+ position: relative;
29
+ }
30
+ `;
@@ -5,6 +5,4 @@
5
5
  */
6
6
  import type { CSSResult } from 'lit';
7
7
 
8
- export const multiSelectComboBox: CSSResult;
9
-
10
- export const multiSelectComboBoxChip: CSSResult;
8
+ export const multiSelectComboBoxStyles: CSSResult;
@@ -3,9 +3,9 @@
3
3
  * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
6
+ import { css } from 'lit';
7
7
 
8
- export const multiSelectComboBox = css`
8
+ export const multiSelectComboBoxStyles = css`
9
9
  :host {
10
10
  max-width: 100%;
11
11
  --input-min-width: var(--vaadin-multi-select-combo-box-input-min-width, 4em);
@@ -45,30 +45,3 @@ export const multiSelectComboBox = css`
45
45
  width: auto;
46
46
  }
47
47
  `;
48
-
49
- export const multiSelectComboBoxChip = css`
50
- :host {
51
- display: inline-flex;
52
- align-items: center;
53
- align-self: center;
54
- white-space: nowrap;
55
- box-sizing: border-box;
56
- }
57
-
58
- [part='label'] {
59
- overflow: hidden;
60
- text-overflow: ellipsis;
61
- }
62
-
63
- :host([hidden]),
64
- :host(:is([readonly], [disabled], [slot='overflow'])) [part='remove-button'] {
65
- display: none !important;
66
- }
67
-
68
- @media (forced-colors: active) {
69
- :host {
70
- outline: 1px solid;
71
- outline-offset: -1px;
72
- }
73
- }
74
- `;
@@ -6,8 +6,9 @@
6
6
  import { html, LitElement } from 'lit';
7
7
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
8
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
9
+ import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
9
10
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
10
- import { multiSelectComboBoxChip } from './vaadin-multi-select-combo-box-styles.js';
11
+ import { multiSelectComboBoxChipStyles } from './styles/vaadin-multi-select-combo-box-chip-styles.js';
11
12
 
12
13
  /**
13
14
  * An element used by `<vaadin-multi-select-combo-box>` to display selected items.
@@ -27,13 +28,13 @@ import { multiSelectComboBoxChip } from './vaadin-multi-select-combo-box-styles.
27
28
  * @extends HTMLElement
28
29
  * @private
29
30
  */
30
- class MultiSelectComboBoxChip extends ThemableMixin(PolylitMixin(LitElement)) {
31
+ class MultiSelectComboBoxChip extends CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))) {
31
32
  static get is() {
32
33
  return 'vaadin-multi-select-combo-box-chip';
33
34
  }
34
35
 
35
36
  static get styles() {
36
- return multiSelectComboBoxChip;
37
+ return multiSelectComboBoxChipStyles;
37
38
  }
38
39
 
39
40
  static get properties() {
@@ -10,6 +10,7 @@ import { css, html, LitElement } from 'lit';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
12
12
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
13
+ import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
13
14
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
14
15
  import { MultiSelectComboBoxInternalMixin } from './vaadin-multi-select-combo-box-internal-mixin.js';
15
16
 
@@ -22,7 +23,9 @@ import { MultiSelectComboBoxInternalMixin } from './vaadin-multi-select-combo-bo
22
23
  * @mixes ThemableMixin
23
24
  * @private
24
25
  */
25
- class MultiSelectComboBoxInternal extends MultiSelectComboBoxInternalMixin(ThemableMixin(PolylitMixin(LitElement))) {
26
+ class MultiSelectComboBoxInternal extends MultiSelectComboBoxInternalMixin(
27
+ CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))),
28
+ ) {
26
29
  static get is() {
27
30
  return 'vaadin-multi-select-combo-box-internal';
28
31
  }
@@ -3,11 +3,13 @@
3
3
  * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { css, html, LitElement } from 'lit';
6
+ import { html, LitElement } from 'lit';
7
7
  import { ComboBoxItemMixin } from '@vaadin/combo-box/src/vaadin-combo-box-item-mixin.js';
8
8
  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
+ import { itemStyles } from '@vaadin/item/src/styles/vaadin-item-core-styles.js';
12
+ import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
11
13
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
14
 
13
15
  /**
@@ -37,21 +39,15 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix
37
39
  * @mixes DirMixin
38
40
  * @private
39
41
  */
40
- export class MultiSelectComboBoxItem extends ComboBoxItemMixin(ThemableMixin(DirMixin(PolylitMixin(LitElement)))) {
42
+ export class MultiSelectComboBoxItem extends ComboBoxItemMixin(
43
+ CSSInjectionMixin(ThemableMixin(DirMixin(PolylitMixin(LitElement)))),
44
+ ) {
41
45
  static get is() {
42
46
  return 'vaadin-multi-select-combo-box-item';
43
47
  }
44
48
 
45
49
  static get styles() {
46
- return css`
47
- :host {
48
- display: block;
49
- }
50
-
51
- :host([hidden]) {
52
- display: none !important;
53
- }
54
- `;
50
+ return itemStyles;
55
51
  }
56
52
 
57
53
  /** @protected */
@@ -3,29 +3,16 @@
3
3
  * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { css, html, LitElement } from 'lit';
6
+ import { html, LitElement } from 'lit';
7
7
  import { ComboBoxOverlayMixin } from '@vaadin/combo-box/src/vaadin-combo-box-overlay-mixin.js';
8
8
  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
+ import { overlayStyles } from '@vaadin/overlay/src/styles/vaadin-overlay-core-styles.js';
11
12
  import { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';
12
- import { overlayStyles } from '@vaadin/overlay/src/vaadin-overlay-styles.js';
13
+ import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
13
14
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
14
-
15
- const multiSelectComboBoxOverlayStyles = css`
16
- #overlay {
17
- width: var(
18
- --vaadin-multi-select-combo-box-overlay-width,
19
- var(--_vaadin-multi-select-combo-box-overlay-default-width, auto)
20
- );
21
- }
22
-
23
- [part='content'] {
24
- display: flex;
25
- flex-direction: column;
26
- height: 100%;
27
- }
28
- `;
15
+ import { multiSelectComboBoxOverlayStyles } from './styles/vaadin-multi-select-combo-box-overlay-styles.js';
29
16
 
30
17
  /**
31
18
  * An element used internally by `<vaadin-multi-select-combo-box>`. Not intended to be used separately.
@@ -39,7 +26,7 @@ const multiSelectComboBoxOverlayStyles = css`
39
26
  * @private
40
27
  */
41
28
  class MultiSelectComboBoxOverlay extends ComboBoxOverlayMixin(
42
- OverlayMixin(DirMixin(ThemableMixin(PolylitMixin(LitElement)))),
29
+ OverlayMixin(DirMixin(CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))),
43
30
  ) {
44
31
  static get is() {
45
32
  return 'vaadin-multi-select-combo-box-overlay';
@@ -3,11 +3,13 @@
3
3
  * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { css, html, LitElement } from 'lit';
6
+ import { html, LitElement } from 'lit';
7
7
  import { ComboBoxPlaceholder } from '@vaadin/combo-box/src/vaadin-combo-box-placeholder.js';
8
8
  import { ComboBoxScrollerMixin } from '@vaadin/combo-box/src/vaadin-combo-box-scroller-mixin.js';
9
9
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
10
10
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
11
+ import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
12
+ import { multiSelectComboBoxScrollerStyles } from './styles/vaadin-multi-select-combo-box-scroller-styles.js';
11
13
 
12
14
  /**
13
15
  * An element used internally by `<vaadin-multi-select-combo-box>`. Not intended to be used separately.
@@ -17,35 +19,13 @@ import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
17
19
  * @mixes ComboBoxScrollerMixin
18
20
  * @private
19
21
  */
20
- export class MultiSelectComboBoxScroller extends ComboBoxScrollerMixin(PolylitMixin(LitElement)) {
22
+ export class MultiSelectComboBoxScroller extends ComboBoxScrollerMixin(CSSInjectionMixin(PolylitMixin(LitElement))) {
21
23
  static get is() {
22
24
  return 'vaadin-multi-select-combo-box-scroller';
23
25
  }
24
26
 
25
27
  static get styles() {
26
- return css`
27
- :host {
28
- display: block;
29
- min-height: 1px;
30
- overflow: auto;
31
-
32
- /* Fixes item background from getting on top of scrollbars on Safari */
33
- transform: translate3d(0, 0, 0);
34
-
35
- /* Enable momentum scrolling on iOS */
36
- -webkit-overflow-scrolling: touch;
37
-
38
- /* Fixes scrollbar disappearing when 'Show scroll bars: Always' enabled in Safari */
39
- box-shadow: 0 0 0 white;
40
- }
41
-
42
- #selector {
43
- border-width: var(--_vaadin-multi-select-combo-box-items-container-border-width);
44
- border-style: var(--_vaadin-multi-select-combo-box-items-container-border-style);
45
- border-color: var(--_vaadin-multi-select-combo-box-items-container-border-color, transparent);
46
- position: relative;
47
- }
48
- `;
28
+ return multiSelectComboBoxScrollerStyles;
49
29
  }
50
30
 
51
31
  /** @protected */
@@ -12,9 +12,10 @@ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
12
12
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
13
13
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
14
14
  import { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';
15
+ import { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
15
16
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
17
+ import { multiSelectComboBoxStyles } from './styles/vaadin-multi-select-combo-box-styles.js';
16
18
  import { MultiSelectComboBoxMixin } from './vaadin-multi-select-combo-box-mixin.js';
17
- import { multiSelectComboBox } from './vaadin-multi-select-combo-box-styles.js';
18
19
 
19
20
  /**
20
21
  * `<vaadin-multi-select-combo-box>` is a web component that wraps `<vaadin-combo-box>` and extends
@@ -99,13 +100,15 @@ import { multiSelectComboBox } from './vaadin-multi-select-combo-box-styles.js';
99
100
  * @mixes ThemableMixin
100
101
  * @mixes MultiSelectComboBoxMixin
101
102
  */
102
- class MultiSelectComboBox extends MultiSelectComboBoxMixin(ThemableMixin(ElementMixin(PolylitMixin(LitElement)))) {
103
+ class MultiSelectComboBox extends MultiSelectComboBoxMixin(
104
+ CSSInjectionMixin(ThemableMixin(ElementMixin(PolylitMixin(LitElement)))),
105
+ ) {
103
106
  static get is() {
104
107
  return 'vaadin-multi-select-combo-box';
105
108
  }
106
109
 
107
110
  static get styles() {
108
- return [inputFieldShared, multiSelectComboBox];
111
+ return [inputFieldShared, multiSelectComboBoxStyles];
109
112
  }
110
113
 
111
114
  /** @protected */
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.0.0-alpha3",
4
+ "version": "25.0.0-alpha4",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -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.0.0-alpha3",
4
+ "version": "25.0.0-alpha4",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {