@arminmajerie/dockview-solid 4.5.0

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/README.md ADDED
@@ -0,0 +1,38 @@
1
+ <div align="center">
2
+ <h1>dockview</h1>
3
+
4
+ <p>Zero dependency layout manager supporting tabs, groups, grids and splitviews. Supports React, Vue and Vanilla TypeScript</p>
5
+
6
+ </div>
7
+
8
+ ---
9
+
10
+ [![npm version](https://badge.fury.io/js/dockview.svg)](https://www.npmjs.com/package/dockview)
11
+ [![npm](https://img.shields.io/npm/dm/dockview)](https://www.npmjs.com/package/dockview)
12
+ [![CI Build](https://github.com/mathuo/dockview/workflows/CI/badge.svg)](https://github.com/mathuo/dockview/actions?query=workflow%3ACI)
13
+ [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=mathuo_dockview&metric=coverage)](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
14
+ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=mathuo_dockview&metric=alert_status)](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
15
+ [![Bundle Phobia](https://badgen.net/bundlephobia/minzip/dockview)](https://bundlephobia.com/result?p=dockview)
16
+
17
+ ##
18
+
19
+ ![](packages/docs/static/img/splashscreen.gif)
20
+
21
+ Please see the website: https://dockview.dev
22
+
23
+ ## Features
24
+
25
+ - Serialization / deserialization with full layout management
26
+ - Support for split-views, grid-views and 'dockable' views
27
+ - Themeable and customizable
28
+ - Tab and Group docking / Drag n' Drop
29
+ - Popout Windows
30
+ - Floating Groups
31
+ - Extensive API
32
+ - Supports Shadow DOMs
33
+ - High test coverage
34
+ - Documentation website with live examples
35
+ - Transparent builds and Code Analysis
36
+ - Security at mind - verifed publishing and builds through GitHub Actions
37
+
38
+ Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview#Provenance).
@@ -0,0 +1 @@
1
+ export * from 'dockview';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("dockview"), exports);
@@ -0,0 +1 @@
1
+ export * from 'dockview';
@@ -0,0 +1 @@
1
+ export * from 'dockview';
@@ -0,0 +1,1197 @@
1
+ .dv-scrollable {
2
+ position: relative;
3
+ overflow: hidden;
4
+ }
5
+ .dv-scrollable .dv-scrollbar-horizontal {
6
+ position: absolute;
7
+ bottom: 0px;
8
+ left: 0px;
9
+ height: 4px;
10
+ border-radius: 2px;
11
+ background-color: transparent;
12
+ transition-property: background-color;
13
+ transition-timing-function: ease-in-out;
14
+ transition-duration: 1s;
15
+ transition-delay: 0s;
16
+ }
17
+ .dv-scrollable:hover .dv-scrollbar-horizontal, .dv-scrollable.dv-scrollable-resizing .dv-scrollbar-horizontal, .dv-scrollable.dv-scrollable-scrolling .dv-scrollbar-horizontal {
18
+ background-color: var(--dv-scrollbar-background-color, rgba(255, 255, 255, 0.25));
19
+ }
20
+ .dv-svg {
21
+ display: inline-block;
22
+ fill: currentcolor;
23
+ line-height: 1;
24
+ stroke: currentcolor;
25
+ stroke-width: 0;
26
+ }
27
+ .dockview-theme-dark {
28
+ --dv-paneview-active-outline-color: dodgerblue;
29
+ --dv-tabs-and-actions-container-font-size: 13px;
30
+ --dv-tabs-and-actions-container-height: 35px;
31
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
32
+ --dv-drag-over-border-color: transparent;
33
+ --dv-tabs-container-scrollbar-color: #888;
34
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
35
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
36
+ --dv-overlay-z-index: 999;
37
+ --dv-tab-font-size: inherit;
38
+ --dv-border-radius: 0px;
39
+ --dv-tab-margin: 0;
40
+ --dv-sash-color: transparent;
41
+ --dv-active-sash-color: transparent;
42
+ --dv-active-sash-transition-duration: 0.1s;
43
+ --dv-active-sash-transition-delay: 0.5s;
44
+ --dv-group-view-background-color: #1e1e1e;
45
+ --dv-tabs-and-actions-container-background-color: #252526;
46
+ --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;
47
+ --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;
48
+ --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;
49
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;
50
+ --dv-tab-divider-color: #1e1e1e;
51
+ --dv-activegroup-visiblepanel-tab-color: white;
52
+ --dv-activegroup-hiddenpanel-tab-color: #969696;
53
+ --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;
54
+ --dv-inactivegroup-hiddenpanel-tab-color: #626262;
55
+ --dv-separator-border: rgb(68, 68, 68);
56
+ --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);
57
+ }
58
+ .dockview-theme-dark .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed {
59
+ opacity: 0;
60
+ transition: none;
61
+ }
62
+
63
+ .dockview-theme-light {
64
+ --dv-paneview-active-outline-color: dodgerblue;
65
+ --dv-tabs-and-actions-container-font-size: 13px;
66
+ --dv-tabs-and-actions-container-height: 35px;
67
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
68
+ --dv-drag-over-border-color: transparent;
69
+ --dv-tabs-container-scrollbar-color: #888;
70
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
71
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
72
+ --dv-overlay-z-index: 999;
73
+ --dv-tab-font-size: inherit;
74
+ --dv-border-radius: 0px;
75
+ --dv-tab-margin: 0;
76
+ --dv-sash-color: transparent;
77
+ --dv-active-sash-color: transparent;
78
+ --dv-active-sash-transition-duration: 0.1s;
79
+ --dv-active-sash-transition-delay: 0.5s;
80
+ --dv-group-view-background-color: white;
81
+ --dv-tabs-and-actions-container-background-color: #f3f3f3;
82
+ --dv-activegroup-visiblepanel-tab-background-color: white;
83
+ --dv-activegroup-hiddenpanel-tab-background-color: #ececec;
84
+ --dv-inactivegroup-visiblepanel-tab-background-color: white;
85
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;
86
+ --dv-tab-divider-color: white;
87
+ --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);
88
+ --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);
89
+ --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);
90
+ --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);
91
+ --dv-separator-border: rgba(128, 128, 128, 0.35);
92
+ --dv-paneview-header-border-color: rgb(51, 51, 51);
93
+ --dv-scrollbar-background-color: rgba(0, 0, 0, 0.25);
94
+ }
95
+ .dockview-theme-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed {
96
+ opacity: 0;
97
+ transition: none;
98
+ }
99
+
100
+ .dockview-theme-vs {
101
+ --dv-paneview-active-outline-color: dodgerblue;
102
+ --dv-tabs-and-actions-container-font-size: 13px;
103
+ --dv-tabs-and-actions-container-height: 35px;
104
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
105
+ --dv-drag-over-border-color: transparent;
106
+ --dv-tabs-container-scrollbar-color: #888;
107
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
108
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
109
+ --dv-overlay-z-index: 999;
110
+ --dv-tab-font-size: inherit;
111
+ --dv-border-radius: 0px;
112
+ --dv-tab-margin: 0;
113
+ --dv-sash-color: transparent;
114
+ --dv-active-sash-color: transparent;
115
+ --dv-active-sash-transition-duration: 0.1s;
116
+ --dv-active-sash-transition-delay: 0.5s;
117
+ --dv-group-view-background-color: #1e1e1e;
118
+ --dv-tabs-and-actions-container-background-color: #252526;
119
+ --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;
120
+ --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;
121
+ --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;
122
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;
123
+ --dv-tab-divider-color: #1e1e1e;
124
+ --dv-activegroup-visiblepanel-tab-color: white;
125
+ --dv-activegroup-hiddenpanel-tab-color: #969696;
126
+ --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;
127
+ --dv-inactivegroup-hiddenpanel-tab-color: #626262;
128
+ --dv-separator-border: rgb(68, 68, 68);
129
+ --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);
130
+ --dv-tabs-and-actions-container-background-color: #2d2d30;
131
+ --dv-tabs-and-actions-container-height: 20px;
132
+ --dv-tabs-and-actions-container-font-size: 11px;
133
+ --dv-activegroup-visiblepanel-tab-background-color: #007acc;
134
+ --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;
135
+ --dv-activegroup-visiblepanel-tab-color: white;
136
+ --dv-activegroup-hiddenpanel-tab-color: white;
137
+ --dv-inactivegroup-visiblepanel-tab-color: white;
138
+ --dv-inactivegroup-hiddenpanel-tab-color: white;
139
+ }
140
+ .dockview-theme-vs .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed {
141
+ opacity: 0;
142
+ transition: none;
143
+ }
144
+ .dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container {
145
+ box-sizing: content-box;
146
+ border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);
147
+ }
148
+ .dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {
149
+ border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);
150
+ }
151
+ .dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {
152
+ border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);
153
+ }
154
+ .dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container {
155
+ box-sizing: content-box;
156
+ border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);
157
+ }
158
+ .dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {
159
+ border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);
160
+ }
161
+ .dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {
162
+ border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);
163
+ }
164
+
165
+ .dockview-theme-abyss {
166
+ --dv-paneview-active-outline-color: dodgerblue;
167
+ --dv-tabs-and-actions-container-font-size: 13px;
168
+ --dv-tabs-and-actions-container-height: 35px;
169
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
170
+ --dv-drag-over-border-color: transparent;
171
+ --dv-tabs-container-scrollbar-color: #888;
172
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
173
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
174
+ --dv-overlay-z-index: 999;
175
+ --dv-tab-font-size: inherit;
176
+ --dv-border-radius: 0px;
177
+ --dv-tab-margin: 0;
178
+ --dv-sash-color: transparent;
179
+ --dv-active-sash-color: transparent;
180
+ --dv-active-sash-transition-duration: 0.1s;
181
+ --dv-active-sash-transition-delay: 0.5s;
182
+ --dv-color-abyss-dark: #000c18;
183
+ --dv-color-abyss: #10192c;
184
+ --dv-color-abyss-light: #1c1c2a;
185
+ --dv-color-abyss-lighter: #2b2b4a;
186
+ --dv-color-abyss-accent: rgb(91, 30, 207);
187
+ --dv-color-abyss-primary-text: white;
188
+ --dv-color-abyss-secondary-text: rgb(148, 151, 169);
189
+ --dv-group-view-background-color: var(--dv-color-abyss-dark);
190
+ --dv-tabs-and-actions-container-background-color: var(
191
+ --dv-color-abyss-light
192
+ );
193
+ --dv-activegroup-visiblepanel-tab-background-color: var(
194
+ --dv-color-abyss-dark
195
+ );
196
+ --dv-activegroup-hiddenpanel-tab-background-color: var(--dv-color-abyss);
197
+ --dv-inactivegroup-visiblepanel-tab-background-color: var(
198
+ --dv-color-abyss-dark
199
+ );
200
+ --dv-inactivegroup-hiddenpanel-tab-background-color: var(--dv-color-abyss);
201
+ --dv-tab-divider-color: var(--dv-color-abyss-lighter);
202
+ --dv-activegroup-visiblepanel-tab-color: white;
203
+ --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);
204
+ --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);
205
+ --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);
206
+ --dv-separator-border: var(--dv-color-abyss-lighter);
207
+ --dv-paneview-header-border-color: var(--dv-color-abyss-lighter);
208
+ --dv-paneview-active-outline-color: #596f99;
209
+ }
210
+ .dockview-theme-abyss .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed {
211
+ opacity: 0;
212
+ transition: none;
213
+ }
214
+
215
+ .dockview-theme-dracula {
216
+ --dv-paneview-active-outline-color: dodgerblue;
217
+ --dv-tabs-and-actions-container-font-size: 13px;
218
+ --dv-tabs-and-actions-container-height: 35px;
219
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
220
+ --dv-drag-over-border-color: transparent;
221
+ --dv-tabs-container-scrollbar-color: #888;
222
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
223
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
224
+ --dv-overlay-z-index: 999;
225
+ --dv-tab-font-size: inherit;
226
+ --dv-border-radius: 0px;
227
+ --dv-tab-margin: 0;
228
+ --dv-sash-color: transparent;
229
+ --dv-active-sash-color: transparent;
230
+ --dv-active-sash-transition-duration: 0.1s;
231
+ --dv-active-sash-transition-delay: 0.5s;
232
+ --dv-group-view-background-color: #282a36;
233
+ --dv-tabs-and-actions-container-background-color: #191a21;
234
+ --dv-activegroup-visiblepanel-tab-background-color: #282a36;
235
+ --dv-activegroup-hiddenpanel-tab-background-color: #21222c;
236
+ --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;
237
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;
238
+ --dv-tab-divider-color: #191a21;
239
+ --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);
240
+ --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);
241
+ --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);
242
+ --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);
243
+ --dv-separator-border: #bd93f9;
244
+ --dv-paneview-header-border-color: #bd93f9;
245
+ --dv-paneview-active-outline-color: #6272a4;
246
+ }
247
+ .dockview-theme-dracula .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed {
248
+ opacity: 0;
249
+ transition: none;
250
+ }
251
+ .dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab {
252
+ position: relative;
253
+ }
254
+ .dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after {
255
+ position: absolute;
256
+ left: 0px;
257
+ top: 0px;
258
+ content: "";
259
+ width: 100%;
260
+ height: 1px;
261
+ background-color: #94527e;
262
+ z-index: 999;
263
+ }
264
+ .dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab {
265
+ position: relative;
266
+ }
267
+ .dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after {
268
+ position: absolute;
269
+ left: 0px;
270
+ bottom: 0px;
271
+ content: "";
272
+ width: 100%;
273
+ height: 1px;
274
+ background-color: #5e3d5a;
275
+ z-index: 999;
276
+ }
277
+
278
+ .dockview-theme-replit {
279
+ --dv-paneview-active-outline-color: dodgerblue;
280
+ --dv-tabs-and-actions-container-font-size: 13px;
281
+ --dv-tabs-and-actions-container-height: 35px;
282
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
283
+ --dv-drag-over-border-color: transparent;
284
+ --dv-tabs-container-scrollbar-color: #888;
285
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
286
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
287
+ --dv-overlay-z-index: 999;
288
+ --dv-tab-font-size: inherit;
289
+ --dv-border-radius: 0px;
290
+ --dv-tab-margin: 0;
291
+ --dv-sash-color: transparent;
292
+ --dv-active-sash-color: transparent;
293
+ --dv-active-sash-transition-duration: 0.1s;
294
+ --dv-active-sash-transition-delay: 0.5s;
295
+ box-sizing: border-box;
296
+ padding: 10px;
297
+ background-color: #ebeced;
298
+ --dv-group-view-background-color: #ebeced;
299
+ --dv-tabs-and-actions-container-background-color: #fcfcfc;
300
+ --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;
301
+ --dv-activegroup-hiddenpanel-tab-background-color: #fcfcfc;
302
+ --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;
303
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;
304
+ --dv-tab-divider-color: transparent;
305
+ --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);
306
+ --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);
307
+ --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);
308
+ --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);
309
+ --dv-separator-border: transparent;
310
+ --dv-paneview-header-border-color: rgb(51, 51, 51);
311
+ --dv-sash-color: #cfd1d3;
312
+ --dv-active-sash-color: #babbbb;
313
+ }
314
+ .dockview-theme-replit .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed {
315
+ opacity: 0;
316
+ transition: none;
317
+ }
318
+ .dockview-theme-replit .dv-resize-container:has(> .dv-groupview) {
319
+ border-radius: 8px;
320
+ }
321
+ .dockview-theme-replit .dv-resize-container {
322
+ border-radius: 10px !important;
323
+ border: none;
324
+ }
325
+ .dockview-theme-replit .dv-groupview {
326
+ overflow: hidden;
327
+ border-radius: 10px;
328
+ }
329
+ .dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container {
330
+ border-bottom: 1px solid rgba(128, 128, 128, 0.35);
331
+ }
332
+ .dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab {
333
+ margin: 4px;
334
+ border-radius: 8px;
335
+ }
336
+ .dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg {
337
+ height: 8px;
338
+ width: 8px;
339
+ }
340
+ .dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover {
341
+ background-color: #e4e5e6 !important;
342
+ }
343
+ .dockview-theme-replit .dv-groupview .dv-content-container {
344
+ background-color: #fcfcfc;
345
+ }
346
+ .dockview-theme-replit .dv-groupview.dv-active-group {
347
+ border: 1px solid rgba(128, 128, 128, 0.35);
348
+ }
349
+ .dockview-theme-replit .dv-groupview.dv-inactive-group {
350
+ border: 1px solid transparent;
351
+ }
352
+ .dockview-theme-replit .dv-vertical > .dv-sash-container > .dv-sash {
353
+ background-color: transparent;
354
+ }
355
+ .dockview-theme-replit .dv-vertical > .dv-sash-container > .dv-sash:not(.disabled)::after {
356
+ content: "";
357
+ height: 4px;
358
+ width: 40px;
359
+ border-radius: 2px;
360
+ top: 50%;
361
+ left: 50%;
362
+ transform: translate(-50%, -50%);
363
+ background-color: var(--dv-sash-color);
364
+ position: absolute;
365
+ }
366
+ .dockview-theme-replit .dv-vertical > .dv-sash-container > .dv-sash:not(.disabled):hover, .dockview-theme-replit .dv-vertical > .dv-sash-container > .dv-sash:not(.disabled):active {
367
+ background-color: transparent;
368
+ }
369
+ .dockview-theme-replit .dv-vertical > .dv-sash-container > .dv-sash:not(.disabled):hover::after, .dockview-theme-replit .dv-vertical > .dv-sash-container > .dv-sash:not(.disabled):active::after {
370
+ background-color: var(--dv-active-sash-color);
371
+ }
372
+ .dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash {
373
+ background-color: transparent;
374
+ }
375
+ .dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled)::after {
376
+ content: "";
377
+ height: 40px;
378
+ width: 4px;
379
+ border-radius: 2px;
380
+ top: 50%;
381
+ left: 50%;
382
+ transform: translate(-50%, -50%);
383
+ background-color: var(--dv-sash-color);
384
+ position: absolute;
385
+ }
386
+ .dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover, .dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):active {
387
+ background-color: transparent;
388
+ }
389
+ .dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover::after, .dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):active::after {
390
+ background-color: var(--dv-active-sash-color);
391
+ }
392
+
393
+ .dockview-theme-abyss-spaced {
394
+ --dv-paneview-active-outline-color: dodgerblue;
395
+ --dv-tabs-and-actions-container-font-size: 13px;
396
+ --dv-tabs-and-actions-container-height: 35px;
397
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
398
+ --dv-drag-over-border-color: transparent;
399
+ --dv-tabs-container-scrollbar-color: #888;
400
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
401
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
402
+ --dv-overlay-z-index: 999;
403
+ --dv-tab-font-size: inherit;
404
+ --dv-border-radius: 0px;
405
+ --dv-tab-margin: 0;
406
+ --dv-sash-color: transparent;
407
+ --dv-active-sash-color: transparent;
408
+ --dv-active-sash-transition-duration: 0.1s;
409
+ --dv-active-sash-transition-delay: 0.5s;
410
+ --dv-tab-font-size: 12px;
411
+ --dv-border-radius: 20px;
412
+ --dv-tab-margin: 0.5rem 0.25rem;
413
+ --dv-tabs-and-actions-container-height: 44px;
414
+ --dv-border-radius: 20px;
415
+ box-sizing: border-box;
416
+ --dv-color-abyss-dark: rgb(11, 6, 17);
417
+ --dv-color-abyss: #16121f;
418
+ --dv-color-abyss-light: #201d2b;
419
+ --dv-color-abyss-lighter: #2a2837;
420
+ --dv-color-abyss-accent: rgb(91, 30, 207);
421
+ --dv-color-abyss-primary-text: white;
422
+ --dv-color-abyss-secondary-text: rgb(148, 151, 169);
423
+ --dv-drag-over-border: 2px solid var(--dv-color-abyss-accent);
424
+ --dv-drag-over-background-color: "";
425
+ --dv-group-view-background-color: var(--dv-color-abyss-dark);
426
+ --dv-tabs-and-actions-container-background-color: var(--dv-color-abyss);
427
+ --dv-activegroup-visiblepanel-tab-background-color: var(
428
+ --dv-color-abyss-lighter
429
+ );
430
+ --dv-activegroup-hiddenpanel-tab-background-color: var(
431
+ --dv-color-abyss-light
432
+ );
433
+ --dv-inactivegroup-visiblepanel-tab-background-color: var(
434
+ --dv-color-abyss-lighter
435
+ );
436
+ --dv-inactivegroup-hiddenpanel-tab-background-color: var(
437
+ --dv-color-abyss-light
438
+ );
439
+ --dv-tab-divider-color: transparent;
440
+ --dv-activegroup-visiblepanel-tab-color: var(--dv-color-abyss-primary-text);
441
+ --dv-activegroup-hiddenpanel-tab-color: var(
442
+ --dv-color-abyss-secondary-text
443
+ );
444
+ --dv-inactivegroup-visiblepanel-tab-color: var(
445
+ --dv-color-abyss-primary-text
446
+ );
447
+ --dv-inactivegroup-hiddenpanel-tab-color: var(
448
+ --dv-color-abyss-secondary-text
449
+ );
450
+ --dv-separator-border: transparent;
451
+ --dv-paneview-header-border-color: rgb(51, 51, 51);
452
+ --dv-active-sash-color: var(--dv-color-abyss-accent);
453
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, 0.5);
454
+ padding: 10px;
455
+ background-color: var(--dv-color-abyss-dark);
456
+ }
457
+ .dockview-theme-abyss-spaced .dv-resize-container:has(> .dv-groupview) {
458
+ border-radius: 8px;
459
+ }
460
+ .dockview-theme-abyss-spaced .dv-sash {
461
+ border-radius: 4px;
462
+ }
463
+ .dockview-theme-abyss-spaced .dv-drop-target-anchor {
464
+ border-radius: calc(var(--dv-border-radius) / 4);
465
+ }
466
+ .dockview-theme-abyss-spaced .dv-drop-target-anchor.dv-drop-target-content {
467
+ border-radius: var(--dv-border-radius);
468
+ }
469
+ .dockview-theme-abyss-spaced .dv-resize-container {
470
+ border-radius: var(--dv-border-radius) !important;
471
+ border: none;
472
+ }
473
+ .dockview-theme-abyss-spaced .dv-tabs-overflow-container,
474
+ .dockview-theme-abyss-spaced .dv-tabs-overflow-dropdown-default {
475
+ border-radius: 8px;
476
+ height: unset !important;
477
+ }
478
+ .dockview-theme-abyss-spaced .dv-tab {
479
+ border-radius: 8px;
480
+ }
481
+ .dockview-theme-abyss-spaced .dv-tab .dv-svg {
482
+ height: 8px;
483
+ width: 8px;
484
+ }
485
+ .dockview-theme-abyss-spaced .dv-groupview {
486
+ border-radius: var(--dv-border-radius);
487
+ }
488
+ .dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container {
489
+ padding: 0px calc(var(--dv-border-radius) / 2);
490
+ }
491
+ .dockview-theme-abyss-spaced .dv-groupview .dv-content-container {
492
+ background-color: var(--dv-tabs-and-actions-container-background-color);
493
+ }
494
+ .dockview-theme-abyss-spaced .dv-resize-container .dv-groupview {
495
+ border: 2px solid var(--dv-color-abyss-dark);
496
+ }
497
+
498
+ .dockview-theme-light-spaced {
499
+ --dv-paneview-active-outline-color: dodgerblue;
500
+ --dv-tabs-and-actions-container-font-size: 13px;
501
+ --dv-tabs-and-actions-container-height: 35px;
502
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
503
+ --dv-drag-over-border-color: transparent;
504
+ --dv-tabs-container-scrollbar-color: #888;
505
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
506
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);
507
+ --dv-overlay-z-index: 999;
508
+ --dv-tab-font-size: inherit;
509
+ --dv-border-radius: 0px;
510
+ --dv-tab-margin: 0;
511
+ --dv-sash-color: transparent;
512
+ --dv-active-sash-color: transparent;
513
+ --dv-active-sash-transition-duration: 0.1s;
514
+ --dv-active-sash-transition-delay: 0.5s;
515
+ --dv-tab-font-size: 12px;
516
+ --dv-border-radius: 20px;
517
+ --dv-tab-margin: 0.5rem 0.25rem;
518
+ --dv-tabs-and-actions-container-height: 44px;
519
+ --dv-border-radius: 20px;
520
+ box-sizing: border-box;
521
+ --dv-drag-over-border: 2px solid rgb(91, 30, 207);
522
+ --dv-drag-over-background-color: "";
523
+ --dv-group-view-background-color: #f6f5f9;
524
+ --dv-tabs-and-actions-container-background-color: white;
525
+ --dv-activegroup-visiblepanel-tab-background-color: #ededf0;
526
+ --dv-activegroup-hiddenpanel-tab-background-color: #f9f9fa;
527
+ --dv-inactivegroup-visiblepanel-tab-background-color: #ededf0;
528
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #f9f9fa;
529
+ --dv-tab-divider-color: transparent;
530
+ --dv-activegroup-visiblepanel-tab-color: rgb(104, 107, 130);
531
+ --dv-activegroup-hiddenpanel-tab-color: rgb(148, 151, 169);
532
+ --dv-inactivegroup-visiblepanel-tab-color: rgb(104, 107, 130);
533
+ --dv-inactivegroup-hiddenpanel-tab-color: rgb(148, 151, 169);
534
+ --dv-separator-border: transparent;
535
+ --dv-paneview-header-border-color: rgb(51, 51, 51);
536
+ --dv-active-sash-color: rgb(91, 30, 207);
537
+ --dv-floating-box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, 0.1);
538
+ padding: 10px;
539
+ background-color: #f6f5f9;
540
+ --dv-scrollbar-background-color: rgba(0, 0, 0, 0.25);
541
+ }
542
+ .dockview-theme-light-spaced .dv-resize-container:has(> .dv-groupview) {
543
+ border-radius: 8px;
544
+ }
545
+ .dockview-theme-light-spaced .dv-sash {
546
+ border-radius: 4px;
547
+ }
548
+ .dockview-theme-light-spaced .dv-drop-target-anchor {
549
+ border-radius: calc(var(--dv-border-radius) / 4);
550
+ }
551
+ .dockview-theme-light-spaced .dv-drop-target-anchor.dv-drop-target-content {
552
+ border-radius: var(--dv-border-radius);
553
+ }
554
+ .dockview-theme-light-spaced .dv-resize-container {
555
+ border-radius: var(--dv-border-radius) !important;
556
+ border: none;
557
+ }
558
+ .dockview-theme-light-spaced .dv-tabs-overflow-container,
559
+ .dockview-theme-light-spaced .dv-tabs-overflow-dropdown-default {
560
+ border-radius: 8px;
561
+ height: unset !important;
562
+ }
563
+ .dockview-theme-light-spaced .dv-tab {
564
+ border-radius: 8px;
565
+ }
566
+ .dockview-theme-light-spaced .dv-tab .dv-svg {
567
+ height: 8px;
568
+ width: 8px;
569
+ }
570
+ .dockview-theme-light-spaced .dv-groupview {
571
+ border-radius: var(--dv-border-radius);
572
+ }
573
+ .dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container {
574
+ padding: 0px calc(var(--dv-border-radius) / 2);
575
+ }
576
+ .dockview-theme-light-spaced .dv-groupview .dv-content-container {
577
+ background-color: var(--dv-tabs-and-actions-container-background-color);
578
+ }
579
+ .dockview-theme-light-spaced .dv-resize-container .dv-groupview {
580
+ border: 2px solid rgba(255, 255, 255, 0.1);
581
+ }
582
+ .dv-drop-target {
583
+ position: relative;
584
+ --dv-transition-duration: 70ms;
585
+ }
586
+ .dv-drop-target > .dv-drop-target-dropzone {
587
+ position: absolute;
588
+ left: 0px;
589
+ top: 0px;
590
+ height: 100%;
591
+ width: 100%;
592
+ z-index: 1000;
593
+ pointer-events: none;
594
+ }
595
+ .dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection {
596
+ position: relative;
597
+ box-sizing: border-box;
598
+ height: 100%;
599
+ width: 100%;
600
+ border: var(--dv-drag-over-border);
601
+ background-color: var(--dv-drag-over-background-color);
602
+ transition: top var(--dv-transition-duration) ease-out, left var(--dv-transition-duration) ease-out, width var(--dv-transition-duration) ease-out, height var(--dv-transition-duration) ease-out, opacity var(--dv-transition-duration) ease-out;
603
+ will-change: transform;
604
+ pointer-events: none;
605
+ }
606
+ .dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {
607
+ border-top: 1px solid var(--dv-drag-over-border-color);
608
+ }
609
+ .dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {
610
+ border-bottom: 1px solid var(--dv-drag-over-border-color);
611
+ }
612
+ .dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {
613
+ border-left: 1px solid var(--dv-drag-over-border-color);
614
+ }
615
+ .dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {
616
+ border-right: 1px solid var(--dv-drag-over-border-color);
617
+ }
618
+ .dv-drop-target-container {
619
+ position: absolute;
620
+ z-index: 9999;
621
+ top: 0px;
622
+ left: 0px;
623
+ height: 100%;
624
+ width: 100%;
625
+ pointer-events: none;
626
+ overflow: hidden;
627
+ --dv-transition-duration: 300ms;
628
+ }
629
+ .dv-drop-target-container .dv-drop-target-anchor {
630
+ position: relative;
631
+ border: var(--dv-drag-over-border);
632
+ transition: opacity var(--dv-transition-duration) ease-in, top var(--dv-transition-duration) ease-out, left var(--dv-transition-duration) ease-out, width var(--dv-transition-duration) ease-out, height var(--dv-transition-duration) ease-out;
633
+ background-color: var(--dv-drag-over-background-color);
634
+ opacity: 1;
635
+ }
636
+ .dv-dockview {
637
+ position: relative;
638
+ background-color: var(--dv-group-view-background-color);
639
+ }
640
+ .dv-dockview .dv-watermark-container {
641
+ position: absolute;
642
+ top: 0px;
643
+ left: 0px;
644
+ height: 100%;
645
+ width: 100%;
646
+ z-index: 1;
647
+ }
648
+ .dv-dockview .dv-overlay-render-container {
649
+ position: relative;
650
+ }
651
+
652
+ .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab {
653
+ background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
654
+ color: var(--dv-activegroup-visiblepanel-tab-color);
655
+ }
656
+ .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-inactive-tab {
657
+ background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);
658
+ color: var(--dv-activegroup-hiddenpanel-tab-color);
659
+ }
660
+ .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab {
661
+ background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);
662
+ color: var(--dv-inactivegroup-visiblepanel-tab-color);
663
+ }
664
+ .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-inactive-tab {
665
+ background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);
666
+ color: var(--dv-inactivegroup-hiddenpanel-tab-color);
667
+ }
668
+
669
+ /**
670
+ * when a tab is dragged we lose the above stylings because they are conditional on parent elements
671
+ * therefore we also set some stylings for the dragging event
672
+ **/
673
+ .dv-tab.dv-tab-dragging {
674
+ background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
675
+ color: var(--dv-activegroup-visiblepanel-tab-color);
676
+ }
677
+ .dv-groupview {
678
+ display: flex;
679
+ flex-direction: column;
680
+ height: 100%;
681
+ background-color: var(--dv-group-view-background-color);
682
+ overflow: hidden;
683
+ }
684
+ .dv-groupview:focus {
685
+ outline: none;
686
+ }
687
+ .dv-groupview > .dv-content-container {
688
+ flex-grow: 1;
689
+ min-height: 0;
690
+ outline: none;
691
+ }
692
+ .dv-root-wrapper {
693
+ height: 100%;
694
+ width: 100%;
695
+ }
696
+ .dv-grid-view,
697
+ .dv-branch-node {
698
+ height: 100%;
699
+ width: 100%;
700
+ }
701
+ .dv-debug .dv-resize-container .dv-resize-handle-top {
702
+ background-color: red;
703
+ }
704
+ .dv-debug .dv-resize-container .dv-resize-handle-bottom {
705
+ background-color: green;
706
+ }
707
+ .dv-debug .dv-resize-container .dv-resize-handle-left {
708
+ background-color: yellow;
709
+ }
710
+ .dv-debug .dv-resize-container .dv-resize-handle-right {
711
+ background-color: blue;
712
+ }
713
+ .dv-debug .dv-resize-container .dv-resize-handle-topleft,
714
+ .dv-debug .dv-resize-container .dv-resize-handle-topright,
715
+ .dv-debug .dv-resize-container .dv-resize-handle-bottomleft,
716
+ .dv-debug .dv-resize-container .dv-resize-handle-bottomright {
717
+ background-color: cyan;
718
+ }
719
+
720
+ .dv-resize-container {
721
+ --dv-overlay-z-index: var(--dv-overlay-z-index, 999);
722
+ position: absolute;
723
+ z-index: calc(var(--dv-overlay-z-index) - 2);
724
+ border: 1px solid var(--dv-tab-divider-color);
725
+ box-shadow: var(--dv-floating-box-shadow);
726
+ }
727
+ .dv-resize-container.dv-hidden {
728
+ display: none;
729
+ }
730
+ .dv-resize-container.dv-resize-container-dragging {
731
+ opacity: 0.5;
732
+ }
733
+ .dv-resize-container .dv-resize-handle-top {
734
+ height: 4px;
735
+ width: calc(100% - 8px);
736
+ left: 4px;
737
+ top: -2px;
738
+ z-index: var(--dv-overlay-z-index);
739
+ position: absolute;
740
+ cursor: ns-resize;
741
+ }
742
+ .dv-resize-container .dv-resize-handle-bottom {
743
+ height: 4px;
744
+ width: calc(100% - 8px);
745
+ left: 4px;
746
+ bottom: -2px;
747
+ z-index: var(--dv-overlay-z-index);
748
+ position: absolute;
749
+ cursor: ns-resize;
750
+ }
751
+ .dv-resize-container .dv-resize-handle-left {
752
+ height: calc(100% - 8px);
753
+ width: 4px;
754
+ left: -2px;
755
+ top: 4px;
756
+ z-index: var(--dv-overlay-z-index);
757
+ position: absolute;
758
+ cursor: ew-resize;
759
+ }
760
+ .dv-resize-container .dv-resize-handle-right {
761
+ height: calc(100% - 8px);
762
+ width: 4px;
763
+ right: -2px;
764
+ top: 4px;
765
+ z-index: var(--dv-overlay-z-index);
766
+ position: absolute;
767
+ cursor: ew-resize;
768
+ }
769
+ .dv-resize-container .dv-resize-handle-topleft {
770
+ height: 4px;
771
+ width: 4px;
772
+ top: -2px;
773
+ left: -2px;
774
+ z-index: var(--dv-overlay-z-index);
775
+ position: absolute;
776
+ cursor: nw-resize;
777
+ }
778
+ .dv-resize-container .dv-resize-handle-topright {
779
+ height: 4px;
780
+ width: 4px;
781
+ right: -2px;
782
+ top: -2px;
783
+ z-index: var(--dv-overlay-z-index);
784
+ position: absolute;
785
+ cursor: ne-resize;
786
+ }
787
+ .dv-resize-container .dv-resize-handle-bottomleft {
788
+ height: 4px;
789
+ width: 4px;
790
+ left: -2px;
791
+ bottom: -2px;
792
+ z-index: var(--dv-overlay-z-index);
793
+ position: absolute;
794
+ cursor: sw-resize;
795
+ }
796
+ .dv-resize-container .dv-resize-handle-bottomright {
797
+ height: 4px;
798
+ width: 4px;
799
+ right: -2px;
800
+ bottom: -2px;
801
+ z-index: var(--dv-overlay-z-index);
802
+ position: absolute;
803
+ cursor: se-resize;
804
+ }
805
+ .dv-render-overlay {
806
+ --dv-overlay-z-index: var(--dv-overlay-z-index, 999);
807
+ position: absolute;
808
+ z-index: 1;
809
+ height: 100%;
810
+ }
811
+ .dv-render-overlay.dv-render-overlay-float {
812
+ z-index: calc(var(--dv-overlay-z-index) - 1);
813
+ }
814
+
815
+ .dv-debug .dv-render-overlay {
816
+ outline: 1px solid red;
817
+ outline-offset: -1;
818
+ }
819
+ .dv-pane-container {
820
+ height: 100%;
821
+ width: 100%;
822
+ }
823
+ .dv-pane-container.dv-animated .dv-view {
824
+ transition-duration: 0.15s;
825
+ transition-timing-function: ease-out;
826
+ }
827
+ .dv-pane-container .dv-view {
828
+ overflow: hidden;
829
+ display: flex;
830
+ flex-direction: column;
831
+ padding: 0px !important;
832
+ }
833
+ .dv-pane-container .dv-view:not(:first-child)::before {
834
+ background-color: transparent !important;
835
+ }
836
+ .dv-pane-container .dv-view:not(:first-child) .dv-pane > .dv-pane-header {
837
+ border-top: 1px solid var(--dv-paneview-header-border-color);
838
+ }
839
+ .dv-pane-container .dv-view .dv-default-header {
840
+ background-color: var(--dv-group-view-background-color);
841
+ color: var(--dv-activegroup-visiblepanel-tab-color);
842
+ display: flex;
843
+ padding: 0px 8px;
844
+ cursor: pointer;
845
+ }
846
+ .dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon {
847
+ display: flex;
848
+ justify-content: center;
849
+ align-items: center;
850
+ }
851
+ .dv-pane-container .dv-view .dv-default-header > span {
852
+ padding-left: 8px;
853
+ flex-grow: 1;
854
+ }
855
+ .dv-pane-container:first-of-type > .dv-pane > .dv-pane-header {
856
+ border-top: none !important;
857
+ }
858
+ .dv-pane-container .dv-pane {
859
+ display: flex;
860
+ flex-direction: column;
861
+ overflow: hidden;
862
+ height: 100%;
863
+ }
864
+ .dv-pane-container .dv-pane .dv-pane-header {
865
+ box-sizing: border-box;
866
+ user-select: none;
867
+ position: relative;
868
+ outline: none;
869
+ }
870
+ .dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable {
871
+ cursor: pointer;
872
+ }
873
+ .dv-pane-container .dv-pane .dv-pane-header:focus:before, .dv-pane-container .dv-pane .dv-pane-header:focus-within:before {
874
+ position: absolute;
875
+ top: 0;
876
+ left: 0;
877
+ width: 100%;
878
+ height: 100%;
879
+ z-index: 5;
880
+ content: "";
881
+ pointer-events: none;
882
+ outline: 1px solid;
883
+ outline-width: -1px;
884
+ outline-style: solid;
885
+ outline-offset: -1px;
886
+ outline-color: var(--dv-paneview-active-outline-color);
887
+ }
888
+ .dv-pane-container .dv-pane .dv-pane-body {
889
+ overflow-y: auto;
890
+ overflow-x: hidden;
891
+ flex-grow: 1;
892
+ position: relative;
893
+ outline: none;
894
+ }
895
+ .dv-pane-container .dv-pane .dv-pane-body:focus:before, .dv-pane-container .dv-pane .dv-pane-body:focus-within:before {
896
+ position: absolute;
897
+ top: 0;
898
+ left: 0;
899
+ width: 100%;
900
+ height: 100%;
901
+ z-index: 5;
902
+ content: "";
903
+ pointer-events: none;
904
+ outline: 1px solid;
905
+ outline-width: -1px;
906
+ outline-style: solid;
907
+ outline-offset: -1px;
908
+ outline-color: var(--dv-paneview-active-outline-color);
909
+ }
910
+ .dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled {
911
+ background-color: black;
912
+ }
913
+ .dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled {
914
+ background-color: orange;
915
+ }
916
+ .dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum {
917
+ background-color: green;
918
+ }
919
+ .dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum {
920
+ background-color: red;
921
+ }
922
+
923
+ .dv-split-view-container {
924
+ position: relative;
925
+ overflow: hidden;
926
+ height: 100%;
927
+ width: 100%;
928
+ }
929
+ .dv-split-view-container.dv-splitview-disabled > .dv-sash-container > .dv-sash {
930
+ pointer-events: none;
931
+ }
932
+ .dv-split-view-container.dv-animation .dv-view,
933
+ .dv-split-view-container.dv-animation .dv-sash {
934
+ transition-duration: 0.15s;
935
+ transition-timing-function: ease-out;
936
+ }
937
+ .dv-split-view-container.dv-horizontal {
938
+ height: 100%;
939
+ }
940
+ .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash {
941
+ height: 100%;
942
+ width: 4px;
943
+ }
944
+ .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled {
945
+ cursor: ew-resize;
946
+ }
947
+ .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-disabled {
948
+ cursor: default;
949
+ }
950
+ .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-maximum {
951
+ cursor: w-resize;
952
+ }
953
+ .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-minimum {
954
+ cursor: e-resize;
955
+ }
956
+ .dv-split-view-container.dv-horizontal > .dv-view-container > .dv-view:not(:first-child)::before {
957
+ height: 100%;
958
+ width: 1px;
959
+ }
960
+ .dv-split-view-container.dv-vertical {
961
+ width: 100%;
962
+ }
963
+ .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash {
964
+ width: 100%;
965
+ height: 4px;
966
+ }
967
+ .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled {
968
+ cursor: ns-resize;
969
+ }
970
+ .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-disabled {
971
+ cursor: default;
972
+ }
973
+ .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-maximum {
974
+ cursor: n-resize;
975
+ }
976
+ .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-minimum {
977
+ cursor: s-resize;
978
+ }
979
+ .dv-split-view-container.dv-vertical > .dv-view-container > .dv-view {
980
+ width: 100%;
981
+ }
982
+ .dv-split-view-container.dv-vertical > .dv-view-container > .dv-view:not(:first-child)::before {
983
+ height: 1px;
984
+ width: 100%;
985
+ }
986
+ .dv-split-view-container .dv-sash-container {
987
+ height: 100%;
988
+ width: 100%;
989
+ position: absolute;
990
+ }
991
+ .dv-split-view-container .dv-sash-container .dv-sash {
992
+ position: absolute;
993
+ z-index: 99;
994
+ outline: none;
995
+ user-select: none;
996
+ -webkit-user-select: none;
997
+ -moz-user-select: none;
998
+ -ms-user-select: none;
999
+ touch-action: none;
1000
+ background-color: var(--dv-sash-color, transparent);
1001
+ }
1002
+ .dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active, .dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):hover {
1003
+ background-color: var(--dv-active-sash-color, transparent);
1004
+ transition-property: background-color;
1005
+ transition-timing-function: ease-in-out;
1006
+ transition-duration: var(--dv-active-sash-transition-duration, 0.1s);
1007
+ transition-delay: var(--dv-active-sash-transition-delay, 0.5s);
1008
+ }
1009
+ .dv-split-view-container .dv-view-container {
1010
+ position: relative;
1011
+ height: 100%;
1012
+ width: 100%;
1013
+ }
1014
+ .dv-split-view-container .dv-view-container .dv-view {
1015
+ height: 100%;
1016
+ box-sizing: border-box;
1017
+ overflow: auto;
1018
+ position: absolute;
1019
+ }
1020
+ .dv-split-view-container.dv-separator-border .dv-view:not(:first-child)::before {
1021
+ content: " ";
1022
+ position: absolute;
1023
+ top: 0;
1024
+ left: 0;
1025
+ z-index: 5;
1026
+ pointer-events: none;
1027
+ background-color: var(--dv-separator-border);
1028
+ }
1029
+ .dv-dragged {
1030
+ transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */
1031
+ }
1032
+
1033
+ .dv-tab {
1034
+ flex-shrink: 0;
1035
+ }
1036
+ .dv-tab:focus-within, .dv-tab:focus {
1037
+ position: relative;
1038
+ }
1039
+ .dv-tab:focus-within::after, .dv-tab:focus::after {
1040
+ position: absolute;
1041
+ content: "";
1042
+ height: 100%;
1043
+ width: 100%;
1044
+ top: 0px;
1045
+ left: 0px;
1046
+ pointer-events: none;
1047
+ outline: 1px solid var(--dv-tab-divider-color) !important;
1048
+ outline-offset: -1px;
1049
+ z-index: 5;
1050
+ }
1051
+ .dv-tab.dv-tab-dragging .dv-default-tab-action {
1052
+ background-color: var(--dv-activegroup-visiblepanel-tab-color);
1053
+ }
1054
+ .dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action {
1055
+ visibility: visible;
1056
+ }
1057
+ .dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {
1058
+ visibility: hidden;
1059
+ }
1060
+ .dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {
1061
+ visibility: visible;
1062
+ }
1063
+ .dv-tab .dv-default-tab {
1064
+ position: relative;
1065
+ height: 100%;
1066
+ display: flex;
1067
+ align-items: center;
1068
+ white-space: nowrap;
1069
+ text-overflow: ellipsis;
1070
+ }
1071
+ .dv-tab .dv-default-tab .dv-default-tab-content {
1072
+ flex-grow: 1;
1073
+ margin-right: 4px;
1074
+ }
1075
+ .dv-tab .dv-default-tab .dv-default-tab-action {
1076
+ padding: 4px;
1077
+ display: flex;
1078
+ align-items: center;
1079
+ justify-content: center;
1080
+ box-sizing: border-box;
1081
+ }
1082
+ .dv-tab .dv-default-tab .dv-default-tab-action:hover {
1083
+ border-radius: 2px;
1084
+ background-color: var(--dv-icon-hover-background-color);
1085
+ }
1086
+ .dv-tabs-overflow-dropdown-default {
1087
+ height: 100%;
1088
+ color: var(--dv-activegroup-hiddenpanel-tab-color);
1089
+ margin: var(--dv-tab-margin);
1090
+ display: flex;
1091
+ align-items: center;
1092
+ flex-shrink: 0;
1093
+ padding: 0.25rem 0.5rem;
1094
+ cursor: pointer;
1095
+ }
1096
+ .dv-tabs-overflow-dropdown-default > span {
1097
+ padding-left: 0.25rem;
1098
+ }
1099
+ .dv-tabs-overflow-dropdown-default > svg {
1100
+ transform: rotate(90deg);
1101
+ }
1102
+ .dv-tabs-container {
1103
+ display: flex;
1104
+ height: 100%;
1105
+ overflow: auto;
1106
+ scrollbar-width: thin;
1107
+ /* Track */
1108
+ /* Handle */
1109
+ }
1110
+ .dv-tabs-container.dv-horizontal .dv-tab:not(:first-child)::before {
1111
+ content: " ";
1112
+ position: absolute;
1113
+ top: 0;
1114
+ left: 0;
1115
+ z-index: 5;
1116
+ pointer-events: none;
1117
+ background-color: var(--dv-tab-divider-color);
1118
+ width: 1px;
1119
+ height: 100%;
1120
+ }
1121
+ .dv-tabs-container::-webkit-scrollbar {
1122
+ height: 3px;
1123
+ }
1124
+ .dv-tabs-container::-webkit-scrollbar-track {
1125
+ background: transparent;
1126
+ }
1127
+ .dv-tabs-container::-webkit-scrollbar-thumb {
1128
+ background: var(--dv-tabs-container-scrollbar-color);
1129
+ }
1130
+
1131
+ .dv-scrollable > .dv-tabs-container {
1132
+ overflow: hidden;
1133
+ }
1134
+
1135
+ .dv-tab {
1136
+ -webkit-user-drag: element;
1137
+ outline: none;
1138
+ padding: 0.25rem 0.5rem;
1139
+ cursor: pointer;
1140
+ position: relative;
1141
+ box-sizing: border-box;
1142
+ font-size: var(--dv-tab-font-size);
1143
+ margin: var(--dv-tab-margin);
1144
+ }
1145
+
1146
+ .dv-tabs-overflow-container {
1147
+ flex-direction: column;
1148
+ height: unset;
1149
+ border: 1px solid var(--dv-tab-divider-color);
1150
+ background-color: var(--dv-group-view-background-color);
1151
+ }
1152
+ .dv-tabs-overflow-container .dv-tab:not(:last-child) {
1153
+ border-bottom: 1px solid var(--dv-tab-divider-color);
1154
+ }
1155
+ .dv-tabs-overflow-container .dv-active-tab {
1156
+ background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
1157
+ color: var(--dv-activegroup-visiblepanel-tab-color);
1158
+ }
1159
+ .dv-tabs-overflow-container .dv-inactive-tab {
1160
+ background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);
1161
+ color: var(--dv-activegroup-hiddenpanel-tab-color);
1162
+ }
1163
+ .dv-tabs-and-actions-container {
1164
+ display: flex;
1165
+ background-color: var(--dv-tabs-and-actions-container-background-color);
1166
+ flex-shrink: 0;
1167
+ box-sizing: border-box;
1168
+ height: var(--dv-tabs-and-actions-container-height);
1169
+ font-size: var(--dv-tabs-and-actions-container-font-size);
1170
+ }
1171
+ .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-scrollable {
1172
+ flex-grow: 1;
1173
+ }
1174
+ .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {
1175
+ flex-grow: 1;
1176
+ }
1177
+ .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {
1178
+ flex-grow: 1;
1179
+ padding: 0px;
1180
+ }
1181
+ .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {
1182
+ flex-grow: 0;
1183
+ }
1184
+ .dv-tabs-and-actions-container .dv-void-container {
1185
+ display: flex;
1186
+ flex-grow: 1;
1187
+ }
1188
+ .dv-tabs-and-actions-container .dv-void-container.dv-draggable {
1189
+ cursor: grab;
1190
+ }
1191
+ .dv-tabs-and-actions-container .dv-right-actions-container {
1192
+ display: flex;
1193
+ }
1194
+ .dv-watermark {
1195
+ display: flex;
1196
+ height: 100%;
1197
+ }
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@arminmajerie/dockview-solid",
3
+ "version": "4.5.0",
4
+ "description": "Zero dependency layout manager supporting tabs, grids and splitviews (SolidJS version)",
5
+ "keywords": [
6
+ "solid",
7
+ "solid-js",
8
+ "solid-component",
9
+ "splitview",
10
+ "gridview",
11
+ "dockview",
12
+ "tabs",
13
+ "layout",
14
+ "layout manager",
15
+ "dock layout",
16
+ "dock",
17
+ "docking",
18
+ "splitter",
19
+ "drag-and-drop",
20
+ "drag",
21
+ "drop"
22
+ ],
23
+ "homepage": "https://github.com/arminmajerie/dockview-solid-port#readme",
24
+ "bugs": {
25
+ "url": "https://github.com/arminmajerie/dockview-solid-port/issues"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/arminmajerie/dockview-solid-port.git"
30
+ },
31
+ "license": "MIT",
32
+ "author": "https://github.com/arminmajerie",
33
+ "main": "./dist/cjs/index.js",
34
+ "module": "./dist/esm/index.js",
35
+ "types": "./dist/esm/index.d.ts",
36
+ "exports": {
37
+ ".": {
38
+ "import": "./dist/esm/index.js",
39
+ "require": "./dist/cjs/index.js",
40
+ "types": "./dist/esm/index.d.ts"
41
+ }
42
+ },
43
+ "source": "scripts/rollupEntryTarget.tsx",
44
+ "files": [
45
+ "dist",
46
+ "README.md"
47
+ ],
48
+ "scripts": {
49
+ "build:bundle": "npm run build",
50
+ "rollup": "npm run clean && npm run build && rollup --config",
51
+ "build:cjs": "cross-env ../../node_modules/.bin/tsc --build ./tsconfig.json --verbose --extendedDiagnostics",
52
+ "build:css": "node scripts/copy-css.js",
53
+ "build:esm": "cross-env ../../node_modules/.bin/tsc --build ./tsconfig.esm.json --verbose --extendedDiagnostics",
54
+ "build": "npm run clean && npm run build:cjs && npm run build:esm && npm run build:css",
55
+ "clean": "rimraf dist/ .build/ .rollup.cache/",
56
+ "prepublishOnly": "npm run rebuild && npm run build ",
57
+ "rebuild": "npm run clean && npm run build"
58
+ },
59
+ "dependencies": {
60
+ "dockview": "file:../dockview"
61
+ },
62
+ "peerDependencies": {
63
+ "solid-js": "^1.8.0"
64
+ },
65
+ "devDependencies": {
66
+ "solid-js": "^1.9.7",
67
+ "rollup-preset-solid": "^3.0.0"
68
+ }
69
+ }