@vaadin/item 25.0.0-alpha9 → 25.0.0-beta1

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/item",
3
- "version": "25.0.0-alpha9",
3
+ "version": "25.0.0-beta1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,9 +21,6 @@
21
21
  "type": "module",
22
22
  "files": [
23
23
  "src",
24
- "!src/styles/*-base-styles.d.ts",
25
- "!src/styles/*-base-styles.js",
26
- "theme",
27
24
  "vaadin-*.d.ts",
28
25
  "vaadin-*.js",
29
26
  "web-types.json",
@@ -37,21 +34,21 @@
37
34
  ],
38
35
  "dependencies": {
39
36
  "@open-wc/dedupe-mixin": "^1.3.0",
40
- "@vaadin/a11y-base": "25.0.0-alpha9",
41
- "@vaadin/component-base": "25.0.0-alpha9",
42
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha9",
43
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha9",
37
+ "@vaadin/a11y-base": "25.0.0-beta1",
38
+ "@vaadin/component-base": "25.0.0-beta1",
39
+ "@vaadin/vaadin-themable-mixin": "25.0.0-beta1",
44
40
  "lit": "^3.0.0"
45
41
  },
46
42
  "devDependencies": {
47
- "@vaadin/chai-plugins": "25.0.0-alpha9",
48
- "@vaadin/test-runner-commands": "25.0.0-alpha9",
43
+ "@vaadin/chai-plugins": "25.0.0-beta1",
44
+ "@vaadin/test-runner-commands": "25.0.0-beta1",
49
45
  "@vaadin/testing-helpers": "^2.0.0",
50
- "sinon": "^18.0.0"
46
+ "@vaadin/vaadin-lumo-styles": "25.0.0-beta1",
47
+ "sinon": "^21.0.0"
51
48
  },
52
49
  "web-types": [
53
50
  "web-types.json",
54
51
  "web-types.lit.json"
55
52
  ],
56
- "gitHead": "bbe4720721e0955ffc87a79b412bee38b1f0eb1e"
53
+ "gitHead": "1d20cf54e582d1f2e209126d4586f8b4c01c50e0"
57
54
  }
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2017 - 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 '@vaadin/component-base/src/style-props.js';
6
+ import '@vaadin/component-base/src/styles/style-props.js';
7
7
  import { css } from 'lit';
8
8
 
9
9
  export const itemStyles = css`
@@ -13,7 +13,7 @@ export const itemStyles = css`
13
13
  box-sizing: border-box;
14
14
  cursor: var(--vaadin-clickable-cursor);
15
15
  display: flex;
16
- gap: var(--vaadin-item-gap, 0 var(--vaadin-gap-container-inline));
16
+ gap: var(--vaadin-item-gap, 0 var(--vaadin-gap-s));
17
17
  height: var(--vaadin-item-height, auto);
18
18
  padding: var(--vaadin-item-padding, var(--vaadin-padding-container));
19
19
  }
@@ -43,7 +43,7 @@ export const itemStyles = css`
43
43
  display: block;
44
44
  background: currentColor;
45
45
  height: var(--vaadin-icon-size, 1lh);
46
- mask-image: var(--_vaadin-icon-checkmark);
46
+ mask: var(--_vaadin-icon-checkmark) 50% / var(--vaadin-icon-visual-size, 100%) no-repeat;
47
47
  width: var(--vaadin-icon-size, 1lh);
48
48
  }
49
49
 
@@ -54,4 +54,10 @@ export const itemStyles = css`
54
54
  [part='content'] {
55
55
  flex: 1;
56
56
  }
57
+
58
+ @media (forced-colors: active) {
59
+ [part='checkmark']::before {
60
+ background: CanvasText;
61
+ }
62
+ }
57
63
  `;
@@ -83,22 +83,20 @@ export const ItemMixin = (superClass) =>
83
83
  }
84
84
 
85
85
  /**
86
- * Override native `focus` to set focused attribute
87
- * when focusing the item programmatically.
86
+ * @param {FocusOptions=} options
88
87
  * @protected
89
88
  * @override
90
89
  */
91
- focus() {
90
+ focus(options) {
92
91
  if (this.disabled) {
93
92
  return;
94
93
  }
95
94
 
96
- super.focus();
97
- this._setFocused(true);
95
+ super.focus(options);
98
96
  }
99
97
 
100
98
  /**
101
- * @param {KeyboardEvent | MouseEvent} _event
99
+ * @param {KeyboardEvent | MouseEvent} event
102
100
  * @protected
103
101
  * @override
104
102
  */
@@ -9,7 +9,7 @@ import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
9
9
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
10
10
  import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
11
11
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
- import { itemStyles } from './styles/vaadin-item-core-styles.js';
12
+ import { itemStyles } from './styles/vaadin-item-base-styles.js';
13
13
  import { ItemMixin } from './vaadin-item-mixin.js';
14
14
 
15
15
  /**
package/vaadin-item.js CHANGED
@@ -1,2 +1,2 @@
1
- import './theme/lumo/vaadin-item.js';
1
+ import './src/vaadin-item.js';
2
2
  export * from './src/vaadin-item.js';
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/item",
4
- "version": "25.0.0-alpha9",
4
+ "version": "25.0.0-beta1",
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/item",
4
- "version": "25.0.0-alpha9",
4
+ "version": "25.0.0-beta1",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {
@@ -1,8 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
- * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */
6
- import type { CSSResult } from 'lit';
7
-
8
- export const itemStyles: CSSResult;
@@ -1,16 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (c) 2017 - 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 itemStyles = css`
9
- :host {
10
- display: inline-block;
11
- }
12
-
13
- :host([hidden]) {
14
- display: none !important;
15
- }
16
- `;
@@ -1,8 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/font-icons.js';
2
- import '@vaadin/vaadin-lumo-styles/sizing.js';
3
- import '@vaadin/vaadin-lumo-styles/spacing.js';
4
- import '@vaadin/vaadin-lumo-styles/style.js';
5
- import '@vaadin/vaadin-lumo-styles/color.js';
6
- import '@vaadin/vaadin-lumo-styles/typography.js';
7
- declare const item: import("lit").CSSResult;
8
- export { item };
@@ -1,97 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/font-icons.js';
2
- import '@vaadin/vaadin-lumo-styles/sizing.js';
3
- import '@vaadin/vaadin-lumo-styles/spacing.js';
4
- import '@vaadin/vaadin-lumo-styles/style.js';
5
- import '@vaadin/vaadin-lumo-styles/color.js';
6
- import '@vaadin/vaadin-lumo-styles/typography.js';
7
- import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
8
-
9
- const item = css`
10
- :host {
11
- display: flex;
12
- align-items: center;
13
- box-sizing: border-box;
14
- font-family: var(--lumo-font-family);
15
- font-size: var(--lumo-font-size-m);
16
- line-height: var(--lumo-line-height-xs);
17
- padding: 0.5em calc(var(--lumo-space-l) + var(--lumo-border-radius-m) / 4) 0.5em
18
- var(--_lumo-list-box-item-padding-left, calc(var(--lumo-border-radius-m) / 4));
19
- min-height: var(--lumo-size-m);
20
- outline: none;
21
- border-radius: var(--lumo-border-radius-m);
22
- cursor: var(--lumo-clickable-cursor);
23
- -webkit-font-smoothing: antialiased;
24
- -moz-osx-font-smoothing: grayscale;
25
- -webkit-tap-highlight-color: var(--lumo-primary-color-10pct);
26
- --_focus-ring-color: var(--vaadin-focus-ring-color, var(--lumo-primary-color-50pct));
27
- --_focus-ring-width: var(--vaadin-focus-ring-width, 2px);
28
- --_selection-color-text: var(--vaadin-selection-color-text, var(--lumo-primary-text-color));
29
- }
30
-
31
- /* Checkmark */
32
- [part='checkmark']::before {
33
- display: var(--_lumo-item-selected-icon-display, none);
34
- content: var(--lumo-icons-checkmark);
35
- font-family: lumo-icons;
36
- font-size: var(--lumo-icon-size-m);
37
- line-height: 1;
38
- font-weight: normal;
39
- width: 1em;
40
- height: 1em;
41
- margin: calc((1 - var(--lumo-line-height-xs)) * var(--lumo-font-size-m) / 2) 0;
42
- color: var(--_selection-color-text);
43
- flex: none;
44
- opacity: 0;
45
- transition:
46
- transform 0.2s cubic-bezier(0.12, 0.32, 0.54, 2),
47
- opacity 0.1s;
48
- }
49
-
50
- :host([selected]) [part='checkmark']::before {
51
- opacity: 1;
52
- }
53
-
54
- :host([active]:not([selected])) [part='checkmark']::before {
55
- transform: scale(0.8);
56
- opacity: 0;
57
- transition-duration: 0s;
58
- }
59
-
60
- [part='content'] {
61
- flex: auto;
62
- }
63
-
64
- /* Disabled */
65
- :host([disabled]) {
66
- color: var(--lumo-disabled-text-color);
67
- cursor: default;
68
- pointer-events: none;
69
- }
70
-
71
- /* TODO a workaround until we have "focus-follows-mouse". After that, use the hover style for focus-ring as well */
72
- @media (any-hover: hover) {
73
- :host(:hover:not([disabled])) {
74
- background-color: var(--lumo-primary-color-10pct);
75
- }
76
- }
77
-
78
- :host([focus-ring]:not([disabled])) {
79
- box-shadow: inset 0 0 0 var(--_focus-ring-width) var(--_focus-ring-color);
80
- }
81
-
82
- /* RTL specific styles */
83
- :host([dir='rtl']) {
84
- padding-left: calc(var(--lumo-space-l) + var(--lumo-border-radius-m) / 4);
85
- padding-right: var(--_lumo-list-box-item-padding-left, calc(var(--lumo-border-radius-m) / 4));
86
- }
87
-
88
- /* Slotted icons */
89
- :host ::slotted(vaadin-icon) {
90
- width: var(--lumo-icon-size-m);
91
- height: var(--lumo-icon-size-m);
92
- }
93
- `;
94
-
95
- registerStyles('vaadin-item', item, { moduleId: 'lumo-item' });
96
-
97
- export { item };
@@ -1,2 +0,0 @@
1
- import './vaadin-item-styles.js';
2
- import '../../src/vaadin-item.js';
@@ -1,2 +0,0 @@
1
- import './vaadin-item-styles.js';
2
- import '../../src/vaadin-item.js';