@vaadin/dashboard 25.0.0-alpha9 → 25.0.0-beta2

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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/dashboard",
3
- "version": "25.0.0-alpha9",
3
+ "version": "25.0.0-beta2",
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-alpha9",
43
- "@vaadin/button": "25.0.0-alpha9",
44
- "@vaadin/component-base": "25.0.0-alpha9",
45
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha9",
46
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha9",
39
+ "@vaadin/a11y-base": "25.0.0-beta2",
40
+ "@vaadin/button": "25.0.0-beta2",
41
+ "@vaadin/component-base": "25.0.0-beta2",
42
+ "@vaadin/vaadin-themable-mixin": "25.0.0-beta2",
47
43
  "lit": "^3.0.0"
48
44
  },
49
45
  "devDependencies": {
50
- "@vaadin/chai-plugins": "25.0.0-alpha9",
51
- "@vaadin/test-runner-commands": "25.0.0-alpha9",
52
- "@vaadin/testing-helpers": "^2.0.0"
46
+ "@vaadin/chai-plugins": "25.0.0-beta2",
47
+ "@vaadin/test-runner-commands": "25.0.0-beta2",
48
+ "@vaadin/testing-helpers": "^2.0.0",
49
+ "@vaadin/vaadin-lumo-styles": "25.0.0-beta2"
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": "bbe4720721e0955ffc87a79b412bee38b1f0eb1e"
56
+ "gitHead": "e078f8371ae266f05c7ca1ec25686cc489c83f24"
60
57
  }
@@ -9,7 +9,7 @@
9
9
  * license.
10
10
  */
11
11
  import { css } from 'lit';
12
- import { dashboardLayoutStyles } from './vaadin-dashboard-layout-core-styles.js';
12
+ import { dashboardLayoutStyles } from './vaadin-dashboard-layout-base-styles.js';
13
13
 
14
14
  const dashboard = css`
15
15
  #grid[item-resizing] {
@@ -9,15 +9,15 @@
9
9
  * license.
10
10
  */
11
11
  import { css } from 'lit';
12
- import { buttonStyles } from '@vaadin/button/src/styles/vaadin-button-core-styles.js';
12
+ import { buttonStyles } from '@vaadin/button/src/styles/vaadin-button-base-styles.js';
13
13
 
14
14
  const dashboardButton = css`
15
15
  :host {
16
- min-width: 1em;
16
+ padding: 4px;
17
17
  }
18
18
 
19
19
  :host([theme~='tertiary']) {
20
- color: var(--vaadin-dashboard-button-text-color, var(--vaadin-color-subtle));
20
+ color: var(--vaadin-dashboard-button-text-color, var(--vaadin-text-color-secondary));
21
21
  }
22
22
  `;
23
23
 
@@ -8,6 +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/styles/style-props.js';
11
12
  import { css } from 'lit';
12
13
 
13
14
  export const dashboardLayoutStyles = css`
@@ -30,12 +31,12 @@ export const dashboardLayoutStyles = css`
30
31
  box-sizing: border-box;
31
32
 
32
33
  /* Padding around dashboard edges */
33
- --_default-padding: 1em;
34
+ --_default-padding: var(--vaadin-padding-l);
34
35
  --_padding: max(0px, var(--vaadin-dashboard-padding, var(--_default-padding)));
35
36
  padding: var(--_padding);
36
37
 
37
38
  /* Gap between widgets */
38
- --_default-gap: 0.5em;
39
+ --_default-gap: var(--vaadin-gap-s);
39
40
  --_gap: max(0px, var(--vaadin-dashboard-gap, var(--_default-gap)));
40
41
  gap: var(--_gap);
41
42
 
@@ -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-core-styles.js';
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-core-styles.js';
13
+ import { dashboardWidgetAndSectionStyles } from './vaadin-dashboard-widget-section-base-styles.js';
14
14
 
15
15
  const widgetStyles = css`
16
16
  :host {
@@ -56,6 +56,7 @@ const widgetStyles = css`
56
56
  inset-inline-end: 0;
57
57
  z-index: 1;
58
58
  overflow: hidden;
59
+ touch-action: none;
59
60
  cursor: nwse-resize;
60
61
  --icon: var(--_vaadin-icon-resize);
61
62
  }
@@ -98,7 +99,7 @@ const widgetStyles = css`
98
99
  }
99
100
 
100
101
  :host([editable]) header {
101
- padding: var(--vaadin-dashboard-widget-header-padding, var(--vaadin-padding));
102
+ padding: var(--vaadin-dashboard-widget-header-padding, var(--vaadin-padding-s));
102
103
  }
103
104
 
104
105
  header:has([part~='title'][hidden]) {
@@ -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`
@@ -17,12 +17,12 @@ export const dashboardWidgetAndSectionStyles = css`
17
17
  --_widget-background: var(--vaadin-dashboard-widget-background, var(--vaadin-background-color));
18
18
  --_widget-border-radius: var(--vaadin-dashboard-widget-border-radius, var(--vaadin-radius-m));
19
19
  --_widget-border-width: var(--vaadin-dashboard-widget-border-width, 1px);
20
- --_widget-border-color: var(--vaadin-dashboard-widget-border-color, var(--vaadin-border-color));
20
+ --_widget-border-color: var(--vaadin-dashboard-widget-border-color, var(--vaadin-border-color-secondary));
21
21
  --_widget-shadow: var(--vaadin-dashboard-widget-shadow, 0 0 0 0 transparent);
22
22
  --_widget-editable-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.3);
23
23
  --_widget-selected-shadow: 0 3px 12px -1px rgba(0, 0, 0, 0.3);
24
24
  --_drop-target-background: var(--vaadin-dashboard-drop-target-background, var(--vaadin-background-container));
25
- --_drop-target-border-color: var(--vaadin-dashboard-drop-target-border-color, var(--vaadin-border-color));
25
+ --_drop-target-border-color: var(--vaadin-dashboard-drop-target-border-color, var(--vaadin-border-color-secondary));
26
26
  --_focus-ring-color: var(--vaadin-focus-ring-color);
27
27
  --_focus-ring-width: var(--vaadin-focus-ring-width);
28
28
  }
@@ -60,12 +60,12 @@ export const dashboardWidgetAndSectionStyles = css`
60
60
  align-items: center;
61
61
  box-sizing: border-box;
62
62
  justify-content: space-between;
63
- gap: var(--vaadin-dashboard-header-gap, var(--vaadin-gap-container-inline));
63
+ gap: var(--vaadin-dashboard-header-gap, var(--vaadin-gap-s));
64
64
  }
65
65
 
66
66
  [part='title'] {
67
67
  flex: 1;
68
- color: var(--vaadin-dashboard-widget-title-color, var(--vaadin-color));
68
+ color: var(--vaadin-dashboard-widget-title-color, var(--vaadin-text-color));
69
69
  font-size: var(--vaadin-dashboard-widget-title-font-size, 1em);
70
70
  font-weight: var(--vaadin-dashboard-widget-title-font-weight, 500);
71
71
  line-height: var(--vaadin-dashboard-widget-title-line-height, inherit);
@@ -77,7 +77,6 @@ export const dashboardWidgetAndSectionStyles = css`
77
77
 
78
78
  vaadin-dashboard-button {
79
79
  z-index: 1;
80
- padding: 4px;
81
80
  }
82
81
 
83
82
  vaadin-dashboard-button .icon::before {
@@ -86,9 +85,7 @@ export const dashboardWidgetAndSectionStyles = css`
86
85
  height: var(--vaadin-icon-size, 1lh);
87
86
  width: var(--vaadin-icon-size, 1lh);
88
87
  background: currentColor;
89
- mask-image: var(--icon);
90
- /* TODO not sure why this is needed. Probably something wrong with the --_vaadin-icon-drag SVG */
91
- mask-size: 100%;
88
+ mask: var(--icon) 50% / var(--vaadin-icon-visual-size, 100%) no-repeat;
92
89
  }
93
90
 
94
91
  #focus-button-wrapper,
@@ -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-core-styles.js';
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() {
@@ -305,11 +305,16 @@ export const DashboardItemMixin = (superClass) =>
305
305
  }
306
306
  }
307
307
 
308
- focus() {
308
+ /**
309
+ * @param {FocusOptions=} options
310
+ * @protected
311
+ * @override
312
+ */
313
+ focus(options) {
309
314
  if (this.hasAttribute('editable')) {
310
- this.$['focus-button'].focus();
315
+ this.$['focus-button'].focus(options);
311
316
  } else {
312
- super.focus();
317
+ super.focus(options);
313
318
  }
314
319
  }
315
320
 
@@ -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-core-styles.js';
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
  /**
@@ -72,6 +72,12 @@ class DashboardLayout extends DashboardLayoutMixin(
72
72
  return dashboardLayoutStyles;
73
73
  }
74
74
 
75
+ static get lumoInjector() {
76
+ return {
77
+ includeBaseStyles: true,
78
+ };
79
+ }
80
+
75
81
  /** @protected */
76
82
  render() {
77
83
  return html`<div id="grid"><slot></slot></div>`;
@@ -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-core-styles.js';
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
 
@@ -81,6 +81,12 @@ class DashboardSection extends DashboardItemMixin(
81
81
  return dashboardSectionStyles;
82
82
  }
83
83
 
84
+ static get lumoInjector() {
85
+ return {
86
+ includeBaseStyles: true,
87
+ };
88
+ }
89
+
84
90
  static get properties() {
85
91
  return {
86
92
  /**
@@ -90,7 +96,7 @@ class DashboardSection extends DashboardItemMixin(
90
96
  * `i18n` object with a custom one.
91
97
  *
92
98
  * The object has the following structure and default values:
93
- * ```
99
+ * ```js
94
100
  * {
95
101
  * selectSection: 'Select section for editing',
96
102
  * remove: 'Remove',
@@ -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-core-styles.js';
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';
@@ -115,6 +115,12 @@ class DashboardWidget extends DashboardItemMixin(
115
115
  return dashboardWidgetStyles;
116
116
  }
117
117
 
118
+ static get lumoInjector() {
119
+ return {
120
+ includeBaseStyles: true,
121
+ };
122
+ }
123
+
118
124
  static get properties() {
119
125
  return {
120
126
  /**
@@ -124,7 +130,7 @@ class DashboardWidget extends DashboardItemMixin(
124
130
  * `i18n` object with a custom one.
125
131
  *
126
132
  * The object has the following structure and default values:
127
- * ```
133
+ * ```js
128
134
  * {
129
135
  * selectWidget: 'Select widget for editing',
130
136
  * remove: 'Remove',
@@ -259,7 +259,7 @@ declare class Dashboard<TItem extends DashboardItem = DashboardItem> extends Das
259
259
  * just the individual properties you want to change.
260
260
  *
261
261
  * The object has the following structure and default values:
262
- * ```
262
+ * ```js
263
263
  * {
264
264
  * selectSection: 'Select section for editing',
265
265
  * selectWidget: 'Select widget for editing',
@@ -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-core-styles.js';
20
+ import { dashboardStyles } from './styles/vaadin-dashboard-base-styles.js';
21
21
  import {
22
22
  getElementItem,
23
23
  getItemsArrayOfItem,
@@ -120,6 +120,12 @@ class Dashboard extends DashboardLayoutMixin(
120
120
  return dashboardStyles;
121
121
  }
122
122
 
123
+ static get lumoInjector() {
124
+ return {
125
+ includeBaseStyles: true,
126
+ };
127
+ }
128
+
123
129
  static get properties() {
124
130
  return {
125
131
  /**
@@ -186,7 +192,7 @@ class Dashboard extends DashboardLayoutMixin(
186
192
  * just the individual properties you want to change.
187
193
  *
188
194
  * The object has the following structure and default values:
189
- * ```
195
+ * ```js
190
196
  * {
191
197
  * selectSection: 'Select section for editing',
192
198
  * selectWidget: 'Select widget for editing',
@@ -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 { addListener } from '@vaadin/component-base/src/gestures.js';
11
+ import { addListener, setTouchAction } from '@vaadin/component-base/src/gestures.js';
12
12
  import { getElementItem, itemsEqual, WRAPPER_LOCAL_NAME } from './vaadin-dashboard-helpers.js';
13
13
 
14
14
  /**
@@ -20,6 +20,8 @@ export class WidgetResizeController {
20
20
  this.__resizedElementRemoveObserver = new MutationObserver(() => this.__restoreResizedElement());
21
21
  this.__touchMoveCancelListener = (e) => e.preventDefault();
22
22
  addListener(host, 'track', (e) => this.__onTrack(e));
23
+ // Do not set touch-action: none to allow scroll on mobile
24
+ setTouchAction(host, '');
23
25
  host.addEventListener('item-resize', (e) => this.__itemResize(e));
24
26
  }
25
27
 
@@ -1,3 +1,3 @@
1
- import './theme/lumo/vaadin-dashboard-layout.js';
1
+ import './src/vaadin-dashboard-layout.js';
2
2
 
3
3
  export * from './src/vaadin-dashboard-layout.js';
@@ -1,3 +1,3 @@
1
- import './theme/lumo/vaadin-dashboard-section.js';
1
+ import './src/vaadin-dashboard-section.js';
2
2
 
3
3
  export * from './src/vaadin-dashboard-section.js';
@@ -1,3 +1,3 @@
1
- import './theme/lumo/vaadin-dashboard-widget.js';
1
+ import './src/vaadin-dashboard-widget.js';
2
2
 
3
3
  export * from './src/vaadin-dashboard-widget.js';
@@ -1,3 +1,3 @@
1
- import './theme/lumo/vaadin-dashboard.js';
1
+ import './src/vaadin-dashboard.js';
2
2
 
3
3
  export * from './src/vaadin-dashboard.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/dashboard",
4
- "version": "25.0.0-alpha9",
4
+ "version": "25.0.0-beta2",
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-alpha9/#/elements/vaadin-dashboard#property-items) property.\nSet a renderer function to the [`renderer`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha9/#/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.",
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-beta2/#/elements/vaadin-dashboard#property-items) property.\nSet a renderer function to the [`renderer`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-beta2/#/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",
@@ -203,7 +203,7 @@
203
203
  },
204
204
  {
205
205
  "name": "i18n",
206
- "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following structure and default values:\n```\n{\n selectSection: 'Select section for editing',\n selectWidget: 'Select widget for editing',\n remove: 'Remove',\n resize: 'Resize',\n resizeApply: 'Apply',\n resizeShrinkWidth: 'Shrink width',\n resizeGrowWidth: 'Grow width',\n resizeShrinkHeight: 'Shrink height',\n resizeGrowHeight: 'Grow height',\n move: 'Move',\n moveApply: 'Apply',\n moveForward: 'Move Forward',\n moveBackward: 'Move Backward',\n}\n```",
206
+ "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following structure and default values:\n```js\n{\n selectSection: 'Select section for editing',\n selectWidget: 'Select widget for editing',\n remove: 'Remove',\n resize: 'Resize',\n resizeApply: 'Apply',\n resizeShrinkWidth: 'Shrink width',\n resizeGrowWidth: 'Grow width',\n resizeShrinkHeight: 'Shrink height',\n resizeGrowHeight: 'Grow height',\n move: 'Move',\n moveApply: 'Apply',\n moveForward: 'Move Forward',\n moveBackward: 'Move Backward',\n}\n```",
207
207
  "value": {
208
208
  "type": [
209
209
  "DashboardI18n"
@@ -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-alpha9",
4
+ "version": "25.0.0-beta2",
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-alpha9/#/elements/vaadin-dashboard#property-items) property.\nSet a renderer function to the [`renderer`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha9/#/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.",
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-beta2/#/elements/vaadin-dashboard#property-items) property.\nSet a renderer function to the [`renderer`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-beta2/#/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
  {
@@ -77,7 +77,7 @@
77
77
  },
78
78
  {
79
79
  "name": ".i18n",
80
- "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following structure and default values:\n```\n{\n selectSection: 'Select section for editing',\n selectWidget: 'Select widget for editing',\n remove: 'Remove',\n resize: 'Resize',\n resizeApply: 'Apply',\n resizeShrinkWidth: 'Shrink width',\n resizeGrowWidth: 'Grow width',\n resizeShrinkHeight: 'Shrink height',\n resizeGrowHeight: 'Grow height',\n move: 'Move',\n moveApply: 'Apply',\n moveForward: 'Move Forward',\n moveBackward: 'Move Backward',\n}\n```",
80
+ "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following structure and default values:\n```js\n{\n selectSection: 'Select section for editing',\n selectWidget: 'Select widget for editing',\n remove: 'Remove',\n resize: 'Resize',\n resizeApply: 'Apply',\n resizeShrinkWidth: 'Shrink width',\n resizeGrowWidth: 'Grow width',\n resizeShrinkHeight: 'Shrink height',\n resizeGrowHeight: 'Grow height',\n move: 'Move',\n moveApply: 'Apply',\n moveForward: 'Move Forward',\n moveBackward: 'Move Backward',\n}\n```",
81
81
  "value": {
82
82
  "kind": "expression"
83
83
  }
@@ -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;