@vaadin/details 25.0.0-alpha1 → 25.0.0-alpha11
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 +10 -13
- package/src/styles/vaadin-details-summary-base-styles.js +99 -0
- package/src/vaadin-details-summary.js +3 -2
- package/src/vaadin-details.d.ts +1 -1
- package/src/vaadin-details.js +9 -2
- package/vaadin-details-summary.js +1 -1
- package/vaadin-details.js +1 -1
- package/web-types.json +2 -2
- package/web-types.lit.json +2 -2
- package/src/vaadin-details-summary-core-styles.js +0 -24
- package/theme/lumo/vaadin-details-styles.d.ts +0 -6
- package/theme/lumo/vaadin-details-styles.js +0 -42
- package/theme/lumo/vaadin-details-summary-styles.d.ts +0 -8
- package/theme/lumo/vaadin-details-summary-styles.js +0 -127
- package/theme/lumo/vaadin-details-summary.d.ts +0 -2
- package/theme/lumo/vaadin-details-summary.js +0 -2
- package/theme/lumo/vaadin-details.d.ts +0 -3
- package/theme/lumo/vaadin-details.js +0 -3
- /package/src/{vaadin-details-summary-core-styles.d.ts → styles/vaadin-details-summary-base-styles.d.ts} +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-alpha11",
|
|
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/vaadin-details-summary-base-styles.d.ts",
|
|
25
|
-
"!src/vaadin-details-summary-base-styles.js",
|
|
26
|
-
"theme",
|
|
27
24
|
"vaadin-*.d.ts",
|
|
28
25
|
"vaadin-*.js",
|
|
29
26
|
"web-types.json",
|
|
@@ -37,22 +34,22 @@
|
|
|
37
34
|
],
|
|
38
35
|
"dependencies": {
|
|
39
36
|
"@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-
|
|
44
|
-
"@vaadin/vaadin-themable-mixin": "25.0.0-alpha1",
|
|
37
|
+
"@vaadin/a11y-base": "25.0.0-alpha11",
|
|
38
|
+
"@vaadin/button": "25.0.0-alpha11",
|
|
39
|
+
"@vaadin/component-base": "25.0.0-alpha11",
|
|
40
|
+
"@vaadin/vaadin-themable-mixin": "25.0.0-alpha11",
|
|
45
41
|
"lit": "^3.0.0"
|
|
46
42
|
},
|
|
47
43
|
"devDependencies": {
|
|
48
|
-
"@vaadin/chai-plugins": "25.0.0-
|
|
49
|
-
"@vaadin/test-runner-commands": "25.0.0-
|
|
50
|
-
"@vaadin/testing-helpers": "^
|
|
44
|
+
"@vaadin/chai-plugins": "25.0.0-alpha11",
|
|
45
|
+
"@vaadin/test-runner-commands": "25.0.0-alpha11",
|
|
46
|
+
"@vaadin/testing-helpers": "^2.0.0",
|
|
47
|
+
"@vaadin/vaadin-lumo-styles": "25.0.0-alpha11",
|
|
51
48
|
"sinon": "^18.0.0"
|
|
52
49
|
},
|
|
53
50
|
"web-types": [
|
|
54
51
|
"web-types.json",
|
|
55
52
|
"web-types.lit.json"
|
|
56
53
|
],
|
|
57
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "abfd315ba5a7484a613e0768635a4e8fe945a44b"
|
|
58
55
|
}
|
|
@@ -0,0 +1,99 @@
|
|
|
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/styles/style-props.js';
|
|
7
|
+
import { css, unsafeCSS } from 'lit';
|
|
8
|
+
|
|
9
|
+
export const detailsSummary = (partName = 'vaadin-details-summary') => css`
|
|
10
|
+
:host {
|
|
11
|
+
align-items: center;
|
|
12
|
+
background: var(--${unsafeCSS(partName)}-background, transparent);
|
|
13
|
+
background-origin: border-box;
|
|
14
|
+
border: var(--${unsafeCSS(partName)}-border, none);
|
|
15
|
+
border-radius: var(--${unsafeCSS(partName)}-border-radius, var(--vaadin-radius-m));
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
color: var(--${unsafeCSS(partName)}-text-color, var(--vaadin-color));
|
|
18
|
+
cursor: var(--vaadin-clickable-cursor);
|
|
19
|
+
display: flex;
|
|
20
|
+
font-size: var(--${unsafeCSS(partName)}-font-size, inherit);
|
|
21
|
+
font-weight: var(--${unsafeCSS(partName)}-font-weight, 500);
|
|
22
|
+
gap: var(--${unsafeCSS(partName)}-gap, 0 var(--vaadin-gap-container-inline));
|
|
23
|
+
height: var(--${unsafeCSS(partName)}-height, auto);
|
|
24
|
+
outline: calc(var(--vaadin-focus-ring-width) * var(--_focus-ring, 0)) solid var(--vaadin-focus-ring-color);
|
|
25
|
+
outline-offset: 1px;
|
|
26
|
+
padding: var(--${unsafeCSS(partName)}-padding, var(--vaadin-padding-container));
|
|
27
|
+
-webkit-tap-highlight-color: transparent;
|
|
28
|
+
-webkit-user-select: none;
|
|
29
|
+
user-select: none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host([focus-ring]) {
|
|
33
|
+
--_focus-ring: 1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host([hidden]) {
|
|
37
|
+
display: none !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[part='toggle'] {
|
|
41
|
+
color: var(--vaadin-color-subtle);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
45
|
+
[part='toggle'] {
|
|
46
|
+
transition-property: rotate;
|
|
47
|
+
transition-duration: 150ms;
|
|
48
|
+
animation: delay-initial-transition 1ms;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@keyframes delay-initial-transition {
|
|
52
|
+
0% {
|
|
53
|
+
rotate: 0deg;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[part='toggle']::before {
|
|
59
|
+
background: currentColor;
|
|
60
|
+
content: '';
|
|
61
|
+
display: block;
|
|
62
|
+
height: var(--vaadin-icon-size, 1lh);
|
|
63
|
+
mask-image: var(--_vaadin-icon-chevron-down);
|
|
64
|
+
width: var(--vaadin-icon-size, 1lh);
|
|
65
|
+
rotate: -90deg;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([disabled]) {
|
|
69
|
+
opacity: 0.5;
|
|
70
|
+
cursor: var(--vaadin-disabled-cursor);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
:host([dir='rtl']) [part='toggle']::before {
|
|
74
|
+
scale: -1;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
:host([opened]) [part='toggle'] {
|
|
78
|
+
rotate: 90deg;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:host([dir='rtl'][opened]) [part='toggle'] {
|
|
82
|
+
rotate: -90deg;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@media (forced-colors: active) {
|
|
86
|
+
[part='toggle']::before {
|
|
87
|
+
background: CanvasText;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
:host([disabled]) {
|
|
91
|
+
color: GrayText;
|
|
92
|
+
opacity: 1;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
:host([disabled]) [part='toggle']::before {
|
|
96
|
+
background: GrayText;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
`;
|
|
@@ -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 { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
11
12
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
12
|
-
import { detailsSummary } from './vaadin-details-summary-
|
|
13
|
+
import { detailsSummary } from './styles/vaadin-details-summary-base-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(ThemableMixin(PolylitMixin(LumoInjectionMixin(LitElement))))) {
|
|
45
46
|
static get is() {
|
|
46
47
|
return 'vaadin-details-summary';
|
|
47
48
|
}
|
package/src/vaadin-details.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type DetailsEventMap = DetailsCustomEventMap & HTMLElementEventMap;
|
|
|
22
22
|
* `<vaadin-details>` is a Web Component which the creates an
|
|
23
23
|
* expandable panel similar to `<details>` HTML element.
|
|
24
24
|
*
|
|
25
|
-
* ```
|
|
25
|
+
* ```html
|
|
26
26
|
* <vaadin-details>
|
|
27
27
|
* <vaadin-details-summary slot="summary">Expandable Details</vaadin-details-summary>
|
|
28
28
|
* <div>
|
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 { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-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
|
|
|
@@ -15,7 +16,7 @@ import { DetailsBaseMixin } from './vaadin-details-base-mixin.js';
|
|
|
15
16
|
* `<vaadin-details>` is a Web Component which the creates an
|
|
16
17
|
* expandable panel similar to `<details>` HTML element.
|
|
17
18
|
*
|
|
18
|
-
* ```
|
|
19
|
+
* ```html
|
|
19
20
|
* <vaadin-details>
|
|
20
21
|
* <vaadin-details-summary slot="summary">Expandable Details</vaadin-details-summary>
|
|
21
22
|
* <div>
|
|
@@ -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(ThemableMixin(PolylitMixin(LumoInjectionMixin(LitElement))))) {
|
|
55
56
|
static get is() {
|
|
56
57
|
return 'vaadin-details';
|
|
57
58
|
}
|
|
@@ -76,6 +77,12 @@ class Details extends DetailsBaseMixin(ElementMixin(ThemableMixin(PolylitMixin(L
|
|
|
76
77
|
`;
|
|
77
78
|
}
|
|
78
79
|
|
|
80
|
+
static get lumoInjector() {
|
|
81
|
+
return {
|
|
82
|
+
includeBaseStyles: true,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
79
86
|
/** @protected */
|
|
80
87
|
render() {
|
|
81
88
|
return html`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './src/vaadin-details-summary.js';
|
|
2
2
|
export * from './src/vaadin-details-summary.js';
|
package/vaadin-details.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './src/vaadin-details.js';
|
|
2
2
|
export * from './src/vaadin-details.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/details",
|
|
4
|
-
"version": "25.0.0-
|
|
4
|
+
"version": "25.0.0-alpha11",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"name": "vaadin-details",
|
|
77
|
-
"description": "`<vaadin-details>` is a Web Component which the creates an\nexpandable panel similar to `<details>` HTML element.\n\n
|
|
77
|
+
"description": "`<vaadin-details>` is a Web Component which the creates an\nexpandable panel similar to `<details>` HTML element.\n\n```html\n<vaadin-details>\n <vaadin-details-summary slot=\"summary\">Expandable Details</vaadin-details-summary>\n <div>\n Toggle using mouse, Enter and Space keys.\n </div>\n</vaadin-details>\n```\n\n### Styling\n\nThe following shadow DOM parts are exposed for styling:\n\nPart name | Description\n-----------------|----------------\n`content` | The wrapper for the collapsible details content.\n\nThe following attributes are exposed for styling:\n\nAttribute | Description\n-------------| -----------\n`opened` | Set when the collapsible content is expanded and visible.\n`disabled` | Set when the element is disabled.\n`focus-ring` | Set when the element is focused using the keyboard.\n`focused` | Set when the element is focused.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
78
78
|
"attributes": [
|
|
79
79
|
{
|
|
80
80
|
"name": "disabled",
|
package/web-types.lit.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-
|
|
4
|
+
"version": "25.0.0-alpha11",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "vaadin-details",
|
|
40
|
-
"description": "`<vaadin-details>` is a Web Component which the creates an\nexpandable panel similar to `<details>` HTML element.\n\n
|
|
40
|
+
"description": "`<vaadin-details>` is a Web Component which the creates an\nexpandable panel similar to `<details>` HTML element.\n\n```html\n<vaadin-details>\n <vaadin-details-summary slot=\"summary\">Expandable Details</vaadin-details-summary>\n <div>\n Toggle using mouse, Enter and Space keys.\n </div>\n</vaadin-details>\n```\n\n### Styling\n\nThe following shadow DOM parts are exposed for styling:\n\nPart name | Description\n-----------------|----------------\n`content` | The wrapper for the collapsible details content.\n\nThe following attributes are exposed for styling:\n\nAttribute | Description\n-------------| -----------\n`opened` | Set when the collapsible content is expanded and visible.\n`disabled` | Set when the element is disabled.\n`focus-ring` | Set when the element is focused using the keyboard.\n`focused` | Set when the element is focused.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
41
41
|
"extension": true,
|
|
42
42
|
"attributes": [
|
|
43
43
|
{
|
|
@@ -1,24 +0,0 @@
|
|
|
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 { css } from 'lit';
|
|
7
|
-
|
|
8
|
-
export const detailsSummary = () => css`
|
|
9
|
-
:host {
|
|
10
|
-
display: block;
|
|
11
|
-
outline: none;
|
|
12
|
-
white-space: nowrap;
|
|
13
|
-
-webkit-user-select: none;
|
|
14
|
-
user-select: none;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
:host([hidden]) {
|
|
18
|
-
display: none !important;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
:host([disabled]) {
|
|
22
|
-
pointer-events: none;
|
|
23
|
-
}
|
|
24
|
-
`;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.js';
|
|
2
|
-
import '@vaadin/vaadin-lumo-styles/spacing.js';
|
|
3
|
-
import '@vaadin/vaadin-lumo-styles/style.js';
|
|
4
|
-
import '@vaadin/vaadin-lumo-styles/typography.js';
|
|
5
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
6
|
-
|
|
7
|
-
const details = css`
|
|
8
|
-
:host {
|
|
9
|
-
margin: var(--lumo-space-xs) 0;
|
|
10
|
-
outline: none;
|
|
11
|
-
--_focus-ring-color: var(--vaadin-focus-ring-color, var(--lumo-primary-color-50pct));
|
|
12
|
-
--_focus-ring-width: var(--vaadin-focus-ring-width, 2px);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
:host([focus-ring]) ::slotted([slot='summary']) {
|
|
16
|
-
box-shadow: 0 0 0 var(--_focus-ring-width) var(--_focus-ring-color);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
[part='content'] {
|
|
20
|
-
padding: var(--lumo-space-xs) 0 var(--lumo-space-s);
|
|
21
|
-
font-size: var(--lumo-font-size-m);
|
|
22
|
-
line-height: var(--lumo-line-height-m);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
:host([theme~='filled']) {
|
|
26
|
-
background-color: var(--lumo-contrast-5pct);
|
|
27
|
-
border-radius: var(--lumo-border-radius-m);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host([theme~='filled']) [part='content'] {
|
|
31
|
-
padding-left: var(--lumo-space-m);
|
|
32
|
-
padding-right: var(--lumo-space-m);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
:host([theme~='small']) [part$='content'] {
|
|
36
|
-
font-size: var(--lumo-font-size-s);
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
|
-
|
|
40
|
-
registerStyles('vaadin-details', details, { moduleId: 'lumo-details' });
|
|
41
|
-
|
|
42
|
-
export { details };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.js';
|
|
2
|
-
import '@vaadin/vaadin-lumo-styles/font-icons.js';
|
|
3
|
-
import '@vaadin/vaadin-lumo-styles/sizing.js';
|
|
4
|
-
import '@vaadin/vaadin-lumo-styles/spacing.js';
|
|
5
|
-
import '@vaadin/vaadin-lumo-styles/style.js';
|
|
6
|
-
import '@vaadin/vaadin-lumo-styles/typography.js';
|
|
7
|
-
declare const detailsSummary: import("lit").CSSResult;
|
|
8
|
-
export { detailsSummary };
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.js';
|
|
2
|
-
import '@vaadin/vaadin-lumo-styles/font-icons.js';
|
|
3
|
-
import '@vaadin/vaadin-lumo-styles/sizing.js';
|
|
4
|
-
import '@vaadin/vaadin-lumo-styles/spacing.js';
|
|
5
|
-
import '@vaadin/vaadin-lumo-styles/style.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 detailsSummary = css`
|
|
10
|
-
:host {
|
|
11
|
-
display: flex;
|
|
12
|
-
align-items: center;
|
|
13
|
-
width: 100%;
|
|
14
|
-
outline: none;
|
|
15
|
-
padding: var(--lumo-space-s) 0;
|
|
16
|
-
box-sizing: border-box;
|
|
17
|
-
font-family: var(--lumo-font-family);
|
|
18
|
-
font-size: var(--lumo-font-size-m);
|
|
19
|
-
font-weight: 500;
|
|
20
|
-
line-height: var(--lumo-line-height-xs);
|
|
21
|
-
color: var(--lumo-secondary-text-color);
|
|
22
|
-
background-color: inherit;
|
|
23
|
-
border-radius: var(--lumo-border-radius-m);
|
|
24
|
-
cursor: var(--lumo-clickable-cursor);
|
|
25
|
-
-webkit-tap-highlight-color: transparent;
|
|
26
|
-
-webkit-font-smoothing: antialiased;
|
|
27
|
-
-moz-osx-font-smoothing: grayscale;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host([disabled]),
|
|
31
|
-
:host([disabled]) [part='toggle'] {
|
|
32
|
-
color: var(--lumo-disabled-text-color);
|
|
33
|
-
cursor: default;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@media (hover: hover) {
|
|
37
|
-
:host(:hover:not([disabled])),
|
|
38
|
-
:host(:hover:not([disabled])) [part='toggle'] {
|
|
39
|
-
color: var(--lumo-contrast-80pct);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
[part='toggle'] {
|
|
44
|
-
display: block;
|
|
45
|
-
width: 1em;
|
|
46
|
-
height: 1em;
|
|
47
|
-
margin-left: calc(var(--lumo-space-xs) * -1);
|
|
48
|
-
margin-right: var(--lumo-space-xs);
|
|
49
|
-
font-size: var(--lumo-icon-size-s);
|
|
50
|
-
line-height: 1;
|
|
51
|
-
color: var(--lumo-contrast-60pct);
|
|
52
|
-
font-family: 'lumo-icons';
|
|
53
|
-
cursor: var(--lumo-clickable-cursor);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
[part='toggle']::before {
|
|
57
|
-
content: var(--lumo-icons-angle-right);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
:host([opened]) [part='toggle'] {
|
|
61
|
-
transform: rotate(90deg);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
[part='content'] {
|
|
65
|
-
flex-grow: 1;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/* RTL styles */
|
|
69
|
-
:host([dir='rtl']) [part='toggle'] {
|
|
70
|
-
margin-left: var(--lumo-space-xs);
|
|
71
|
-
margin-right: calc(var(--lumo-space-xs) * -1);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
:host([dir='rtl']) [part='toggle']::before {
|
|
75
|
-
content: var(--lumo-icons-angle-left);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
:host([opened][dir='rtl']) [part='toggle'] {
|
|
79
|
-
transform: rotate(-90deg);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/* Small */
|
|
83
|
-
:host([theme~='small']) {
|
|
84
|
-
padding-top: var(--lumo-space-xs);
|
|
85
|
-
padding-bottom: var(--lumo-space-xs);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
:host([theme~='small']) [part='toggle'] {
|
|
89
|
-
margin-right: calc(var(--lumo-space-xs) / 2);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
:host([theme~='small'][dir='rtl']) [part='toggle'] {
|
|
93
|
-
margin-left: calc(var(--lumo-space-xs) / 2);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/* Filled */
|
|
97
|
-
:host([theme~='filled']) {
|
|
98
|
-
padding: var(--lumo-space-s) calc(var(--lumo-space-s) + var(--lumo-space-xs) / 2);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/* Reverse */
|
|
102
|
-
:host([theme~='reverse']) {
|
|
103
|
-
justify-content: space-between;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
:host([theme~='reverse']) [part='toggle'] {
|
|
107
|
-
order: 1;
|
|
108
|
-
margin-right: 0;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
:host([theme~='reverse'][dir='rtl']) [part='toggle'] {
|
|
112
|
-
margin-left: 0;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/* Filled reverse */
|
|
116
|
-
:host([theme~='reverse'][theme~='filled']) {
|
|
117
|
-
padding-left: var(--lumo-space-m);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
:host([theme~='reverse'][theme~='filled'][dir='rtl']) {
|
|
121
|
-
padding-right: var(--lumo-space-m);
|
|
122
|
-
}
|
|
123
|
-
`;
|
|
124
|
-
|
|
125
|
-
registerStyles('vaadin-details-summary', detailsSummary, { moduleId: 'lumo-details-summary' });
|
|
126
|
-
|
|
127
|
-
export { detailsSummary };
|
|
File without changes
|