@vaadin/split-layout 25.0.0-alpha1 → 25.0.0-alpha10

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/split-layout",
3
- "version": "25.0.0-alpha1",
3
+ "version": "25.0.0-alpha10",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,6 +21,8 @@
21
21
  "type": "module",
22
22
  "files": [
23
23
  "src",
24
+ "!src/styles/*-base-styles.d.ts",
25
+ "!src/styles/*-base-styles.js",
24
26
  "theme",
25
27
  "vaadin-*.d.ts",
26
28
  "vaadin-*.js",
@@ -35,20 +37,20 @@
35
37
  ],
36
38
  "dependencies": {
37
39
  "@open-wc/dedupe-mixin": "^1.3.0",
38
- "@vaadin/component-base": "25.0.0-alpha1",
39
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha1",
40
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha1",
40
+ "@vaadin/component-base": "25.0.0-alpha10",
41
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha10",
42
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha10",
41
43
  "lit": "^3.0.0"
42
44
  },
43
45
  "devDependencies": {
44
- "@vaadin/chai-plugins": "25.0.0-alpha1",
45
- "@vaadin/test-runner-commands": "25.0.0-alpha1",
46
- "@vaadin/testing-helpers": "^1.1.0",
46
+ "@vaadin/chai-plugins": "25.0.0-alpha10",
47
+ "@vaadin/test-runner-commands": "25.0.0-alpha10",
48
+ "@vaadin/testing-helpers": "^2.0.0",
47
49
  "sinon": "^18.0.0"
48
50
  },
49
51
  "web-types": [
50
52
  "web-types.json",
51
53
  "web-types.lit.json"
52
54
  ],
53
- "gitHead": "b8c22a4a0c64156210d0daac96b43ae4e5526d49"
55
+ "gitHead": "6cc6c94079e805fa5b2f0af4dbf3b2a7485e57d0"
54
56
  }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import '@vaadin/component-base/src/style-props.js';
7
+ import { css } from 'lit';
8
+
9
+ export const splitLayoutStyles = css`
10
+ :host {
11
+ display: flex;
12
+ contain: layout;
13
+ }
14
+
15
+ :host([hidden]) {
16
+ display: none !important;
17
+ }
18
+
19
+ :host([orientation='vertical']) {
20
+ flex-direction: column;
21
+ }
22
+
23
+ ::slotted(*) {
24
+ flex: 1 1 auto;
25
+ min-width: 0;
26
+ min-height: 0;
27
+ }
28
+
29
+ [part='splitter'] {
30
+ --_splitter-size: var(--vaadin-split-layout-splitter-size, 8px);
31
+ --_splitter-target-size: var(--vaadin-split-layout-splitter-target-size, 8px);
32
+ --_handle-size: var(--vaadin-split-layout-handle-size, 4px);
33
+ --_handle-target-size: var(--vaadin-split-layout-handle-target-size, 32px);
34
+ background: var(--vaadin-split-layout-splitter-background, var(--vaadin-background-container-strong));
35
+ flex: none;
36
+ position: relative;
37
+ z-index: 1;
38
+ box-sizing: border-box;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ }
43
+
44
+ [part='splitter']::after {
45
+ content: '';
46
+ inset: 0 calc((var(--_splitter-target-size) - var(--_splitter-size)) / -2);
47
+ position: absolute;
48
+ }
49
+
50
+ :host([orientation='vertical']) [part='splitter']::after {
51
+ inset: calc((var(--_splitter-target-size) - var(--_splitter-size)) / -2) 0;
52
+ }
53
+
54
+ :host(:not([orientation='vertical'])) > [part='splitter'] {
55
+ cursor: ew-resize;
56
+ width: var(--_splitter-size);
57
+ }
58
+
59
+ :host([orientation='vertical']) > [part='splitter'] {
60
+ cursor: ns-resize;
61
+ height: var(--_splitter-size);
62
+ }
63
+
64
+ [part='handle'] {
65
+ background: var(--vaadin-split-layout-handle-background, var(--vaadin-color-subtle));
66
+ border-radius: var(--vaadin-radius-m);
67
+ flex: none;
68
+ width: var(--_handle-size);
69
+ height: var(--_handle-target-size);
70
+ max-height: 50%;
71
+ position: relative;
72
+ }
73
+
74
+ :host([orientation='vertical']) [part='handle'] {
75
+ width: var(--_handle-target-size);
76
+ max-width: 50%;
77
+ height: var(--_handle-size);
78
+ max-height: none;
79
+ }
80
+
81
+ [part='handle']::after {
82
+ content: '';
83
+ position: absolute;
84
+ top: 50%;
85
+ left: 50%;
86
+ height: var(--_handle-target-size);
87
+ width: var(--_handle-target-size);
88
+ transform: translate3d(-50%, -50%, 0);
89
+ border-radius: 50%;
90
+ }
91
+
92
+ :host([theme~='small']) > [part='splitter'] {
93
+ --vaadin-split-layout-splitter-size: 1px;
94
+ --vaadin-split-layout-splitter-target-size: 5px;
95
+ --vaadin-split-layout-handle-size: 3px;
96
+ }
97
+
98
+ :host([theme~='small']) [part='splitter'] [part='handle'] {
99
+ opacity: 0;
100
+ }
101
+
102
+ :host([theme~='small']) [part='splitter']:active [part='handle'] {
103
+ opacity: 1;
104
+ }
105
+
106
+ @media (any-hover: hover) {
107
+ :host([theme~='small']) [part='splitter']:hover [part='handle'] {
108
+ opacity: 1;
109
+ }
110
+ }
111
+
112
+ @media (forced-colors: active) {
113
+ [part~='splitter'] {
114
+ border: 1px solid;
115
+ }
116
+ }
117
+ `;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const splitLayoutStyles: CSSResult;
@@ -9,7 +9,6 @@ export const splitLayoutStyles = css`
9
9
  :host {
10
10
  display: flex;
11
11
  overflow: hidden !important;
12
- transform: translateZ(0);
13
12
  }
14
13
 
15
14
  :host([hidden]) {
@@ -23,7 +22,6 @@ export const splitLayoutStyles = css`
23
22
  :host ::slotted(*) {
24
23
  flex: 1 1 auto;
25
24
  overflow: auto;
26
- -webkit-overflow-scrolling: touch;
27
25
  }
28
26
 
29
27
  [part='splitter'] {
@@ -7,9 +7,10 @@ import { html, LitElement } from 'lit';
7
7
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
8
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
9
9
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
10
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
10
11
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
+ import { splitLayoutStyles } from './styles/vaadin-split-layout-core-styles.js';
11
13
  import { SplitLayoutMixin } from './vaadin-split-layout-mixin.js';
12
- import { splitLayoutStyles } from './vaadin-split-layout-styles.js';
13
14
 
14
15
  /**
15
16
  * `<vaadin-split-layout>` is a Web Component implementing a split layout for two
@@ -155,7 +156,7 @@ import { splitLayoutStyles } from './vaadin-split-layout-styles.js';
155
156
  * @mixes SplitLayoutMixin
156
157
  * @mixes ThemableMixin
157
158
  */
158
- class SplitLayout extends SplitLayoutMixin(ElementMixin(ThemableMixin(PolylitMixin(LitElement)))) {
159
+ class SplitLayout extends SplitLayoutMixin(ElementMixin(ThemableMixin(PolylitMixin(LumoInjectionMixin(LitElement))))) {
159
160
  static get is() {
160
161
  return 'vaadin-split-layout';
161
162
  }
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/split-layout",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha10",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/split-layout",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha10",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {