@vaadin/details 25.0.0-alpha3 → 25.0.0-alpha5

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/details",
3
- "version": "25.0.0-alpha3",
3
+ "version": "25.0.0-alpha5",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,8 +21,8 @@
21
21
  "type": "module",
22
22
  "files": [
23
23
  "src",
24
- "!src/vaadin-details-summary-base-styles.d.ts",
25
- "!src/vaadin-details-summary-base-styles.js",
24
+ "!src/styles/*-base-styles.d.ts",
25
+ "!src/styles/*-base-styles.js",
26
26
  "theme",
27
27
  "vaadin-*.d.ts",
28
28
  "vaadin-*.js",
@@ -37,16 +37,16 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "@open-wc/dedupe-mixin": "^1.3.0",
40
- "@vaadin/a11y-base": "25.0.0-alpha3",
41
- "@vaadin/button": "25.0.0-alpha3",
42
- "@vaadin/component-base": "25.0.0-alpha3",
43
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha3",
44
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha3",
40
+ "@vaadin/a11y-base": "25.0.0-alpha5",
41
+ "@vaadin/button": "25.0.0-alpha5",
42
+ "@vaadin/component-base": "25.0.0-alpha5",
43
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha5",
44
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha5",
45
45
  "lit": "^3.0.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@vaadin/chai-plugins": "25.0.0-alpha3",
49
- "@vaadin/test-runner-commands": "25.0.0-alpha3",
48
+ "@vaadin/chai-plugins": "25.0.0-alpha5",
49
+ "@vaadin/test-runner-commands": "25.0.0-alpha5",
50
50
  "@vaadin/testing-helpers": "^2.0.0",
51
51
  "sinon": "^18.0.0"
52
52
  },
@@ -54,5 +54,5 @@
54
54
  "web-types.json",
55
55
  "web-types.lit.json"
56
56
  ],
57
- "gitHead": "8367dd20a47f53ca5589ad349a8e286ec2673055"
57
+ "gitHead": "7dc87bb2a3cae81ed53259fa10b58f990d50c6fd"
58
58
  }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2025 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import '@vaadin/component-base/src/style-props.js';
7
+ import { css, unsafeCSS } from 'lit';
8
+
9
+ export const detailsSummary = (partName = 'vaadin-details-summary') => css`
10
+ @layer base {
11
+ :host {
12
+ align-items: center;
13
+ background: var(--${unsafeCSS(partName)}-background, transparent);
14
+ background-origin: border-box;
15
+ border: var(--${unsafeCSS(partName)}-border, none);
16
+ border-radius: var(--${unsafeCSS(partName)}-border-radius, var(--_vaadin-radius-m));
17
+ box-sizing: border-box;
18
+ color: var(--${unsafeCSS(partName)}-text-color, var(--_vaadin-color-strong));
19
+ cursor: var(--vaadin-clickable-cursor);
20
+ display: flex;
21
+ font-size: var(--${unsafeCSS(partName)}-font-size, inherit);
22
+ font-weight: var(--${unsafeCSS(partName)}-font-weight, 500);
23
+ gap: var(--${unsafeCSS(partName)}-gap, 0 var(--_vaadin-gap-container-inline));
24
+ height: var(--${unsafeCSS(partName)}-height, auto);
25
+ outline: calc(var(--vaadin-focus-ring-width) * var(--_focus-ring, 0)) solid var(--vaadin-focus-ring-color);
26
+ outline-offset: 1px;
27
+ padding: var(--${unsafeCSS(partName)}-padding, var(--_vaadin-padding-container));
28
+ -webkit-tap-highlight-color: transparent;
29
+ -webkit-user-select: none;
30
+ user-select: none;
31
+ }
32
+
33
+ :host([focus-ring]) {
34
+ --_focus-ring: 1;
35
+ }
36
+
37
+ :host([hidden]) {
38
+ display: none !important;
39
+ }
40
+
41
+ [part='toggle'] {
42
+ color: var(--_vaadin-color);
43
+ }
44
+
45
+ @media (prefers-reduced-motion: no-preference) {
46
+ [part='toggle'] {
47
+ transition-property: rotate;
48
+ transition-duration: 150ms;
49
+ animation: delay-initial-transition 1ms;
50
+ }
51
+
52
+ @keyframes delay-initial-transition {
53
+ 0% {
54
+ rotate: 0deg;
55
+ }
56
+ }
57
+ }
58
+
59
+ [part='toggle']::before {
60
+ background: currentColor;
61
+ content: '';
62
+ display: block;
63
+ height: var(--vaadin-icon-size, 1lh);
64
+ mask-image: var(--_vaadin-icon-chevron-down);
65
+ width: var(--vaadin-icon-size, 1lh);
66
+ rotate: -90deg;
67
+ }
68
+
69
+ :host([disabled]) {
70
+ opacity: 0.5;
71
+ cursor: var(--vaadin-disabled-cursor);
72
+ }
73
+
74
+ :host([dir='rtl']) [part='toggle']::before {
75
+ scale: -1;
76
+ }
77
+
78
+ :host([opened]) [part='toggle'] {
79
+ rotate: 90deg;
80
+ }
81
+
82
+ :host([dir='rtl'][opened]) [part='toggle'] {
83
+ rotate: -90deg;
84
+ }
85
+
86
+ @media (forced-colors: active) {
87
+ [part='toggle']::before {
88
+ background: CanvasText;
89
+ }
90
+
91
+ :host([disabled]) {
92
+ color: GrayText;
93
+ opacity: 1;
94
+ }
95
+
96
+ :host([disabled]) [part='toggle']::before {
97
+ background: GrayText;
98
+ }
99
+ }
100
+ }
101
+ `;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2025 - 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 detailsSummary: (partName?: string) => CSSResult;
@@ -8,8 +8,9 @@ import { ButtonMixin } from '@vaadin/button/src/vaadin-button-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 { CSSInjectionMixin } from '@vaadin/vaadin-themable-mixin/css-injection-mixin.js';
11
12
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
- import { detailsSummary } from './vaadin-details-summary-core-styles.js';
13
+ import { detailsSummary } from './styles/vaadin-details-summary-core-styles.js';
13
14
 
14
15
  /**
15
16
  * The details summary element.
@@ -41,7 +42,7 @@ import { detailsSummary } from './vaadin-details-summary-core-styles.js';
41
42
  * @mixes DirMixin
42
43
  * @mixes ThemableMixin
43
44
  */
44
- class DetailsSummary extends ButtonMixin(DirMixin(ThemableMixin(PolylitMixin(LitElement)))) {
45
+ class DetailsSummary extends ButtonMixin(DirMixin(CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))) {
45
46
  static get is() {
46
47
  return 'vaadin-details-summary';
47
48
  }
@@ -8,6 +8,7 @@ import { css, html, LitElement } from 'lit';
8
8
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
9
9
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.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';
11
12
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
13
  import { DetailsBaseMixin } from './vaadin-details-base-mixin.js';
13
14
 
@@ -51,7 +52,7 @@ import { DetailsBaseMixin } from './vaadin-details-base-mixin.js';
51
52
  * @mixes ElementMixin
52
53
  * @mixes ThemableMixin
53
54
  */
54
- class Details extends DetailsBaseMixin(ElementMixin(ThemableMixin(PolylitMixin(LitElement)))) {
55
+ class Details extends DetailsBaseMixin(ElementMixin(CSSInjectionMixin(ThemableMixin(PolylitMixin(LitElement))))) {
55
56
  static get is() {
56
57
  return 'vaadin-details';
57
58
  }
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/details",
4
- "version": "25.0.0-alpha3",
4
+ "version": "25.0.0-alpha5",
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/details",
4
- "version": "25.0.0-alpha3",
4
+ "version": "25.0.0-alpha5",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {