@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 +11 -11
- package/src/styles/vaadin-details-summary-base-styles.js +101 -0
- package/src/styles/vaadin-details-summary-core-styles.d.ts +8 -0
- package/src/vaadin-details-summary.js +3 -2
- package/src/vaadin-details.js +2 -1
- package/web-types.json +1 -1
- package/web-types.lit.json +1 -1
- /package/src/{vaadin-details-summary-core-styles.d.ts → styles/vaadin-details-summary-base-styles.d.ts} +0 -0
- /package/src/{vaadin-details-summary-core-styles.js → styles/vaadin-details-summary-core-styles.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/details",
|
|
3
|
-
"version": "25.0.0-
|
|
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/
|
|
25
|
-
"!src/
|
|
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-
|
|
41
|
-
"@vaadin/button": "25.0.0-
|
|
42
|
-
"@vaadin/component-base": "25.0.0-
|
|
43
|
-
"@vaadin/vaadin-lumo-styles": "25.0.0-
|
|
44
|
-
"@vaadin/vaadin-themable-mixin": "25.0.0-
|
|
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-
|
|
49
|
-
"@vaadin/test-runner-commands": "25.0.0-
|
|
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": "
|
|
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
|
}
|
package/src/vaadin-details.js
CHANGED
|
@@ -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
package/web-types.lit.json
CHANGED
|
File without changes
|
/package/src/{vaadin-details-summary-core-styles.js → styles/vaadin-details-summary-core-styles.js}
RENAMED
|
File without changes
|