@vaadin/dashboard 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.
Files changed (52) hide show
  1. package/package.json +10 -13
  2. package/src/styles/vaadin-dashboard-base-styles.js +1 -1
  3. package/src/styles/vaadin-dashboard-button-base-styles.js +3 -3
  4. package/src/styles/vaadin-dashboard-layout-base-styles.js +3 -2
  5. package/src/styles/vaadin-dashboard-section-base-styles.js +2 -2
  6. package/src/styles/vaadin-dashboard-widget-base-styles.js +4 -3
  7. package/src/styles/vaadin-dashboard-widget-section-base-styles.js +6 -9
  8. package/src/vaadin-dashboard-button.js +1 -1
  9. package/src/vaadin-dashboard-item-mixin.js +8 -3
  10. package/src/vaadin-dashboard-layout.js +7 -1
  11. package/src/vaadin-dashboard-section.js +8 -2
  12. package/src/vaadin-dashboard-widget.js +8 -2
  13. package/src/vaadin-dashboard.d.ts +1 -1
  14. package/src/vaadin-dashboard.js +8 -2
  15. package/src/widget-resize-controller.js +3 -1
  16. package/vaadin-dashboard-layout.js +1 -1
  17. package/vaadin-dashboard-section.js +1 -1
  18. package/vaadin-dashboard-widget.js +1 -1
  19. package/vaadin-dashboard.js +1 -1
  20. package/web-types.json +3 -3
  21. package/web-types.lit.json +3 -3
  22. package/src/styles/vaadin-dashboard-button-core-styles.d.ts +0 -13
  23. package/src/styles/vaadin-dashboard-button-core-styles.js +0 -20
  24. package/src/styles/vaadin-dashboard-core-styles.d.ts +0 -13
  25. package/src/styles/vaadin-dashboard-core-styles.js +0 -25
  26. package/src/styles/vaadin-dashboard-layout-core-styles.d.ts +0 -13
  27. package/src/styles/vaadin-dashboard-layout-core-styles.js +0 -85
  28. package/src/styles/vaadin-dashboard-section-core-styles.d.ts +0 -13
  29. package/src/styles/vaadin-dashboard-section-core-styles.js +0 -53
  30. package/src/styles/vaadin-dashboard-widget-core-styles.d.ts +0 -13
  31. package/src/styles/vaadin-dashboard-widget-core-styles.js +0 -57
  32. package/src/styles/vaadin-dashboard-widget-section-core-styles.js +0 -151
  33. package/theme/lumo/vaadin-dashboard-button-styles.d.ts +0 -2
  34. package/theme/lumo/vaadin-dashboard-button-styles.js +0 -8
  35. package/theme/lumo/vaadin-dashboard-button.d.ts +0 -1
  36. package/theme/lumo/vaadin-dashboard-button.js +0 -1
  37. package/theme/lumo/vaadin-dashboard-layout-styles.d.ts +0 -1
  38. package/theme/lumo/vaadin-dashboard-layout-styles.js +0 -28
  39. package/theme/lumo/vaadin-dashboard-layout.d.ts +0 -2
  40. package/theme/lumo/vaadin-dashboard-layout.js +0 -2
  41. package/theme/lumo/vaadin-dashboard-section-styles.d.ts +0 -5
  42. package/theme/lumo/vaadin-dashboard-section-styles.js +0 -83
  43. package/theme/lumo/vaadin-dashboard-section.d.ts +0 -3
  44. package/theme/lumo/vaadin-dashboard-section.js +0 -3
  45. package/theme/lumo/vaadin-dashboard-styles.d.ts +0 -1
  46. package/theme/lumo/vaadin-dashboard-styles.js +0 -16
  47. package/theme/lumo/vaadin-dashboard-widget-styles.d.ts +0 -9
  48. package/theme/lumo/vaadin-dashboard-widget-styles.js +0 -329
  49. package/theme/lumo/vaadin-dashboard-widget.d.ts +0 -3
  50. package/theme/lumo/vaadin-dashboard-widget.js +0 -3
  51. package/theme/lumo/vaadin-dashboard.d.ts +0 -4
  52. package/theme/lumo/vaadin-dashboard.js +0 -4
@@ -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,2 +0,0 @@
1
- import { button } from '@vaadin/button/theme/lumo/vaadin-button-styles.js';
2
- export { button };
@@ -1,8 +0,0 @@
1
- import { button } from '@vaadin/button/theme/lumo/vaadin-button-styles.js';
2
- import { registerStyles } from '@vaadin/vaadin-themable-mixin';
3
-
4
- registerStyles('vaadin-dashboard-button', button, {
5
- moduleId: 'lumo-dashboard-button',
6
- });
7
-
8
- export { button };
@@ -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,2 +0,0 @@
1
- import './vaadin-dashboard-layout-styles.js';
2
- import '../../src/vaadin-dashboard-layout.js';
@@ -1,2 +0,0 @@
1
- import './vaadin-dashboard-layout-styles.js';
2
- import '../../src/vaadin-dashboard-layout.js';
@@ -1,5 +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';
@@ -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,3 +0,0 @@
1
- import './vaadin-dashboard-section-styles.js';
2
- import './vaadin-dashboard-button.js';
3
- import '../../src/vaadin-dashboard-section.js';
@@ -1,3 +0,0 @@
1
- import './vaadin-dashboard-section-styles.js';
2
- import './vaadin-dashboard-button.js';
3
- import '../../src/vaadin-dashboard-section.js';
@@ -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 };