@vaadin/dashboard 25.0.0-alpha10 → 25.0.0-alpha12
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-dashboard-base-styles.js +1 -1
- package/src/styles/vaadin-dashboard-button-base-styles.js +1 -1
- package/src/styles/vaadin-dashboard-section-base-styles.js +2 -2
- package/src/styles/vaadin-dashboard-widget-base-styles.js +2 -2
- package/src/styles/vaadin-dashboard-widget-section-base-styles.js +1 -1
- package/src/vaadin-dashboard-button.js +1 -1
- package/src/vaadin-dashboard-layout.js +1 -1
- package/src/vaadin-dashboard-section.js +1 -1
- package/src/vaadin-dashboard-widget.js +1 -1
- package/src/vaadin-dashboard.js +1 -1
- package/vaadin-dashboard-layout.js +1 -1
- package/vaadin-dashboard-section.js +1 -1
- package/vaadin-dashboard-widget.js +1 -1
- package/vaadin-dashboard.js +1 -1
- package/web-types.json +2 -2
- package/web-types.lit.json +2 -2
- package/src/styles/vaadin-dashboard-button-core-styles.d.ts +0 -13
- package/src/styles/vaadin-dashboard-button-core-styles.js +0 -20
- package/src/styles/vaadin-dashboard-core-styles.d.ts +0 -13
- package/src/styles/vaadin-dashboard-core-styles.js +0 -25
- package/src/styles/vaadin-dashboard-layout-core-styles.d.ts +0 -13
- package/src/styles/vaadin-dashboard-layout-core-styles.js +0 -85
- package/src/styles/vaadin-dashboard-section-core-styles.d.ts +0 -13
- package/src/styles/vaadin-dashboard-section-core-styles.js +0 -53
- package/src/styles/vaadin-dashboard-widget-core-styles.d.ts +0 -13
- package/src/styles/vaadin-dashboard-widget-core-styles.js +0 -57
- package/src/styles/vaadin-dashboard-widget-section-core-styles.js +0 -151
- package/theme/lumo/vaadin-dashboard-button-styles.d.ts +0 -2
- package/theme/lumo/vaadin-dashboard-button-styles.js +0 -8
- package/theme/lumo/vaadin-dashboard-button.d.ts +0 -1
- package/theme/lumo/vaadin-dashboard-button.js +0 -1
- package/theme/lumo/vaadin-dashboard-layout-styles.d.ts +0 -1
- package/theme/lumo/vaadin-dashboard-layout-styles.js +0 -28
- package/theme/lumo/vaadin-dashboard-layout.d.ts +0 -2
- package/theme/lumo/vaadin-dashboard-layout.js +0 -2
- package/theme/lumo/vaadin-dashboard-section-styles.d.ts +0 -5
- package/theme/lumo/vaadin-dashboard-section-styles.js +0 -83
- package/theme/lumo/vaadin-dashboard-section.d.ts +0 -3
- package/theme/lumo/vaadin-dashboard-section.js +0 -3
- package/theme/lumo/vaadin-dashboard-styles.d.ts +0 -1
- package/theme/lumo/vaadin-dashboard-styles.js +0 -16
- package/theme/lumo/vaadin-dashboard-widget-styles.d.ts +0 -9
- package/theme/lumo/vaadin-dashboard-widget-styles.js +0 -329
- package/theme/lumo/vaadin-dashboard-widget.d.ts +0 -3
- package/theme/lumo/vaadin-dashboard-widget.js +0 -3
- package/theme/lumo/vaadin-dashboard.d.ts +0 -4
- package/theme/lumo/vaadin-dashboard.js +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/dashboard",
|
|
3
|
-
"version": "25.0.0-
|
|
3
|
+
"version": "25.0.0-alpha12",
|
|
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",
|
|
@@ -39,22 +36,22 @@
|
|
|
39
36
|
],
|
|
40
37
|
"dependencies": {
|
|
41
38
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
42
|
-
"@vaadin/a11y-base": "25.0.0-
|
|
43
|
-
"@vaadin/button": "25.0.0-
|
|
44
|
-
"@vaadin/component-base": "25.0.0-
|
|
45
|
-
"@vaadin/vaadin-
|
|
46
|
-
"@vaadin/vaadin-themable-mixin": "25.0.0-alpha10",
|
|
39
|
+
"@vaadin/a11y-base": "25.0.0-alpha12",
|
|
40
|
+
"@vaadin/button": "25.0.0-alpha12",
|
|
41
|
+
"@vaadin/component-base": "25.0.0-alpha12",
|
|
42
|
+
"@vaadin/vaadin-themable-mixin": "25.0.0-alpha12",
|
|
47
43
|
"lit": "^3.0.0"
|
|
48
44
|
},
|
|
49
45
|
"devDependencies": {
|
|
50
|
-
"@vaadin/chai-plugins": "25.0.0-
|
|
51
|
-
"@vaadin/test-runner-commands": "25.0.0-
|
|
52
|
-
"@vaadin/testing-helpers": "^2.0.0"
|
|
46
|
+
"@vaadin/chai-plugins": "25.0.0-alpha12",
|
|
47
|
+
"@vaadin/test-runner-commands": "25.0.0-alpha12",
|
|
48
|
+
"@vaadin/testing-helpers": "^2.0.0",
|
|
49
|
+
"@vaadin/vaadin-lumo-styles": "25.0.0-alpha12"
|
|
53
50
|
},
|
|
54
51
|
"cvdlName": "vaadin-dashboard",
|
|
55
52
|
"web-types": [
|
|
56
53
|
"web-types.json",
|
|
57
54
|
"web-types.lit.json"
|
|
58
55
|
],
|
|
59
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "e75527348f9ba7c363d068c868b9f030c15b84a1"
|
|
60
57
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
11
|
import { css } from 'lit';
|
|
12
|
-
import { dashboardLayoutStyles } from './vaadin-dashboard-layout-
|
|
12
|
+
import { dashboardLayoutStyles } from './vaadin-dashboard-layout-base-styles.js';
|
|
13
13
|
|
|
14
14
|
const dashboard = css`
|
|
15
15
|
#grid[item-resizing] {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
11
|
import { css } from 'lit';
|
|
12
|
-
import { buttonStyles } from '@vaadin/button/src/styles/vaadin-button-
|
|
12
|
+
import { buttonStyles } from '@vaadin/button/src/styles/vaadin-button-base-styles.js';
|
|
13
13
|
|
|
14
14
|
const dashboardButton = css`
|
|
15
15
|
:host {
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
|
-
import '@vaadin/component-base/src/style-props.js';
|
|
11
|
+
import '@vaadin/component-base/src/styles/style-props.js';
|
|
12
12
|
import { css } from 'lit';
|
|
13
|
-
import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-
|
|
13
|
+
import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-base-styles.js';
|
|
14
14
|
|
|
15
15
|
const sectionStyles = css`
|
|
16
16
|
:host {
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
|
-
import '@vaadin/component-base/src/style-props.js';
|
|
11
|
+
import '@vaadin/component-base/src/styles/style-props.js';
|
|
12
12
|
import { css } from 'lit';
|
|
13
|
-
import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-
|
|
13
|
+
import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-base-styles.js';
|
|
14
14
|
|
|
15
15
|
const widgetStyles = css`
|
|
16
16
|
:host {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
|
-
import '@vaadin/component-base/src/style-props.js';
|
|
11
|
+
import '@vaadin/component-base/src/styles/style-props.js';
|
|
12
12
|
import { css } from 'lit';
|
|
13
13
|
|
|
14
14
|
export const dashboardWidgetAndSectionStyles = css`
|
|
@@ -16,7 +16,7 @@ import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
|
16
16
|
import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';
|
|
17
17
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
18
18
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
19
|
-
import { dashboardButtonStyles } from './styles/vaadin-dashboard-button-
|
|
19
|
+
import { dashboardButtonStyles } from './styles/vaadin-dashboard-button-base-styles.js';
|
|
20
20
|
|
|
21
21
|
class DashboardButton extends ButtonMixin(ElementMixin(ThemableMixin(PolylitMixin(LumoInjectionMixin(LitElement))))) {
|
|
22
22
|
static get is() {
|
|
@@ -14,7 +14,7 @@ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
|
14
14
|
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
15
15
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
16
16
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
17
|
-
import { dashboardLayoutStyles } from './styles/vaadin-dashboard-layout-
|
|
17
|
+
import { dashboardLayoutStyles } from './styles/vaadin-dashboard-layout-base-styles.js';
|
|
18
18
|
import { DashboardLayoutMixin } from './vaadin-dashboard-layout-mixin.js';
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -14,7 +14,7 @@ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
|
14
14
|
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
15
15
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
16
16
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
17
|
-
import { dashboardSectionStyles } from './styles/vaadin-dashboard-section-
|
|
17
|
+
import { dashboardSectionStyles } from './styles/vaadin-dashboard-section-base-styles.js';
|
|
18
18
|
import { DashboardItemMixin } from './vaadin-dashboard-item-mixin.js';
|
|
19
19
|
import { getDefaultI18n } from './vaadin-dashboard-item-mixin.js';
|
|
20
20
|
|
|
@@ -14,7 +14,7 @@ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
|
14
14
|
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
15
15
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
16
16
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
17
|
-
import { dashboardWidgetStyles } from './styles/vaadin-dashboard-widget-
|
|
17
|
+
import { dashboardWidgetStyles } from './styles/vaadin-dashboard-widget-base-styles.js';
|
|
18
18
|
import { findAncestorInstance, SYNCHRONIZED_ATTRIBUTES, WRAPPER_LOCAL_NAME } from './vaadin-dashboard-helpers.js';
|
|
19
19
|
import { DashboardItemMixin } from './vaadin-dashboard-item-mixin.js';
|
|
20
20
|
import { getDefaultI18n } from './vaadin-dashboard-item-mixin.js';
|
package/src/vaadin-dashboard.js
CHANGED
|
@@ -17,7 +17,7 @@ import { I18nMixin } from '@vaadin/component-base/src/i18n-mixin.js';
|
|
|
17
17
|
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
18
18
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
19
19
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
20
|
-
import { dashboardStyles } from './styles/vaadin-dashboard-
|
|
20
|
+
import { dashboardStyles } from './styles/vaadin-dashboard-base-styles.js';
|
|
21
21
|
import {
|
|
22
22
|
getElementItem,
|
|
23
23
|
getItemsArrayOfItem,
|
package/vaadin-dashboard.js
CHANGED
package/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/dashboard",
|
|
4
|
-
"version": "25.0.0-
|
|
4
|
+
"version": "25.0.0-alpha12",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
138
|
"name": "vaadin-dashboard",
|
|
139
|
-
"description": "A responsive, grid-based dashboard layout component\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-
|
|
139
|
+
"description": "A responsive, grid-based dashboard layout component\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha12/#/elements/vaadin-dashboard#property-items) property.\nSet a renderer function to the [`renderer`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha12/#/elements/vaadin-dashboard#property-renderer) property.\n\nThe widgets and the sections will be generated and configured based on the renderer and the items provided.\n\n```html\n<vaadin-dashboard></vaadin-dashboard>\n```\n```js\nconst dashboard = document.querySelector('vaadin-dashboard');\n\ndashboard.items = [\n { title: 'Widget 1 title', content: 'Text 1', rowspan: 2 },\n { title: 'Widget 2 title', content: 'Text 2', colspan: 2 },\n {\n title: 'Section title',\n items: [{ title: 'Widget in section title', content: 'Text 3' }]\n },\n // ... more items\n];\n\ndashboard.renderer = (root, _dashboard, { item }) => {\n const widget = root.firstElementChild || document.createElement('vaadin-dashboard-widget');\n if (!root.contains(widget)) {\n root.appendChild(widget);\n }\n widget.widgetTitle = item.title;\n widget.textContent = item.content;\n};\n```\n\n### Styling\n\nThe following custom properties are available:\n\nCustom Property | Description\n------------------------------------|-------------\n`--vaadin-dashboard-col-min-width` | minimum column width of the dashboard\n`--vaadin-dashboard-col-max-width` | maximum column width of the dashboard\n`--vaadin-dashboard-row-min-height` | minimum row height of the dashboard\n`--vaadin-dashboard-col-max-count` | maximum column count of the dashboard\n`--vaadin-dashboard-gap` | gap between child elements. Must be in length units (0 is not allowed, 0px is)\n`--vaadin-dashboard-padding` | space around the dashboard's outer edges. Must be in length units (0 is not allowed, 0px is)\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n---------------------|-------------\n`editable` | Set when the dashboard is editable.\n`dense-layout` | Set when the dashboard is in dense mode.\n`item-selected` | Set when an item is selected.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
140
140
|
"attributes": [
|
|
141
141
|
{
|
|
142
142
|
"name": "dense-layout",
|
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/dashboard",
|
|
4
|
-
"version": "25.0.0-
|
|
4
|
+
"version": "25.0.0-alpha12",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"name": "vaadin-dashboard",
|
|
61
|
-
"description": "A responsive, grid-based dashboard layout component\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-
|
|
61
|
+
"description": "A responsive, grid-based dashboard layout component\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha12/#/elements/vaadin-dashboard#property-items) property.\nSet a renderer function to the [`renderer`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha12/#/elements/vaadin-dashboard#property-renderer) property.\n\nThe widgets and the sections will be generated and configured based on the renderer and the items provided.\n\n```html\n<vaadin-dashboard></vaadin-dashboard>\n```\n```js\nconst dashboard = document.querySelector('vaadin-dashboard');\n\ndashboard.items = [\n { title: 'Widget 1 title', content: 'Text 1', rowspan: 2 },\n { title: 'Widget 2 title', content: 'Text 2', colspan: 2 },\n {\n title: 'Section title',\n items: [{ title: 'Widget in section title', content: 'Text 3' }]\n },\n // ... more items\n];\n\ndashboard.renderer = (root, _dashboard, { item }) => {\n const widget = root.firstElementChild || document.createElement('vaadin-dashboard-widget');\n if (!root.contains(widget)) {\n root.appendChild(widget);\n }\n widget.widgetTitle = item.title;\n widget.textContent = item.content;\n};\n```\n\n### Styling\n\nThe following custom properties are available:\n\nCustom Property | Description\n------------------------------------|-------------\n`--vaadin-dashboard-col-min-width` | minimum column width of the dashboard\n`--vaadin-dashboard-col-max-width` | maximum column width of the dashboard\n`--vaadin-dashboard-row-min-height` | minimum row height of the dashboard\n`--vaadin-dashboard-col-max-count` | maximum column count of the dashboard\n`--vaadin-dashboard-gap` | gap between child elements. Must be in length units (0 is not allowed, 0px is)\n`--vaadin-dashboard-padding` | space around the dashboard's outer edges. Must be in length units (0 is not allowed, 0px is)\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n---------------------|-------------\n`editable` | Set when the dashboard is editable.\n`dense-layout` | Set when the dashboard is in dense mode.\n`item-selected` | Set when an item is selected.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
62
62
|
"extension": true,
|
|
63
63
|
"attributes": [
|
|
64
64
|
{
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import type { CSSResult } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardButtonStyles: CSSResult;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import { css } from 'lit';
|
|
12
|
-
import { buttonStyles } from '@vaadin/button/src/styles/vaadin-button-core-styles.js';
|
|
13
|
-
|
|
14
|
-
const dashboardButton = css`
|
|
15
|
-
:host {
|
|
16
|
-
min-width: 1rem;
|
|
17
|
-
}
|
|
18
|
-
`;
|
|
19
|
-
|
|
20
|
-
export const dashboardButtonStyles = [buttonStyles, dashboardButton];
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import type { CSSResult } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardStyles: CSSResult;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import { css } from 'lit';
|
|
12
|
-
import { dashboardLayoutStyles } from './vaadin-dashboard-layout-core-styles.js';
|
|
13
|
-
|
|
14
|
-
const dashboard = css`
|
|
15
|
-
#grid[item-resizing] {
|
|
16
|
-
-webkit-user-select: none;
|
|
17
|
-
user-select: none;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
::slotted(vaadin-dashboard-widget-wrapper) {
|
|
21
|
-
display: contents;
|
|
22
|
-
}
|
|
23
|
-
`;
|
|
24
|
-
|
|
25
|
-
export const dashboardStyles = [dashboardLayoutStyles, dashboard];
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import type { CSSResult } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardLayoutStyles: CSSResult;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import { css } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardLayoutStyles = css`
|
|
14
|
-
:host {
|
|
15
|
-
display: block;
|
|
16
|
-
overflow: auto;
|
|
17
|
-
box-sizing: border-box;
|
|
18
|
-
width: 100%;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
:host([hidden]) {
|
|
22
|
-
display: none !important;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
:host([dense-layout]) #grid {
|
|
26
|
-
grid-auto-flow: dense;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
#grid {
|
|
30
|
-
box-sizing: border-box;
|
|
31
|
-
|
|
32
|
-
/* Padding around dashboard edges */
|
|
33
|
-
--_default-padding: 1rem;
|
|
34
|
-
--_padding: max(0px, var(--vaadin-dashboard-padding, var(--_default-padding)));
|
|
35
|
-
padding: var(--_padding);
|
|
36
|
-
|
|
37
|
-
/* Gap between widgets */
|
|
38
|
-
--_default-gap: 1rem;
|
|
39
|
-
--_gap: max(0px, var(--vaadin-dashboard-gap, var(--_default-gap)));
|
|
40
|
-
gap: var(--_gap);
|
|
41
|
-
|
|
42
|
-
/* Default min and max column widths */
|
|
43
|
-
--_default-col-min-width: 25rem;
|
|
44
|
-
--_default-col-max-width: 1fr;
|
|
45
|
-
|
|
46
|
-
/* Effective min and max column widths */
|
|
47
|
-
--_col-min-width: var(--vaadin-dashboard-col-min-width, var(--_default-col-min-width));
|
|
48
|
-
--_col-max-width: var(--vaadin-dashboard-col-max-width, var(--_default-col-max-width));
|
|
49
|
-
|
|
50
|
-
/* Effective max column count */
|
|
51
|
-
--_col-max-count: var(--vaadin-dashboard-col-max-count, var(--_col-count));
|
|
52
|
-
|
|
53
|
-
/* Effective column count */
|
|
54
|
-
--_effective-col-count: min(var(--_col-count), var(--_col-max-count));
|
|
55
|
-
|
|
56
|
-
/* Default row min height */
|
|
57
|
-
--_default-row-min-height: 12rem;
|
|
58
|
-
/* Effective row min height */
|
|
59
|
-
--_row-min-height: var(--vaadin-dashboard-row-min-height, var(--_default-row-min-height));
|
|
60
|
-
/* Effective row height */
|
|
61
|
-
--_row-height: minmax(var(--_row-min-height, auto), auto);
|
|
62
|
-
|
|
63
|
-
display: grid;
|
|
64
|
-
overflow: hidden;
|
|
65
|
-
min-width: calc(var(--_col-min-width) + var(--_padding) * 2);
|
|
66
|
-
|
|
67
|
-
grid-template-columns: repeat(
|
|
68
|
-
var(--_effective-col-count, auto-fill),
|
|
69
|
-
minmax(var(--_col-min-width), var(--_col-max-width))
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
grid-auto-rows: var(--_row-height);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
::slotted(*) {
|
|
76
|
-
/* The grid-column value applied to children */
|
|
77
|
-
--_item-column: span min(var(--vaadin-dashboard-widget-colspan, 1), var(--_effective-col-count, var(--_col-count)));
|
|
78
|
-
|
|
79
|
-
grid-column: var(--_item-column);
|
|
80
|
-
|
|
81
|
-
/* The grid-row value applied to children */
|
|
82
|
-
--_item-row: span var(--vaadin-dashboard-widget-rowspan, 1);
|
|
83
|
-
grid-row: var(--_item-row);
|
|
84
|
-
}
|
|
85
|
-
`;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import type { CSSResult } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardSectionStyles: CSSResult;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import { css } from 'lit';
|
|
12
|
-
import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-core-styles.js';
|
|
13
|
-
|
|
14
|
-
const sectionStyles = css`
|
|
15
|
-
:host {
|
|
16
|
-
display: grid;
|
|
17
|
-
position: relative;
|
|
18
|
-
grid-template-columns: subgrid;
|
|
19
|
-
--_section-column: 1 / calc(var(--_effective-col-count) + 1);
|
|
20
|
-
grid-column: var(--_section-column) !important;
|
|
21
|
-
gap: var(--_gap, 1rem);
|
|
22
|
-
/* Dashboard section header height */
|
|
23
|
-
--_section-header-height: minmax(0, auto);
|
|
24
|
-
grid-template-rows: var(--_section-header-height) repeat(auto-fill, var(--_row-height));
|
|
25
|
-
grid-auto-rows: var(--_row-height);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
:host([hidden]) {
|
|
29
|
-
display: none !important;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
::slotted(*) {
|
|
33
|
-
--_item-column: span min(var(--vaadin-dashboard-widget-colspan, 1), var(--_effective-col-count, var(--_col-count)));
|
|
34
|
-
|
|
35
|
-
grid-column: var(--_item-column);
|
|
36
|
-
--_item-row: span var(--vaadin-dashboard-widget-rowspan, 1);
|
|
37
|
-
grid-row: var(--_item-row);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
header {
|
|
41
|
-
grid-column: var(--_section-column);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
:host::before {
|
|
45
|
-
z-index: 2 !important;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
::slotted(vaadin-dashboard-widget-wrapper) {
|
|
49
|
-
display: contents;
|
|
50
|
-
}
|
|
51
|
-
`;
|
|
52
|
-
|
|
53
|
-
export const dashboardSectionStyles = [sectionStyles, dashboardWidgetAndSectionStyles];
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import type { CSSResult } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardWidgetStyles: CSSResult;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import { css } from 'lit';
|
|
12
|
-
import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-core-styles.js';
|
|
13
|
-
|
|
14
|
-
const widgetStyles = css`
|
|
15
|
-
:host {
|
|
16
|
-
display: flex;
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
grid-column: var(--_item-column);
|
|
19
|
-
grid-row: var(--_item-row);
|
|
20
|
-
position: relative;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
:host([hidden]) {
|
|
24
|
-
display: none !important;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
:host(:not([editable])) [part~='resize-button'] {
|
|
28
|
-
display: none;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
[part~='content'] {
|
|
32
|
-
flex: 1;
|
|
33
|
-
overflow: hidden;
|
|
34
|
-
min-height: 1rem;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
[part~='resize-button'] {
|
|
38
|
-
position: absolute;
|
|
39
|
-
bottom: 0;
|
|
40
|
-
inset-inline-end: 0;
|
|
41
|
-
z-index: 1;
|
|
42
|
-
overflow: hidden;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
:host([resizing])::after {
|
|
46
|
-
content: '';
|
|
47
|
-
z-index: 2;
|
|
48
|
-
position: absolute;
|
|
49
|
-
top: -1px;
|
|
50
|
-
width: var(--_widget-resizer-width, 0);
|
|
51
|
-
height: var(--_widget-resizer-height, 0);
|
|
52
|
-
background: rgba(0, 0, 0, 0.1);
|
|
53
|
-
border-radius: inherit;
|
|
54
|
-
}
|
|
55
|
-
`;
|
|
56
|
-
|
|
57
|
-
export const dashboardWidgetStyles = [widgetStyles, dashboardWidgetAndSectionStyles];
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2000 - 2025 Vaadin Ltd.
|
|
4
|
-
*
|
|
5
|
-
* This program is available under Vaadin Commercial License and Service Terms.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
|
-
* license.
|
|
10
|
-
*/
|
|
11
|
-
import { css } from 'lit';
|
|
12
|
-
|
|
13
|
-
export const dashboardWidgetAndSectionStyles = css`
|
|
14
|
-
:host {
|
|
15
|
-
box-sizing: border-box;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
:host([dragging]) * {
|
|
19
|
-
visibility: hidden;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
:host(:not([editable])) [part~='move-button'],
|
|
23
|
-
:host(:not([editable])) [part~='remove-button'],
|
|
24
|
-
:host(:not([editable])) #focus-button,
|
|
25
|
-
:host(:not([editable])) #focus-button-wrapper,
|
|
26
|
-
:host(:not([editable])) .mode-controls {
|
|
27
|
-
display: none;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
#focustrap {
|
|
31
|
-
display: contents;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
header {
|
|
35
|
-
display: flex;
|
|
36
|
-
overflow: hidden;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
vaadin-dashboard-button {
|
|
40
|
-
z-index: 1;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
#focus-button-wrapper,
|
|
44
|
-
#focus-button {
|
|
45
|
-
position: absolute;
|
|
46
|
-
inset: 0;
|
|
47
|
-
opacity: 0;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
#focus-button {
|
|
51
|
-
pointer-events: none;
|
|
52
|
-
padding: 0;
|
|
53
|
-
border: none;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.mode-controls {
|
|
57
|
-
position: absolute;
|
|
58
|
-
inset: 0;
|
|
59
|
-
z-index: 2;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.mode-controls[hidden] {
|
|
63
|
-
display: none;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/* Move-mode buttons */
|
|
67
|
-
[part~='move-backward-button'],
|
|
68
|
-
[part~='move-forward-button'],
|
|
69
|
-
[part~='move-apply-button'] {
|
|
70
|
-
position: absolute;
|
|
71
|
-
top: 50%;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
[part~='move-backward-button'] {
|
|
75
|
-
inset-inline-start: 0;
|
|
76
|
-
transform: translateY(-50%);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
[part~='move-forward-button'] {
|
|
80
|
-
inset-inline-end: 0;
|
|
81
|
-
transform: translateY(-50%);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
[part~='move-apply-button'] {
|
|
85
|
-
left: 50%;
|
|
86
|
-
transform: translate(-50%, -50%);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
:host([first-child]) [part~='move-backward-button'],
|
|
90
|
-
:host([last-child]) [part~='move-forward-button'] {
|
|
91
|
-
display: none;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/* Resize-mode buttons */
|
|
95
|
-
[part~='resize-shrink-width-button'],
|
|
96
|
-
[part~='resize-shrink-height-button'],
|
|
97
|
-
[part~='resize-grow-width-button'],
|
|
98
|
-
[part~='resize-grow-height-button'],
|
|
99
|
-
[part~='resize-apply-button'] {
|
|
100
|
-
position: absolute;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
[part~='resize-shrink-width-button'] {
|
|
104
|
-
inset-inline-end: 0;
|
|
105
|
-
top: 50%;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
:host(:not([dir='rtl'])) [part~='resize-shrink-width-button'] {
|
|
109
|
-
transform: translateY(-50%) translateX(-100%);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
:host([dir='rtl']) [part~='resize-shrink-width-button'] {
|
|
113
|
-
transform: translateY(-50%) translateX(100%);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.mode-controls:has([part~='resize-grow-width-button'][hidden]) [part~='resize-shrink-width-button'] {
|
|
117
|
-
transform: translateY(-50%);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
[part~='resize-grow-width-button'] {
|
|
121
|
-
inset-inline-start: 100%;
|
|
122
|
-
top: 50%;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
:host(:not([dir='rtl'])) [part~='resize-grow-width-button'] {
|
|
126
|
-
transform: translateY(-50%) translateX(-100%);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
:host([dir='rtl']) [part~='resize-grow-width-button'] {
|
|
130
|
-
transform: translateY(-50%) translateX(100%);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
[part~='resize-shrink-height-button'] {
|
|
134
|
-
bottom: 0;
|
|
135
|
-
left: 50%;
|
|
136
|
-
transform: translateX(-50%) translateY(-100%);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
[part~='resize-grow-height-button'] {
|
|
140
|
-
top: 100%;
|
|
141
|
-
left: 50%;
|
|
142
|
-
transform: translateX(-50%) translateY(-100%);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
[part~='resize-apply-button'] {
|
|
146
|
-
left: 50%;
|
|
147
|
-
top: 50%;
|
|
148
|
-
|
|
149
|
-
transform: translate(-50%, -50%);
|
|
150
|
-
}
|
|
151
|
-
`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import './vaadin-dashboard-button-styles.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import './vaadin-dashboard-button-styles.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const dashboardLayoutStyles: import("lit").CSSResult;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
2
|
-
|
|
3
|
-
export const dashboardLayoutStyles = css`
|
|
4
|
-
:host([theme~='shaded-background']) {
|
|
5
|
-
background: var(--lumo-shade-5pct);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
:host([theme~='elevated-widgets']) {
|
|
9
|
-
--vaadin-dashboard-widget-shadow: var(--lumo-box-shadow-xs);
|
|
10
|
-
--vaadin-dashboard-widget-border-color: var(--lumo-contrast-10pct);
|
|
11
|
-
--vaadin-dashboard-widget-background: linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct))
|
|
12
|
-
var(--lumo-base-color);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
:host([theme~='flat-widgets']) {
|
|
16
|
-
--vaadin-dashboard-widget-background: var(--lumo-contrast-5pct);
|
|
17
|
-
--vaadin-dashboard-widget-border-color: transparent;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
#grid {
|
|
21
|
-
--_default-gap: var(--lumo-space-m);
|
|
22
|
-
--_default-padding: var(--lumo-space-m);
|
|
23
|
-
}
|
|
24
|
-
`;
|
|
25
|
-
|
|
26
|
-
registerStyles('vaadin-dashboard-layout', [dashboardLayoutStyles], {
|
|
27
|
-
moduleId: 'lumo-dashboard-layout',
|
|
28
|
-
});
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.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/typography.js';
|
|
6
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
7
|
-
import { dashboardWidgetAndSection } from './vaadin-dashboard-widget-styles.js';
|
|
8
|
-
|
|
9
|
-
const section = css`
|
|
10
|
-
/* stylelint-disable rule-empty-line-before */
|
|
11
|
-
|
|
12
|
-
:host {
|
|
13
|
-
--_section-outline-offset: calc(min(var(--_gap), var(--_padding)) / 3);
|
|
14
|
-
--_focus-ring-offset: calc((var(--_section-outline-offset) - var(--_focus-ring-width)));
|
|
15
|
-
border-radius: var(--lumo-border-radius-l);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
header {
|
|
19
|
-
margin-bottom: calc(-1 * var(--_section-outline-offset));
|
|
20
|
-
line-height: var(--lumo-line-height-s);
|
|
21
|
-
padding-inline: var(--lumo-space-s);
|
|
22
|
-
min-height: var(--lumo-size-l);
|
|
23
|
-
align-items: center;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
[part='title'] {
|
|
27
|
-
font-size: var(--lumo-font-size-xl);
|
|
28
|
-
font-weight: 600;
|
|
29
|
-
white-space: nowrap;
|
|
30
|
-
line-height: var(--lumo-line-height-m);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/* Section states */
|
|
34
|
-
|
|
35
|
-
:host([editable]) {
|
|
36
|
-
outline: 1px solid var(--lumo-contrast-10pct);
|
|
37
|
-
outline-offset: calc(var(--_section-outline-offset) - 1px);
|
|
38
|
-
background: var(--lumo-contrast-5pct);
|
|
39
|
-
box-shadow: 0 0 0 var(--_section-outline-offset) var(--lumo-contrast-5pct);
|
|
40
|
-
}
|
|
41
|
-
:host([editable]) header {
|
|
42
|
-
padding-inline: var(--lumo-space-xs);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
:host([focused])::after {
|
|
46
|
-
content: '';
|
|
47
|
-
display: block;
|
|
48
|
-
position: absolute;
|
|
49
|
-
inset: 0;
|
|
50
|
-
border-radius: var(--lumo-border-radius-l);
|
|
51
|
-
z-index: 9;
|
|
52
|
-
outline: var(--_focus-ring-width) solid var(--_focus-ring-color);
|
|
53
|
-
outline-offset: var(--_focus-ring-offset);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
:host([selected]) {
|
|
57
|
-
background: var(--lumo-primary-color-10pct);
|
|
58
|
-
box-shadow: 0 0 0 var(--_section-outline-offset) var(--lumo-primary-color-10pct);
|
|
59
|
-
}
|
|
60
|
-
:host([selected]:not([focused])) {
|
|
61
|
-
outline-color: var(--lumo-primary-color-50pct);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
:host([move-mode]) ::slotted(*) {
|
|
65
|
-
--_widget-opacity: 0.3;
|
|
66
|
-
--_widget-filter: blur(10px);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/* Accessible move mode controls */
|
|
70
|
-
|
|
71
|
-
[part~='move-backward-button'] {
|
|
72
|
-
inset-inline-start: calc(-1 * var(--_section-outline-offset));
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
[part~='move-forward-button'] {
|
|
76
|
-
inset-inline-end: calc(-1 * var(--_section-outline-offset));
|
|
77
|
-
transform: translateY(-50%);
|
|
78
|
-
}
|
|
79
|
-
`;
|
|
80
|
-
|
|
81
|
-
registerStyles('vaadin-dashboard-section', [dashboardWidgetAndSection, section], {
|
|
82
|
-
moduleId: 'lumo-dashboard-section',
|
|
83
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
2
|
-
import { dashboardLayoutStyles } from './vaadin-dashboard-layout-styles.js';
|
|
3
|
-
|
|
4
|
-
const dashboard = css`
|
|
5
|
-
:host {
|
|
6
|
-
--_widget-opacity: 1;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
:host([item-selected]) {
|
|
10
|
-
--_widget-opacity: 0.7;
|
|
11
|
-
}
|
|
12
|
-
`;
|
|
13
|
-
|
|
14
|
-
registerStyles('vaadin-dashboard', [dashboardLayoutStyles, dashboard], {
|
|
15
|
-
moduleId: 'lumo-dashboard',
|
|
16
|
-
});
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.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/typography.js';
|
|
6
|
-
import '@vaadin/vaadin-lumo-styles/font-icons.js';
|
|
7
|
-
declare const dashboardWidgetAndSection: import("lit").CSSResult;
|
|
8
|
-
declare const dashboardWidget: import("lit").CSSResult;
|
|
9
|
-
export { dashboardWidget, dashboardWidgetAndSection };
|
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.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/typography.js';
|
|
6
|
-
import '@vaadin/vaadin-lumo-styles/font-icons.js';
|
|
7
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
8
|
-
|
|
9
|
-
/* Styles shared between widgets and sections */
|
|
10
|
-
const dashboardWidgetAndSection = css`
|
|
11
|
-
/* stylelint-disable rule-empty-line-before */
|
|
12
|
-
|
|
13
|
-
:host {
|
|
14
|
-
--_widget-background: var(--vaadin-dashboard-widget-background, var(--lumo-base-color));
|
|
15
|
-
--_widget-border-radius: var(--vaadin-dashboard-widget-border-radius, var(--lumo-border-radius-l));
|
|
16
|
-
--_widget-border-width: var(--vaadin-dashboard-widget-border-width, 1px);
|
|
17
|
-
--_widget-border-color: var(--vaadin-dashboard-widget-border-color, var(--lumo-contrast-20pct));
|
|
18
|
-
--_widget-shadow: var(--vaadin-dashboard-widget-shadow, 0 0 0 0 transparent);
|
|
19
|
-
--_widget-editable-shadow: var(--lumo-box-shadow-s);
|
|
20
|
-
--_widget-selected-shadow:
|
|
21
|
-
0 2px 4px -1px var(--lumo-primary-color-10pct), 0 3px 12px -1px var(--lumo-primary-color-50pct);
|
|
22
|
-
--_drop-target-background-color: var(
|
|
23
|
-
--vaadin-dashboard-drop-target-background-color,
|
|
24
|
-
var(--lumo-primary-color-10pct)
|
|
25
|
-
);
|
|
26
|
-
--_drop-target-border: var(--vaadin-dashboard-drop-target-border, 1px dashed var(--lumo-primary-color-50pct));
|
|
27
|
-
|
|
28
|
-
color: var(--lumo-body-text-color);
|
|
29
|
-
font-family: var(--lumo-font-family);
|
|
30
|
-
font-size: var(--lumo-font-size-m);
|
|
31
|
-
line-height: var(--lumo-line-height-m);
|
|
32
|
-
--_focus-ring-color: var(--vaadin-focus-ring-color, var(--lumo-primary-color-50pct));
|
|
33
|
-
--_focus-ring-width: var(--vaadin-focus-ring-width, 2px);
|
|
34
|
-
--_icon-color: var(--lumo-contrast-60pct);
|
|
35
|
-
opacity: var(--_widget-opacity);
|
|
36
|
-
filter: var(--_widget-filter);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
:host([focused]) {
|
|
40
|
-
z-index: 1;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
header {
|
|
44
|
-
display: flex;
|
|
45
|
-
align-items: start;
|
|
46
|
-
box-sizing: border-box;
|
|
47
|
-
justify-content: space-between;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
[part='title'] {
|
|
51
|
-
flex: 1;
|
|
52
|
-
color: var(--lumo-header-text-color);
|
|
53
|
-
white-space: var(--vaadin-dashboard-widget-title-wrap, wrap);
|
|
54
|
-
text-overflow: ellipsis;
|
|
55
|
-
overflow: hidden;
|
|
56
|
-
line-height: var(--lumo-line-height-s);
|
|
57
|
-
margin: 0 0 1px;
|
|
58
|
-
align-self: safe center;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
vaadin-dashboard-button {
|
|
62
|
-
font-family: 'lumo-icons';
|
|
63
|
-
font-size: var(--lumo-icon-size-m);
|
|
64
|
-
margin: 0;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
vaadin-dashboard-button .icon::before {
|
|
68
|
-
display: block;
|
|
69
|
-
content: var(--icon);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/* Common styles for non-mode edit buttons */
|
|
73
|
-
[part='move-button'],
|
|
74
|
-
[part='resize-button'],
|
|
75
|
-
[part='remove-button'] {
|
|
76
|
-
color: var(--_icon-color);
|
|
77
|
-
padding-inline: 0;
|
|
78
|
-
}
|
|
79
|
-
:where([part='move-button'], [part='resize-button'], [part='remove-button']):hover {
|
|
80
|
-
--_icon-color: var(--lumo-primary-text-color);
|
|
81
|
-
}
|
|
82
|
-
:host([selected]) {
|
|
83
|
-
opacity: 1;
|
|
84
|
-
z-index: 1;
|
|
85
|
-
--_icon-color: var(--lumo-primary-text-color);
|
|
86
|
-
}
|
|
87
|
-
:host(:is([move-mode], [resize-mode])) {
|
|
88
|
-
--_icon-color: var(--lumo-disabled-text-color);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/* Drag handle */
|
|
92
|
-
[part~='move-button'] {
|
|
93
|
-
cursor: move;
|
|
94
|
-
--icon: var(--lumo-icons-drag-handle);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* Remove button */
|
|
98
|
-
[part~='remove-button'] {
|
|
99
|
-
cursor: pointer;
|
|
100
|
-
--icon: var(--lumo-icons-cross);
|
|
101
|
-
margin-inline-start: var(--lumo-space-xs);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/* Mode controls */
|
|
105
|
-
.mode-controls vaadin-dashboard-button[focused] {
|
|
106
|
-
z-index: 3;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/* Move mode */
|
|
110
|
-
|
|
111
|
-
:host(:not([dir='rtl'])) [part~='move-backward-button'],
|
|
112
|
-
:host([dir='rtl']) [part~='move-forward-button'] {
|
|
113
|
-
border-top-left-radius: 0;
|
|
114
|
-
border-bottom-left-radius: 0;
|
|
115
|
-
--icon: var(--lumo-icons-angle-left);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
:host(:not([dir='rtl'])) [part~='move-forward-button'],
|
|
119
|
-
:host([dir='rtl']) [part~='move-backward-button'] {
|
|
120
|
-
border-top-right-radius: 0;
|
|
121
|
-
border-bottom-right-radius: 0;
|
|
122
|
-
--icon: var(--lumo-icons-angle-right);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
[part~='move-apply-button'] {
|
|
126
|
-
--icon: var(--lumo-icons-checkmark);
|
|
127
|
-
font-size: var(--lumo-icon-size-m);
|
|
128
|
-
}
|
|
129
|
-
`;
|
|
130
|
-
|
|
131
|
-
/* Widget styles */
|
|
132
|
-
const dashboardWidget = css`
|
|
133
|
-
:host {
|
|
134
|
-
background: var(--_widget-background);
|
|
135
|
-
border-radius: var(--_widget-border-radius);
|
|
136
|
-
box-shadow: var(--_widget-shadow);
|
|
137
|
-
position: relative;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
:host::before {
|
|
141
|
-
content: '';
|
|
142
|
-
position: absolute;
|
|
143
|
-
inset: calc(-1 * var(--_widget-border-width));
|
|
144
|
-
border: var(--_widget-border-width) solid var(--_widget-border-color);
|
|
145
|
-
border-radius: calc(var(--_widget-border-radius) + var(--_widget-border-width));
|
|
146
|
-
pointer-events: none;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/* Widget states */
|
|
150
|
-
|
|
151
|
-
:host([editable]) {
|
|
152
|
-
--vaadin-dashboard-widget-shadow: var(--_widget-editable-shadow);
|
|
153
|
-
--_widget-border-color: var(--lumo-contrast-20pct);
|
|
154
|
-
--_widget-border-width: 1px;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
:host([focused])::before {
|
|
158
|
-
border-width: var(--_focus-ring-width);
|
|
159
|
-
border-color: var(--_focus-ring-color);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
:host([selected]) {
|
|
163
|
-
--vaadin-dashboard-widget-shadow: var(--_widget-selected-shadow);
|
|
164
|
-
background: var(--lumo-primary-color-10pct);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
:host([dragging]) {
|
|
168
|
-
box-shadow: none;
|
|
169
|
-
background: var(--_drop-target-background-color);
|
|
170
|
-
border: var(--_drop-target-border);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
:host([resizing])::after {
|
|
174
|
-
background: var(--_drop-target-background-color);
|
|
175
|
-
border: var(--_drop-target-border);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/* Widget parts */
|
|
179
|
-
|
|
180
|
-
header {
|
|
181
|
-
min-height: var(--lumo-size-l);
|
|
182
|
-
padding: var(--lumo-space-xs) var(--lumo-space-m);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
:host([editable]) header {
|
|
186
|
-
padding-inline: var(--lumo-space-xs);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
[part='title'] {
|
|
190
|
-
font-size: var(--lumo-font-size-l);
|
|
191
|
-
font-weight: 600;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
#content {
|
|
195
|
-
min-height: var(--lumo-size-m);
|
|
196
|
-
padding: var(--vaadin-dashboard-widget-padding, 0);
|
|
197
|
-
padding-top: 0;
|
|
198
|
-
border-radius: inherit;
|
|
199
|
-
border-top-left-radius: 0;
|
|
200
|
-
border-top-right-radius: 0;
|
|
201
|
-
overflow: hidden;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
::slotted([slot='header-content']) {
|
|
205
|
-
align-self: center;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
:host([resize-mode]) #content,
|
|
209
|
-
:host([move-mode]) #content {
|
|
210
|
-
opacity: 0.75;
|
|
211
|
-
filter: blur(10px);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/* Resize handle */
|
|
215
|
-
|
|
216
|
-
[part~='resize-button'] {
|
|
217
|
-
--_resize-button-offset: min(var(--_gap), var(--_padding), var(--lumo-space-xs));
|
|
218
|
-
position: absolute;
|
|
219
|
-
bottom: calc(-1 * var(--_resize-button-offset));
|
|
220
|
-
inset-inline-end: calc(-1 * var(--_resize-button-offset));
|
|
221
|
-
cursor: nwse-resize;
|
|
222
|
-
--icon: var(--lumo-icons-resize-handle);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
:host([dir='rtl']) [part~='resize-button'] {
|
|
226
|
-
cursor: sw-resize;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
:host([dir='rtl']) [part~='resize-button'] .icon::before {
|
|
230
|
-
transform: scaleX(-1);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/* Accessible resize mode controls */
|
|
234
|
-
|
|
235
|
-
[part~='resize-apply-button'] {
|
|
236
|
-
--icon: var(--lumo-icons-checkmark);
|
|
237
|
-
font-size: var(--lumo-icon-size-m);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
[part~='resize-grow-width-button'],
|
|
241
|
-
[part~='resize-shrink-width-button'] {
|
|
242
|
-
padding-right: 0;
|
|
243
|
-
padding-left: 0;
|
|
244
|
-
min-width: var(--lumo-size-s);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
[part~='resize-shrink-width-button'] + [part~='resize-grow-width-button'] {
|
|
248
|
-
margin-left: 1px;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
[part~='resize-grow-height-button'],
|
|
252
|
-
[part~='resize-shrink-height-button'] {
|
|
253
|
-
height: var(--lumo-size-s);
|
|
254
|
-
padding-right: 0;
|
|
255
|
-
padding-left: 0;
|
|
256
|
-
border-bottom-left-radius: 0;
|
|
257
|
-
border-bottom-right-radius: 0;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
[part~='resize-shrink-height-button']:not([hidden]) + [part~='resize-grow-height-button'] {
|
|
261
|
-
border-top-left-radius: 0;
|
|
262
|
-
border-top-right-radius: 0;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
[part~='resize-shrink-height-button'] + [part~='resize-grow-height-button'] {
|
|
266
|
-
margin-top: 1px;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
:host(:not([dir='rtl'])) [part~='resize-grow-width-button'],
|
|
270
|
-
:host(:not([dir='rtl'])) [part~='resize-shrink-width-button'] {
|
|
271
|
-
border-top-right-radius: 0;
|
|
272
|
-
border-bottom-right-radius: 0;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
:host([dir='rtl']) [part~='resize-grow-width-button'],
|
|
276
|
-
:host([dir='rtl']) [part~='resize-shrink-width-button'] {
|
|
277
|
-
border-top-left-radius: 0;
|
|
278
|
-
border-bottom-left-radius: 0;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
:host(:not([dir='rtl'])) [part~='resize-shrink-width-button']:not([hidden]) + [part~='resize-grow-width-button'] {
|
|
282
|
-
border-top-left-radius: 0;
|
|
283
|
-
border-bottom-left-radius: 0;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
:host([dir='rtl']) [part~='resize-shrink-width-button']:not([hidden]) + [part~='resize-grow-width-button'] {
|
|
287
|
-
border-top-right-radius: 0;
|
|
288
|
-
border-bottom-right-radius: 0;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
[part~='resize-grow-height-button'],
|
|
292
|
-
[part~='resize-grow-width-button'] {
|
|
293
|
-
--icon: var(--lumo-icons-plus);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
[part~='resize-shrink-height-button'],
|
|
297
|
-
[part~='resize-shrink-width-button'] {
|
|
298
|
-
--icon: var(--lumo-icons-minus);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
/* Windows High Contrast Mode */
|
|
302
|
-
@media (forced-colors: active) {
|
|
303
|
-
:host {
|
|
304
|
-
border: 1px solid;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
:host([focused]) {
|
|
308
|
-
outline: 2px solid;
|
|
309
|
-
outline-offset: 1px;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
:host([selected]) {
|
|
313
|
-
outline-width: 1px;
|
|
314
|
-
outline-offset: 0;
|
|
315
|
-
outline-color: Highlight;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
:host([selected][focused]) {
|
|
319
|
-
outline-width: 3px;
|
|
320
|
-
outline-offset: 0;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
`;
|
|
324
|
-
|
|
325
|
-
registerStyles('vaadin-dashboard-widget', [dashboardWidget, dashboardWidgetAndSection], {
|
|
326
|
-
moduleId: 'lumo-dashboard-widget',
|
|
327
|
-
});
|
|
328
|
-
|
|
329
|
-
export { dashboardWidget, dashboardWidgetAndSection };
|