dockview-vue 1.15.2 → 1.16.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.
@@ -165,6 +165,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
165
165
  rootOverlayModel: {},
166
166
  locked: { type: Boolean },
167
167
  disableDnd: { type: Boolean },
168
+ className: {},
168
169
  gap: {},
169
170
  watermarkComponent: {},
170
171
  defaultTabComponent: {},
@@ -207,7 +208,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
207
208
  throw new Error("dockview-vue: getCurrentInstance() returned null");
208
209
  }
209
210
  const frameworkOptions = {
210
- parentElement: el.value,
211
211
  createComponent(options) {
212
212
  const component = findComponent(
213
213
  inst,
@@ -272,14 +272,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
272
272
  );
273
273
  } : void 0
274
274
  };
275
- const dockview = new dockviewCore.DockviewComponent({
275
+ const api = dockviewCore.createDockview(el.value, {
276
276
  ...extractCoreOptions(props),
277
277
  ...frameworkOptions
278
278
  });
279
279
  const { clientWidth, clientHeight } = el.value;
280
- dockview.layout(clientWidth, clientHeight);
281
- instance.value = vue.markRaw(dockview);
282
- emit("ready", { api: new dockviewCore.DockviewApi(dockview) });
280
+ api.layout(clientWidth, clientHeight);
281
+ instance.value = vue.markRaw(api);
282
+ emit("ready", { api });
283
283
  });
284
284
  vue.onBeforeUnmount(() => {
285
285
  if (instance.value) {
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
4
4
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  return value;
6
6
  };
7
- import { PROPERTY_KEYS, DockviewComponent, DockviewApi } from "dockview-core";
7
+ import { PROPERTY_KEYS, createDockview } from "dockview-core";
8
8
  export * from "dockview-core";
9
9
  import { createVNode, render, cloneVNode, defineComponent, ref, watch, onMounted, getCurrentInstance, markRaw, onBeforeUnmount, openBlock, createElementBlock } from "vue";
10
10
  function findComponent(parent, name) {
@@ -164,6 +164,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
164
  rootOverlayModel: {},
165
165
  locked: { type: Boolean },
166
166
  disableDnd: { type: Boolean },
167
+ className: {},
167
168
  gap: {},
168
169
  watermarkComponent: {},
169
170
  defaultTabComponent: {},
@@ -206,7 +207,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
206
207
  throw new Error("dockview-vue: getCurrentInstance() returned null");
207
208
  }
208
209
  const frameworkOptions = {
209
- parentElement: el.value,
210
210
  createComponent(options) {
211
211
  const component = findComponent(
212
212
  inst,
@@ -271,14 +271,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
271
271
  );
272
272
  } : void 0
273
273
  };
274
- const dockview = new DockviewComponent({
274
+ const api = createDockview(el.value, {
275
275
  ...extractCoreOptions(props),
276
276
  ...frameworkOptions
277
277
  });
278
278
  const { clientWidth, clientHeight } = el.value;
279
- dockview.layout(clientWidth, clientHeight);
280
- instance.value = markRaw(dockview);
281
- emit("ready", { api: new DockviewApi(dockview) });
279
+ api.layout(clientWidth, clientHeight);
280
+ instance.value = markRaw(api);
281
+ emit("ready", { api });
282
282
  });
283
283
  onBeforeUnmount(() => {
284
284
  if (instance.value) {
@@ -165,6 +165,7 @@ var __publicField = (obj, key, value) => {
165
165
  rootOverlayModel: {},
166
166
  locked: { type: Boolean },
167
167
  disableDnd: { type: Boolean },
168
+ className: {},
168
169
  gap: {},
169
170
  watermarkComponent: {},
170
171
  defaultTabComponent: {},
@@ -207,7 +208,6 @@ var __publicField = (obj, key, value) => {
207
208
  throw new Error("dockview-vue: getCurrentInstance() returned null");
208
209
  }
209
210
  const frameworkOptions = {
210
- parentElement: el.value,
211
211
  createComponent(options) {
212
212
  const component = findComponent(
213
213
  inst,
@@ -272,14 +272,14 @@ var __publicField = (obj, key, value) => {
272
272
  );
273
273
  } : void 0
274
274
  };
275
- const dockview = new dockviewCore.DockviewComponent({
275
+ const api = dockviewCore.createDockview(el.value, {
276
276
  ...extractCoreOptions(props),
277
277
  ...frameworkOptions
278
278
  });
279
279
  const { clientWidth, clientHeight } = el.value;
280
- dockview.layout(clientWidth, clientHeight);
281
- instance.value = vue.markRaw(dockview);
282
- emit("ready", { api: new dockviewCore.DockviewApi(dockview) });
280
+ api.layout(clientWidth, clientHeight);
281
+ instance.value = vue.markRaw(api);
282
+ emit("ready", { api });
283
283
  });
284
284
  vue.onBeforeUnmount(() => {
285
285
  if (instance.value) {
@@ -1,16 +1,3 @@
1
- .dv-render-overlay {
2
- position: absolute;
3
- z-index: 1;
4
- height: 100%;
5
- }
6
- .dv-render-overlay.dv-render-overlay-float {
7
- z-index: 999;
8
- }
9
-
10
- .dv-debug .dv-render-overlay {
11
- outline: 1px solid red;
12
- outline-offset: -1;
13
- }
14
1
  .dockview-svg {
15
2
  display: inline-block;
16
3
  fill: currentcolor;
@@ -257,7 +244,7 @@
257
244
  .dockview-theme-replit .groupview.inactive-group {
258
245
  border: 1px solid transparent;
259
246
  }
260
- .dockview-theme-replit .vertical > .sash-container > .sash::after {
247
+ .dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {
261
248
  content: "";
262
249
  height: 4px;
263
250
  width: 40px;
@@ -268,10 +255,10 @@
268
255
  background-color: var(--dv-separator-handle-background-color);
269
256
  position: absolute;
270
257
  }
271
- .dockview-theme-replit .vertical > .sash-container > .sash:hover::after {
258
+ .dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {
272
259
  background-color: var(--dv-separator-handle-hover-background-color);
273
260
  }
274
- .dockview-theme-replit .horizontal > .sash-container > .sash::after {
261
+ .dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {
275
262
  content: "";
276
263
  height: 40px;
277
264
  width: 4px;
@@ -282,7 +269,7 @@
282
269
  background-color: var(--dv-separator-handle-background-color);
283
270
  position: absolute;
284
271
  }
285
- .dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {
272
+ .dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {
286
273
  background-color: var(--dv-separator-handle-hover-background-color);
287
274
  }
288
275
  .drop-target {
@@ -319,6 +306,74 @@
319
306
  .drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {
320
307
  border-right: 1px solid var(--dv-drag-over-border-color);
321
308
  }
309
+ .dv-dockview {
310
+ position: relative;
311
+ background-color: var(--dv-group-view-background-color);
312
+ }
313
+ .dv-dockview .dv-watermark-container {
314
+ position: absolute;
315
+ top: 0px;
316
+ left: 0px;
317
+ height: 100%;
318
+ width: 100%;
319
+ z-index: 1;
320
+ }
321
+ .dv-dockview .dv-overlay-render-container {
322
+ position: relative;
323
+ }
324
+
325
+ .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
326
+ background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
327
+ color: var(--dv-activegroup-visiblepanel-tab-color);
328
+ }
329
+ .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {
330
+ background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);
331
+ color: var(--dv-activegroup-hiddenpanel-tab-color);
332
+ }
333
+ .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
334
+ background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);
335
+ color: var(--dv-inactivegroup-visiblepanel-tab-color);
336
+ }
337
+ .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {
338
+ background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);
339
+ color: var(--dv-inactivegroup-hiddenpanel-tab-color);
340
+ }
341
+
342
+ /**
343
+ * when a tab is dragged we lose the above stylings because they are conditional on parent elements
344
+ * therefore we also set some stylings for the dragging event
345
+ **/
346
+ .tab.dv-tab-dragging {
347
+ background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
348
+ color: var(--dv-activegroup-visiblepanel-tab-color);
349
+ }
350
+ .groupview {
351
+ display: flex;
352
+ flex-direction: column;
353
+ height: 100%;
354
+ background-color: var(--dv-group-view-background-color);
355
+ overflow: hidden;
356
+ }
357
+ .groupview:focus {
358
+ outline: none;
359
+ }
360
+ .groupview.empty > .tabs-and-actions-container {
361
+ display: none;
362
+ }
363
+ .groupview > .content-container {
364
+ flex-grow: 1;
365
+ min-height: 0;
366
+ outline: none;
367
+ }
368
+ .dv-root-wrapper {
369
+ height: 100%;
370
+ width: 100%;
371
+ }
372
+ .grid-view,
373
+ .branch-node {
374
+ height: 100%;
375
+ width: 100%;
376
+ }
322
377
  .dv-debug .dv-resize-container .dv-resize-handle-top {
323
378
  background-color: red;
324
379
  }
@@ -344,9 +399,6 @@
344
399
  border: 1px solid var(--dv-tab-divider-color);
345
400
  box-shadow: var(--dv-floating-box-shadow);
346
401
  }
347
- .dv-resize-container.dv-bring-to-front {
348
- z-index: 998;
349
- }
350
402
  .dv-resize-container.dv-resize-container-dragging {
351
403
  opacity: 0.5;
352
404
  }
@@ -422,73 +474,17 @@
422
474
  position: absolute;
423
475
  cursor: se-resize;
424
476
  }
425
- .dv-dockview {
426
- position: relative;
427
- background-color: var(--dv-group-view-background-color);
428
- }
429
- .dv-dockview .dv-watermark-container {
477
+ .dv-render-overlay {
430
478
  position: absolute;
431
- top: 0px;
432
- left: 0px;
433
- height: 100%;
434
- width: 100%;
435
479
  z-index: 1;
436
- }
437
- .dv-dockview .dv-overlay-render-container {
438
- position: relative;
439
- }
440
-
441
- .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
442
- background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
443
- color: var(--dv-activegroup-visiblepanel-tab-color);
444
- }
445
- .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {
446
- background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);
447
- color: var(--dv-activegroup-hiddenpanel-tab-color);
448
- }
449
- .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
450
- background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);
451
- color: var(--dv-inactivegroup-visiblepanel-tab-color);
452
- }
453
- .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {
454
- background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);
455
- color: var(--dv-inactivegroup-hiddenpanel-tab-color);
456
- }
457
-
458
- /**
459
- * when a tab is dragged we lose the above stylings because they are conditional on parent elements
460
- * therefore we also set some stylings for the dragging event
461
- **/
462
- .tab.dv-tab-dragging {
463
- background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
464
- color: var(--dv-activegroup-visiblepanel-tab-color);
465
- }
466
- .groupview {
467
- display: flex;
468
- flex-direction: column;
469
480
  height: 100%;
470
- background-color: var(--dv-group-view-background-color);
471
- overflow: hidden;
472
481
  }
473
- .groupview:focus {
474
- outline: none;
475
- }
476
- .groupview.empty > .tabs-and-actions-container {
477
- display: none;
478
- }
479
- .groupview > .content-container {
480
- flex-grow: 1;
481
- min-height: 0;
482
- outline: none;
483
- }
484
- .dv-root-wrapper {
485
- height: 100%;
486
- width: 100%;
482
+ .dv-render-overlay.dv-render-overlay-float {
483
+ z-index: 998;
487
484
  }
488
- .grid-view,
489
- .branch-node {
490
- height: 100%;
491
- width: 100%;
485
+ .dv-debug .dv-render-overlay {
486
+ outline: 1px solid red;
487
+ outline-offset: -1;
492
488
  }
493
489
  .pane-container {
494
490
  height: 100%;
@@ -744,7 +740,7 @@
744
740
  align-items: center;
745
741
  padding: 0px 8px;
746
742
  white-space: nowrap;
747
- text-overflow: elipsis;
743
+ text-overflow: ellipsis;
748
744
  }
749
745
  .tab .dv-default-tab .dv-default-tab-content {
750
746
  padding: 0px 8px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview-vue",
3
- "version": "1.15.2",
3
+ "version": "1.16.0",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews",
5
5
  "keywords": [
6
6
  "splitview",
@@ -52,6 +52,6 @@
52
52
  "test:cov": "cross-env ../../node_modules/.bin/jest --selectProjects dockview-vue --coverage"
53
53
  },
54
54
  "dependencies": {
55
- "dockview-core": "^1.15.2"
55
+ "dockview-core": "^1.16.0"
56
56
  }
57
57
  }