dockview-vue 6.6.1 → 7.0.2

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 CHANGED
@@ -67,7 +67,7 @@ Use the component in a Vue SFC:
67
67
 
68
68
  <script setup lang="ts">
69
69
  import { DockviewVue } from 'dockview-vue';
70
- import type { DockviewReadyEvent } from 'dockview-core';
70
+ import type { DockviewReadyEvent } from 'dockview-vue';
71
71
 
72
72
  function onReady(event: DockviewReadyEvent) {
73
73
  event.api.addPanel({
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const dockviewCore = require("dockview-core");
3
+ const dockview = require("dockview");
4
4
  const vue = require("vue");
5
5
  function findComponent(parent, name, components) {
6
6
  if (components && components[name]) {
@@ -134,14 +134,14 @@ class VueHeaderActionsRenderer extends AbstractVueRenderer {
134
134
  }
135
135
  group;
136
136
  _renderDisposable;
137
- _mutableDisposable = new dockviewCore.DockviewMutableDisposable();
137
+ _mutableDisposable = new dockview.DockviewMutableDisposable();
138
138
  _baseProps;
139
139
  get element() {
140
140
  return this._element;
141
141
  }
142
142
  init(props) {
143
143
  this._baseProps = props;
144
- this._mutableDisposable.value = new dockviewCore.DockviewCompositeDisposable(
144
+ this._mutableDisposable.value = new dockview.DockviewCompositeDisposable(
145
145
  this.group.model.onDidAddPanel(() => {
146
146
  this.updateProps();
147
147
  }),
@@ -301,13 +301,14 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
301
301
  singleTabMode: {},
302
302
  disableFloatingGroups: { type: Boolean },
303
303
  floatingGroupBounds: {},
304
+ transformFloatingGroupDrag: { type: Function },
305
+ floatingGroupDragHandle: {},
304
306
  popoutUrl: {},
305
307
  nonce: { type: [String, Function] },
306
308
  defaultRenderer: {},
307
309
  defaultHeaderPosition: {},
308
310
  debug: { type: Boolean },
309
311
  dndEdges: { type: [Boolean, Object] },
310
- rootOverlayModel: {},
311
312
  disableDnd: { type: Boolean },
312
313
  dndStrategy: {},
313
314
  locked: { type: Boolean },
@@ -320,6 +321,12 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
320
321
  getTabGroupChipContextMenuItems: { type: Function },
321
322
  createTabGroupChipComponent: { type: Function },
322
323
  createGroupDragGhostComponent: { type: Function },
324
+ dropOverlayModel: { type: Function },
325
+ announcements: { type: Boolean },
326
+ getAnnouncement: { type: Function },
327
+ announcer: { type: Function },
328
+ messages: {},
329
+ keyboardNavigation: { type: [Boolean, Object] },
323
330
  tabGroupColors: {},
324
331
  tabGroupAccent: {},
325
332
  components: {},
@@ -335,7 +342,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
335
342
  emits: ["ready", "didDrop", "willDrop"],
336
343
  setup(__props, { emit: __emit }) {
337
344
  function extractCoreOptions(props2) {
338
- const coreOptions = dockviewCore.PROPERTY_KEYS_DOCKVIEW.reduce((obj, key) => {
345
+ const coreOptions = dockview.PROPERTY_KEYS_DOCKVIEW.reduce((obj, key) => {
339
346
  obj[key] = props2[key];
340
347
  return obj;
341
348
  }, {});
@@ -346,7 +353,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
346
353
  const el = vue.ref(null);
347
354
  const instance = vue.ref(null);
348
355
  const eventDisposables = [];
349
- dockviewCore.PROPERTY_KEYS_DOCKVIEW.forEach((coreOptionKey) => {
356
+ dockview.PROPERTY_KEYS_DOCKVIEW.forEach((coreOptionKey) => {
350
357
  vue.watch(
351
358
  () => props[coreOptionKey],
352
359
  (newValue, oldValue) => {
@@ -561,7 +568,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
561
568
  return new VueGroupDragGhostRenderer(component, inst);
562
569
  };
563
570
  }
564
- const api = dockviewCore.createDockview(el.value, {
571
+ const api = dockview.createDockview(el.value, {
565
572
  ...coreOptions,
566
573
  ...frameworkOptions
567
574
  });
@@ -682,7 +689,7 @@ function useViewComponent(config, props, emit) {
682
689
  instance
683
690
  };
684
691
  }
685
- class VueSplitviewPanelView extends dockviewCore.SplitviewPanel {
692
+ class VueSplitviewPanelView extends dockview.SplitviewPanel {
686
693
  constructor(id, component, vueComponent, parent) {
687
694
  super(id, component);
688
695
  this.vueComponent = vueComponent;
@@ -694,7 +701,7 @@ class VueSplitviewPanelView extends dockviewCore.SplitviewPanel {
694
701
  const part = new VuePart(this.element, this.vueComponent, this.parent, {
695
702
  params: this._params?.params ?? {},
696
703
  api: this.api,
697
- containerApi: new dockviewCore.SplitviewApi(this._params.accessor)
704
+ containerApi: new dockview.SplitviewApi(this._params.accessor)
698
705
  });
699
706
  part.init();
700
707
  return part;
@@ -715,7 +722,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
715
722
  emits: ["ready"],
716
723
  setup(__props, { emit: __emit }) {
717
724
  function extractCoreOptions(props2) {
718
- const coreOptions = dockviewCore.PROPERTY_KEYS_SPLITVIEW.reduce((obj, key) => {
725
+ const coreOptions = dockview.PROPERTY_KEYS_SPLITVIEW.reduce((obj, key) => {
719
726
  obj[key] = props2[key];
720
727
  return obj;
721
728
  }, {});
@@ -726,8 +733,8 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
726
733
  const { el } = useViewComponent(
727
734
  {
728
735
  componentName: "splitview-vue",
729
- propertyKeys: dockviewCore.PROPERTY_KEYS_SPLITVIEW,
730
- createApi: dockviewCore.createSplitview,
736
+ propertyKeys: dockview.PROPERTY_KEYS_SPLITVIEW,
737
+ createApi: dockview.createSplitview,
731
738
  createView: (id, name, component, instance) => new VueSplitviewPanelView(id, name, component, instance),
732
739
  extractCoreOptions
733
740
  },
@@ -743,7 +750,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
743
750
  };
744
751
  }
745
752
  });
746
- class VueGridviewPanelView extends dockviewCore.GridviewPanel {
753
+ class VueGridviewPanelView extends dockview.GridviewPanel {
747
754
  constructor(id, component, vueComponent, parent) {
748
755
  super(id, component);
749
756
  this.vueComponent = vueComponent;
@@ -755,7 +762,7 @@ class VueGridviewPanelView extends dockviewCore.GridviewPanel {
755
762
  const part = new VuePart(this.element, this.vueComponent, this.parent, {
756
763
  params: this._params?.params ?? {},
757
764
  api: this.api,
758
- containerApi: new dockviewCore.GridviewApi(this._params.accessor)
765
+ containerApi: new dockview.GridviewApi(this._params.accessor)
759
766
  });
760
767
  part.init();
761
768
  return part;
@@ -774,7 +781,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
774
781
  emits: ["ready"],
775
782
  setup(__props, { emit: __emit }) {
776
783
  function extractCoreOptions(props2) {
777
- const coreOptions = dockviewCore.PROPERTY_KEYS_GRIDVIEW.reduce((obj, key) => {
784
+ const coreOptions = dockview.PROPERTY_KEYS_GRIDVIEW.reduce((obj, key) => {
778
785
  obj[key] = props2[key];
779
786
  return obj;
780
787
  }, {});
@@ -785,8 +792,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
785
792
  const { el } = useViewComponent(
786
793
  {
787
794
  componentName: "gridview-vue",
788
- propertyKeys: dockviewCore.PROPERTY_KEYS_GRIDVIEW,
789
- createApi: dockviewCore.createGridview,
795
+ propertyKeys: dockview.PROPERTY_KEYS_GRIDVIEW,
796
+ createApi: dockview.createGridview,
790
797
  createView: (id, name, component, instance) => new VueGridviewPanelView(id, name, component, instance),
791
798
  extractCoreOptions
792
799
  },
@@ -851,7 +858,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
851
858
  emits: ["ready", "didDrop"],
852
859
  setup(__props, { emit: __emit }) {
853
860
  function extractCoreOptions(props2) {
854
- const coreOptions = dockviewCore.PROPERTY_KEYS_PANEVIEW.reduce((obj, key) => {
861
+ const coreOptions = dockview.PROPERTY_KEYS_PANEVIEW.reduce((obj, key) => {
855
862
  obj[key] = props2[key];
856
863
  return obj;
857
864
  }, {});
@@ -862,8 +869,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
862
869
  const { el } = useViewComponent(
863
870
  {
864
871
  componentName: "paneview-vue",
865
- propertyKeys: dockviewCore.PROPERTY_KEYS_PANEVIEW,
866
- createApi: dockviewCore.createPaneview,
872
+ propertyKeys: dockview.PROPERTY_KEYS_PANEVIEW,
873
+ createApi: dockview.createPaneview,
867
874
  createView: (id, name, component, instance) => new VuePaneviewPanelView(id, component, instance),
868
875
  extractCoreOptions,
869
876
  onApiCreated: (api) => [
@@ -896,9 +903,9 @@ exports.VueWatermarkRenderer = VueWatermarkRenderer;
896
903
  exports.findComponent = findComponent;
897
904
  exports.mountVueComponent = mountVueComponent;
898
905
  exports.resolveComponent = resolveComponent;
899
- Object.keys(dockviewCore).forEach((k) => {
906
+ Object.keys(dockview).forEach((k) => {
900
907
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
901
908
  enumerable: true,
902
- get: () => dockviewCore[k]
909
+ get: () => dockview[k]
903
910
  });
904
911
  });
@@ -1,5 +1,5 @@
1
- import { DockviewMutableDisposable, DockviewCompositeDisposable, PROPERTY_KEYS_DOCKVIEW, createDockview, SplitviewPanel, SplitviewApi, createSplitview, PROPERTY_KEYS_SPLITVIEW, GridviewPanel, GridviewApi, createGridview, PROPERTY_KEYS_GRIDVIEW, createPaneview, PROPERTY_KEYS_PANEVIEW } from "dockview-core";
2
- export * from "dockview-core";
1
+ import { DockviewMutableDisposable, DockviewCompositeDisposable, PROPERTY_KEYS_DOCKVIEW, createDockview, SplitviewPanel, SplitviewApi, createSplitview, PROPERTY_KEYS_SPLITVIEW, GridviewPanel, GridviewApi, createGridview, PROPERTY_KEYS_GRIDVIEW, createPaneview, PROPERTY_KEYS_PANEVIEW } from "dockview";
2
+ export * from "dockview";
3
3
  import { createVNode, render, cloneVNode, defineComponent, ref, watch, getCurrentInstance, onMounted, markRaw, onBeforeUnmount, openBlock, createElementBlock } from "vue";
4
4
  function findComponent(parent, name, components) {
5
5
  if (components && components[name]) {
@@ -300,13 +300,14 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
300
300
  singleTabMode: {},
301
301
  disableFloatingGroups: { type: Boolean },
302
302
  floatingGroupBounds: {},
303
+ transformFloatingGroupDrag: { type: Function },
304
+ floatingGroupDragHandle: {},
303
305
  popoutUrl: {},
304
306
  nonce: { type: [String, Function] },
305
307
  defaultRenderer: {},
306
308
  defaultHeaderPosition: {},
307
309
  debug: { type: Boolean },
308
310
  dndEdges: { type: [Boolean, Object] },
309
- rootOverlayModel: {},
310
311
  disableDnd: { type: Boolean },
311
312
  dndStrategy: {},
312
313
  locked: { type: Boolean },
@@ -319,6 +320,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
319
320
  getTabGroupChipContextMenuItems: { type: Function },
320
321
  createTabGroupChipComponent: { type: Function },
321
322
  createGroupDragGhostComponent: { type: Function },
323
+ dropOverlayModel: { type: Function },
324
+ announcements: { type: Boolean },
325
+ getAnnouncement: { type: Function },
326
+ announcer: { type: Function },
327
+ messages: {},
328
+ keyboardNavigation: { type: [Boolean, Object] },
322
329
  tabGroupColors: {},
323
330
  tabGroupAccent: {},
324
331
  components: {},
@@ -1,6 +1,6 @@
1
1
  (function(global, factory) {
2
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("dockview-core"), require("vue")) : typeof define === "function" && define.amd ? define(["exports", "dockview-core", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["dockview-vue"] = {}, global.DockviewCore, global.Vue));
3
- })(this, (function(exports2, dockviewCore, vue) {
2
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("dockview"), require("vue")) : typeof define === "function" && define.amd ? define(["exports", "dockview", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["dockview-vue"] = {}, global.dockview, global.Vue));
3
+ })(this, (function(exports2, dockview, vue) {
4
4
  "use strict";
5
5
  function findComponent(parent, name, components) {
6
6
  if (components && components[name]) {
@@ -134,14 +134,14 @@
134
134
  }
135
135
  group;
136
136
  _renderDisposable;
137
- _mutableDisposable = new dockviewCore.DockviewMutableDisposable();
137
+ _mutableDisposable = new dockview.DockviewMutableDisposable();
138
138
  _baseProps;
139
139
  get element() {
140
140
  return this._element;
141
141
  }
142
142
  init(props) {
143
143
  this._baseProps = props;
144
- this._mutableDisposable.value = new dockviewCore.DockviewCompositeDisposable(
144
+ this._mutableDisposable.value = new dockview.DockviewCompositeDisposable(
145
145
  this.group.model.onDidAddPanel(() => {
146
146
  this.updateProps();
147
147
  }),
@@ -301,13 +301,14 @@
301
301
  singleTabMode: {},
302
302
  disableFloatingGroups: { type: Boolean },
303
303
  floatingGroupBounds: {},
304
+ transformFloatingGroupDrag: { type: Function },
305
+ floatingGroupDragHandle: {},
304
306
  popoutUrl: {},
305
307
  nonce: { type: [String, Function] },
306
308
  defaultRenderer: {},
307
309
  defaultHeaderPosition: {},
308
310
  debug: { type: Boolean },
309
311
  dndEdges: { type: [Boolean, Object] },
310
- rootOverlayModel: {},
311
312
  disableDnd: { type: Boolean },
312
313
  dndStrategy: {},
313
314
  locked: { type: Boolean },
@@ -320,6 +321,12 @@
320
321
  getTabGroupChipContextMenuItems: { type: Function },
321
322
  createTabGroupChipComponent: { type: Function },
322
323
  createGroupDragGhostComponent: { type: Function },
324
+ dropOverlayModel: { type: Function },
325
+ announcements: { type: Boolean },
326
+ getAnnouncement: { type: Function },
327
+ announcer: { type: Function },
328
+ messages: {},
329
+ keyboardNavigation: { type: [Boolean, Object] },
323
330
  tabGroupColors: {},
324
331
  tabGroupAccent: {},
325
332
  components: {},
@@ -335,7 +342,7 @@
335
342
  emits: ["ready", "didDrop", "willDrop"],
336
343
  setup(__props, { emit: __emit }) {
337
344
  function extractCoreOptions(props2) {
338
- const coreOptions = dockviewCore.PROPERTY_KEYS_DOCKVIEW.reduce((obj, key) => {
345
+ const coreOptions = dockview.PROPERTY_KEYS_DOCKVIEW.reduce((obj, key) => {
339
346
  obj[key] = props2[key];
340
347
  return obj;
341
348
  }, {});
@@ -346,7 +353,7 @@
346
353
  const el = vue.ref(null);
347
354
  const instance = vue.ref(null);
348
355
  const eventDisposables = [];
349
- dockviewCore.PROPERTY_KEYS_DOCKVIEW.forEach((coreOptionKey) => {
356
+ dockview.PROPERTY_KEYS_DOCKVIEW.forEach((coreOptionKey) => {
350
357
  vue.watch(
351
358
  () => props[coreOptionKey],
352
359
  (newValue, oldValue) => {
@@ -561,7 +568,7 @@
561
568
  return new VueGroupDragGhostRenderer(component, inst);
562
569
  };
563
570
  }
564
- const api = dockviewCore.createDockview(el.value, {
571
+ const api = dockview.createDockview(el.value, {
565
572
  ...coreOptions,
566
573
  ...frameworkOptions
567
574
  });
@@ -682,7 +689,7 @@
682
689
  instance
683
690
  };
684
691
  }
685
- class VueSplitviewPanelView extends dockviewCore.SplitviewPanel {
692
+ class VueSplitviewPanelView extends dockview.SplitviewPanel {
686
693
  constructor(id, component, vueComponent, parent) {
687
694
  super(id, component);
688
695
  this.vueComponent = vueComponent;
@@ -694,7 +701,7 @@
694
701
  const part = new VuePart(this.element, this.vueComponent, this.parent, {
695
702
  params: this._params?.params ?? {},
696
703
  api: this.api,
697
- containerApi: new dockviewCore.SplitviewApi(this._params.accessor)
704
+ containerApi: new dockview.SplitviewApi(this._params.accessor)
698
705
  });
699
706
  part.init();
700
707
  return part;
@@ -715,7 +722,7 @@
715
722
  emits: ["ready"],
716
723
  setup(__props, { emit: __emit }) {
717
724
  function extractCoreOptions(props2) {
718
- const coreOptions = dockviewCore.PROPERTY_KEYS_SPLITVIEW.reduce((obj, key) => {
725
+ const coreOptions = dockview.PROPERTY_KEYS_SPLITVIEW.reduce((obj, key) => {
719
726
  obj[key] = props2[key];
720
727
  return obj;
721
728
  }, {});
@@ -726,8 +733,8 @@
726
733
  const { el } = useViewComponent(
727
734
  {
728
735
  componentName: "splitview-vue",
729
- propertyKeys: dockviewCore.PROPERTY_KEYS_SPLITVIEW,
730
- createApi: dockviewCore.createSplitview,
736
+ propertyKeys: dockview.PROPERTY_KEYS_SPLITVIEW,
737
+ createApi: dockview.createSplitview,
731
738
  createView: (id, name, component, instance) => new VueSplitviewPanelView(id, name, component, instance),
732
739
  extractCoreOptions
733
740
  },
@@ -743,7 +750,7 @@
743
750
  };
744
751
  }
745
752
  });
746
- class VueGridviewPanelView extends dockviewCore.GridviewPanel {
753
+ class VueGridviewPanelView extends dockview.GridviewPanel {
747
754
  constructor(id, component, vueComponent, parent) {
748
755
  super(id, component);
749
756
  this.vueComponent = vueComponent;
@@ -755,7 +762,7 @@
755
762
  const part = new VuePart(this.element, this.vueComponent, this.parent, {
756
763
  params: this._params?.params ?? {},
757
764
  api: this.api,
758
- containerApi: new dockviewCore.GridviewApi(this._params.accessor)
765
+ containerApi: new dockview.GridviewApi(this._params.accessor)
759
766
  });
760
767
  part.init();
761
768
  return part;
@@ -774,7 +781,7 @@
774
781
  emits: ["ready"],
775
782
  setup(__props, { emit: __emit }) {
776
783
  function extractCoreOptions(props2) {
777
- const coreOptions = dockviewCore.PROPERTY_KEYS_GRIDVIEW.reduce((obj, key) => {
784
+ const coreOptions = dockview.PROPERTY_KEYS_GRIDVIEW.reduce((obj, key) => {
778
785
  obj[key] = props2[key];
779
786
  return obj;
780
787
  }, {});
@@ -785,8 +792,8 @@
785
792
  const { el } = useViewComponent(
786
793
  {
787
794
  componentName: "gridview-vue",
788
- propertyKeys: dockviewCore.PROPERTY_KEYS_GRIDVIEW,
789
- createApi: dockviewCore.createGridview,
795
+ propertyKeys: dockview.PROPERTY_KEYS_GRIDVIEW,
796
+ createApi: dockview.createGridview,
790
797
  createView: (id, name, component, instance) => new VueGridviewPanelView(id, name, component, instance),
791
798
  extractCoreOptions
792
799
  },
@@ -851,7 +858,7 @@
851
858
  emits: ["ready", "didDrop"],
852
859
  setup(__props, { emit: __emit }) {
853
860
  function extractCoreOptions(props2) {
854
- const coreOptions = dockviewCore.PROPERTY_KEYS_PANEVIEW.reduce((obj, key) => {
861
+ const coreOptions = dockview.PROPERTY_KEYS_PANEVIEW.reduce((obj, key) => {
855
862
  obj[key] = props2[key];
856
863
  return obj;
857
864
  }, {});
@@ -862,8 +869,8 @@
862
869
  const { el } = useViewComponent(
863
870
  {
864
871
  componentName: "paneview-vue",
865
- propertyKeys: dockviewCore.PROPERTY_KEYS_PANEVIEW,
866
- createApi: dockviewCore.createPaneview,
872
+ propertyKeys: dockview.PROPERTY_KEYS_PANEVIEW,
873
+ createApi: dockview.createPaneview,
867
874
  createView: (id, name, component, instance) => new VuePaneviewPanelView(id, component, instance),
868
875
  extractCoreOptions,
869
876
  onApiCreated: (api) => [
@@ -896,10 +903,10 @@
896
903
  exports2.findComponent = findComponent;
897
904
  exports2.mountVueComponent = mountVueComponent;
898
905
  exports2.resolveComponent = resolveComponent;
899
- Object.keys(dockviewCore).forEach((k) => {
906
+ Object.keys(dockview).forEach((k) => {
900
907
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports2, k)) Object.defineProperty(exports2, k, {
901
908
  enumerable: true,
902
- get: () => dockviewCore[k]
909
+ get: () => dockview[k]
903
910
  });
904
911
  });
905
912
  Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
@@ -62,6 +62,11 @@
62
62
  --dv-floating-group-border: none;
63
63
  --dv-drag-over-border: none;
64
64
  --dv-floating-group-dragging-opacity: 0.5;
65
+ --dv-floating-titlebar-height: 22px;
66
+ --dv-floating-titlebar-background-color: var(
67
+ --dv-tabs-and-actions-container-background-color
68
+ );
69
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
65
70
  --dv-tab-group-color-grey: #5f6368;
66
71
  --dv-tab-group-color-blue: #1a73e8;
67
72
  --dv-tab-group-color-red: #d93025;
@@ -124,6 +129,11 @@
124
129
  --dv-floating-group-border: none;
125
130
  --dv-drag-over-border: none;
126
131
  --dv-floating-group-dragging-opacity: 0.5;
132
+ --dv-floating-titlebar-height: 22px;
133
+ --dv-floating-titlebar-background-color: var(
134
+ --dv-tabs-and-actions-container-background-color
135
+ );
136
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
127
137
  --dv-tab-group-color-grey: #5f6368;
128
138
  --dv-tab-group-color-blue: #1a73e8;
129
139
  --dv-tab-group-color-red: #d93025;
@@ -190,6 +200,11 @@
190
200
  --dv-floating-group-border: none;
191
201
  --dv-drag-over-border: none;
192
202
  --dv-floating-group-dragging-opacity: 0.5;
203
+ --dv-floating-titlebar-height: 22px;
204
+ --dv-floating-titlebar-background-color: var(
205
+ --dv-tabs-and-actions-container-background-color
206
+ );
207
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
193
208
  --dv-tab-group-color-grey: #5f6368;
194
209
  --dv-tab-group-color-blue: #1a73e8;
195
210
  --dv-tab-group-color-red: #d93025;
@@ -281,6 +296,11 @@
281
296
  --dv-floating-group-border: none;
282
297
  --dv-drag-over-border: none;
283
298
  --dv-floating-group-dragging-opacity: 0.5;
299
+ --dv-floating-titlebar-height: 22px;
300
+ --dv-floating-titlebar-background-color: var(
301
+ --dv-tabs-and-actions-container-background-color
302
+ );
303
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
284
304
  --dv-tab-group-color-grey: #5f6368;
285
305
  --dv-tab-group-color-blue: #1a73e8;
286
306
  --dv-tab-group-color-red: #d93025;
@@ -357,6 +377,11 @@
357
377
  --dv-floating-group-border: none;
358
378
  --dv-drag-over-border: none;
359
379
  --dv-floating-group-dragging-opacity: 0.5;
380
+ --dv-floating-titlebar-height: 22px;
381
+ --dv-floating-titlebar-background-color: var(
382
+ --dv-tabs-and-actions-container-background-color
383
+ );
384
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
360
385
  --dv-tab-group-color-grey: #5f6368;
361
386
  --dv-tab-group-color-blue: #1a73e8;
362
387
  --dv-tab-group-color-red: #d93025;
@@ -398,7 +423,7 @@
398
423
  .dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after {
399
424
  position: absolute;
400
425
  left: 0px;
401
- top: 0px;
426
+ bottom: 0px;
402
427
  content: "";
403
428
  width: 100%;
404
429
  height: 1px;
@@ -446,6 +471,11 @@
446
471
  --dv-floating-group-border: none;
447
472
  --dv-drag-over-border: none;
448
473
  --dv-floating-group-dragging-opacity: 0.5;
474
+ --dv-floating-titlebar-height: 22px;
475
+ --dv-floating-titlebar-background-color: var(
476
+ --dv-tabs-and-actions-container-background-color
477
+ );
478
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
449
479
  --dv-tab-group-color-grey: #5f6368;
450
480
  --dv-tab-group-color-blue: #1a73e8;
451
481
  --dv-tab-group-color-red: #d93025;
@@ -553,6 +583,11 @@
553
583
  --dv-floating-group-border: none;
554
584
  --dv-drag-over-border: none;
555
585
  --dv-floating-group-dragging-opacity: 0.5;
586
+ --dv-floating-titlebar-height: 22px;
587
+ --dv-floating-titlebar-background-color: var(
588
+ --dv-tabs-and-actions-container-background-color
589
+ );
590
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
556
591
  --dv-tab-group-color-grey: #5f6368;
557
592
  --dv-tab-group-color-blue: #1a73e8;
558
593
  --dv-tab-group-color-red: #d93025;
@@ -569,7 +604,7 @@
569
604
  --dv-tab-group-line-opacity: 0.6;
570
605
  --dv-spacing-padding: 10px;
571
606
  --dv-tab-font-size: 12px;
572
- --dv-border-radius: 20px;
607
+ --dv-border-radius: 12px;
573
608
  --dv-tab-margin: 0.5rem 0.25rem;
574
609
  --dv-tabs-and-actions-container-height: 44px;
575
610
  --dv-tab-border-radius: 8px;
@@ -577,6 +612,10 @@
577
612
  --dv-dropdown-border-radius: 8px;
578
613
  --dv-tab-close-icon-size: 8px;
579
614
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
615
+ --dv-floating-titlebar-background-color: var(
616
+ --dv-group-view-background-color
617
+ );
618
+ --dv-floating-titlebar-border-bottom: none;
580
619
  box-sizing: border-box;
581
620
  padding: var(--dv-spacing-padding);
582
621
  background-color: var(--dv-group-view-background-color);
@@ -603,6 +642,17 @@
603
642
  .dockview-theme-nord-spaced .dv-resize-container .dv-groupview {
604
643
  border: var(--dv-floating-group-border);
605
644
  }
645
+ .dockview-theme-nord-spaced .dv-resize-container > .dv-grid-view {
646
+ box-sizing: border-box;
647
+ padding: var(--dv-spacing-padding);
648
+ }
649
+ .dockview-theme-nord-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
650
+ padding-top: 0;
651
+ }
652
+ .dockview-theme-nord-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
653
+ border-top-left-radius: var(--dv-border-radius);
654
+ border-top-right-radius: var(--dv-border-radius);
655
+ }
606
656
  .dockview-theme-nord-spaced .dv-tabs-overflow-container,
607
657
  .dockview-theme-nord-spaced .dv-tabs-overflow-dropdown-default {
608
658
  border-radius: var(--dv-dropdown-border-radius);
@@ -627,6 +677,8 @@
627
677
  }
628
678
  .dockview-theme-nord-spaced .dv-groupview .dv-tabs-and-actions-container {
629
679
  padding: 0px calc(var(--dv-border-radius) / 2);
680
+ border-top-left-radius: var(--dv-border-radius);
681
+ border-top-right-radius: var(--dv-border-radius);
630
682
  }
631
683
  .dockview-theme-nord-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
632
684
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -699,6 +751,11 @@
699
751
  --dv-floating-group-border: none;
700
752
  --dv-drag-over-border: none;
701
753
  --dv-floating-group-dragging-opacity: 0.5;
754
+ --dv-floating-titlebar-height: 22px;
755
+ --dv-floating-titlebar-background-color: var(
756
+ --dv-tabs-and-actions-container-background-color
757
+ );
758
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
702
759
  --dv-tab-group-color-grey: #5f6368;
703
760
  --dv-tab-group-color-blue: #1a73e8;
704
761
  --dv-tab-group-color-red: #d93025;
@@ -760,7 +817,7 @@
760
817
  .dockview-theme-catppuccin-mocha .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after {
761
818
  position: absolute;
762
819
  left: 0px;
763
- top: 0px;
820
+ bottom: 0px;
764
821
  content: "";
765
822
  width: 100%;
766
823
  height: 2px;
@@ -773,7 +830,7 @@
773
830
  .dockview-theme-catppuccin-mocha .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after {
774
831
  position: absolute;
775
832
  left: 0px;
776
- top: 0px;
833
+ bottom: 0px;
777
834
  content: "";
778
835
  width: 100%;
779
836
  height: 2px;
@@ -808,6 +865,11 @@
808
865
  --dv-floating-group-border: none;
809
866
  --dv-drag-over-border: none;
810
867
  --dv-floating-group-dragging-opacity: 0.5;
868
+ --dv-floating-titlebar-height: 22px;
869
+ --dv-floating-titlebar-background-color: var(
870
+ --dv-tabs-and-actions-container-background-color
871
+ );
872
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
811
873
  --dv-tab-group-color-grey: #5f6368;
812
874
  --dv-tab-group-color-blue: #1a73e8;
813
875
  --dv-tab-group-color-red: #d93025;
@@ -824,7 +886,7 @@
824
886
  --dv-tab-group-line-opacity: 0.6;
825
887
  --dv-spacing-padding: 10px;
826
888
  --dv-tab-font-size: 12px;
827
- --dv-border-radius: 20px;
889
+ --dv-border-radius: 12px;
828
890
  --dv-tab-margin: 0.5rem 0.25rem;
829
891
  --dv-tabs-and-actions-container-height: 44px;
830
892
  --dv-tab-border-radius: 8px;
@@ -832,6 +894,10 @@
832
894
  --dv-dropdown-border-radius: 8px;
833
895
  --dv-tab-close-icon-size: 8px;
834
896
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
897
+ --dv-floating-titlebar-background-color: var(
898
+ --dv-group-view-background-color
899
+ );
900
+ --dv-floating-titlebar-border-bottom: none;
835
901
  box-sizing: border-box;
836
902
  padding: var(--dv-spacing-padding);
837
903
  background-color: var(--dv-group-view-background-color);
@@ -858,6 +924,17 @@
858
924
  .dockview-theme-catppuccin-mocha-spaced .dv-resize-container .dv-groupview {
859
925
  border: var(--dv-floating-group-border);
860
926
  }
927
+ .dockview-theme-catppuccin-mocha-spaced .dv-resize-container > .dv-grid-view {
928
+ box-sizing: border-box;
929
+ padding: var(--dv-spacing-padding);
930
+ }
931
+ .dockview-theme-catppuccin-mocha-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
932
+ padding-top: 0;
933
+ }
934
+ .dockview-theme-catppuccin-mocha-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
935
+ border-top-left-radius: var(--dv-border-radius);
936
+ border-top-right-radius: var(--dv-border-radius);
937
+ }
861
938
  .dockview-theme-catppuccin-mocha-spaced .dv-tabs-overflow-container,
862
939
  .dockview-theme-catppuccin-mocha-spaced .dv-tabs-overflow-dropdown-default {
863
940
  border-radius: var(--dv-dropdown-border-radius);
@@ -882,6 +959,8 @@
882
959
  }
883
960
  .dockview-theme-catppuccin-mocha-spaced .dv-groupview .dv-tabs-and-actions-container {
884
961
  padding: 0px calc(var(--dv-border-radius) / 2);
962
+ border-top-left-radius: var(--dv-border-radius);
963
+ border-top-right-radius: var(--dv-border-radius);
885
964
  }
886
965
  .dockview-theme-catppuccin-mocha-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
887
966
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -956,6 +1035,11 @@
956
1035
  --dv-floating-group-border: none;
957
1036
  --dv-drag-over-border: none;
958
1037
  --dv-floating-group-dragging-opacity: 0.5;
1038
+ --dv-floating-titlebar-height: 22px;
1039
+ --dv-floating-titlebar-background-color: var(
1040
+ --dv-tabs-and-actions-container-background-color
1041
+ );
1042
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
959
1043
  --dv-tab-group-color-grey: #5f6368;
960
1044
  --dv-tab-group-color-blue: #1a73e8;
961
1045
  --dv-tab-group-color-red: #d93025;
@@ -1056,6 +1140,11 @@
1056
1140
  --dv-floating-group-border: none;
1057
1141
  --dv-drag-over-border: none;
1058
1142
  --dv-floating-group-dragging-opacity: 0.5;
1143
+ --dv-floating-titlebar-height: 22px;
1144
+ --dv-floating-titlebar-background-color: var(
1145
+ --dv-tabs-and-actions-container-background-color
1146
+ );
1147
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1059
1148
  --dv-tab-group-color-grey: #5f6368;
1060
1149
  --dv-tab-group-color-blue: #1a73e8;
1061
1150
  --dv-tab-group-color-red: #d93025;
@@ -1133,6 +1222,11 @@
1133
1222
  --dv-floating-group-border: none;
1134
1223
  --dv-drag-over-border: none;
1135
1224
  --dv-floating-group-dragging-opacity: 0.5;
1225
+ --dv-floating-titlebar-height: 22px;
1226
+ --dv-floating-titlebar-background-color: var(
1227
+ --dv-tabs-and-actions-container-background-color
1228
+ );
1229
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1136
1230
  --dv-tab-group-color-grey: #5f6368;
1137
1231
  --dv-tab-group-color-blue: #1a73e8;
1138
1232
  --dv-tab-group-color-red: #d93025;
@@ -1149,7 +1243,7 @@
1149
1243
  --dv-tab-group-line-opacity: 0.6;
1150
1244
  --dv-spacing-padding: 10px;
1151
1245
  --dv-tab-font-size: 12px;
1152
- --dv-border-radius: 20px;
1246
+ --dv-border-radius: 12px;
1153
1247
  --dv-tab-margin: 0.5rem 0.25rem;
1154
1248
  --dv-tabs-and-actions-container-height: 44px;
1155
1249
  --dv-tab-border-radius: 8px;
@@ -1157,6 +1251,10 @@
1157
1251
  --dv-dropdown-border-radius: 8px;
1158
1252
  --dv-tab-close-icon-size: 8px;
1159
1253
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
1254
+ --dv-floating-titlebar-background-color: var(
1255
+ --dv-group-view-background-color
1256
+ );
1257
+ --dv-floating-titlebar-border-bottom: none;
1160
1258
  box-sizing: border-box;
1161
1259
  padding: var(--dv-spacing-padding);
1162
1260
  background-color: var(--dv-group-view-background-color);
@@ -1183,6 +1281,17 @@
1183
1281
  .dockview-theme-solarized-light-spaced .dv-resize-container .dv-groupview {
1184
1282
  border: var(--dv-floating-group-border);
1185
1283
  }
1284
+ .dockview-theme-solarized-light-spaced .dv-resize-container > .dv-grid-view {
1285
+ box-sizing: border-box;
1286
+ padding: var(--dv-spacing-padding);
1287
+ }
1288
+ .dockview-theme-solarized-light-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
1289
+ padding-top: 0;
1290
+ }
1291
+ .dockview-theme-solarized-light-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
1292
+ border-top-left-radius: var(--dv-border-radius);
1293
+ border-top-right-radius: var(--dv-border-radius);
1294
+ }
1186
1295
  .dockview-theme-solarized-light-spaced .dv-tabs-overflow-container,
1187
1296
  .dockview-theme-solarized-light-spaced .dv-tabs-overflow-dropdown-default {
1188
1297
  border-radius: var(--dv-dropdown-border-radius);
@@ -1207,6 +1316,8 @@
1207
1316
  }
1208
1317
  .dockview-theme-solarized-light-spaced .dv-groupview .dv-tabs-and-actions-container {
1209
1318
  padding: 0px calc(var(--dv-border-radius) / 2);
1319
+ border-top-left-radius: var(--dv-border-radius);
1320
+ border-top-right-radius: var(--dv-border-radius);
1210
1321
  }
1211
1322
  .dockview-theme-solarized-light-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
1212
1323
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -1275,6 +1386,11 @@
1275
1386
  --dv-floating-group-border: none;
1276
1387
  --dv-drag-over-border: none;
1277
1388
  --dv-floating-group-dragging-opacity: 0.5;
1389
+ --dv-floating-titlebar-height: 22px;
1390
+ --dv-floating-titlebar-background-color: var(
1391
+ --dv-tabs-and-actions-container-background-color
1392
+ );
1393
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1278
1394
  --dv-tab-group-color-grey: #5f6368;
1279
1395
  --dv-tab-group-color-blue: #1a73e8;
1280
1396
  --dv-tab-group-color-red: #d93025;
@@ -1358,6 +1474,11 @@
1358
1474
  --dv-floating-group-border: none;
1359
1475
  --dv-drag-over-border: none;
1360
1476
  --dv-floating-group-dragging-opacity: 0.5;
1477
+ --dv-floating-titlebar-height: 22px;
1478
+ --dv-floating-titlebar-background-color: var(
1479
+ --dv-tabs-and-actions-container-background-color
1480
+ );
1481
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1361
1482
  --dv-tab-group-color-grey: #5f6368;
1362
1483
  --dv-tab-group-color-blue: #1a73e8;
1363
1484
  --dv-tab-group-color-red: #d93025;
@@ -1374,7 +1495,7 @@
1374
1495
  --dv-tab-group-line-opacity: 0.6;
1375
1496
  --dv-spacing-padding: 10px;
1376
1497
  --dv-tab-font-size: 12px;
1377
- --dv-border-radius: 20px;
1498
+ --dv-border-radius: 12px;
1378
1499
  --dv-tab-margin: 0.5rem 0.25rem;
1379
1500
  --dv-tabs-and-actions-container-height: 44px;
1380
1501
  --dv-tab-border-radius: 8px;
@@ -1382,6 +1503,10 @@
1382
1503
  --dv-dropdown-border-radius: 8px;
1383
1504
  --dv-tab-close-icon-size: 8px;
1384
1505
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
1506
+ --dv-floating-titlebar-background-color: var(
1507
+ --dv-group-view-background-color
1508
+ );
1509
+ --dv-floating-titlebar-border-bottom: none;
1385
1510
  box-sizing: border-box;
1386
1511
  padding: var(--dv-spacing-padding);
1387
1512
  background-color: var(--dv-group-view-background-color);
@@ -1408,6 +1533,17 @@
1408
1533
  .dockview-theme-github-dark-spaced .dv-resize-container .dv-groupview {
1409
1534
  border: var(--dv-floating-group-border);
1410
1535
  }
1536
+ .dockview-theme-github-dark-spaced .dv-resize-container > .dv-grid-view {
1537
+ box-sizing: border-box;
1538
+ padding: var(--dv-spacing-padding);
1539
+ }
1540
+ .dockview-theme-github-dark-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
1541
+ padding-top: 0;
1542
+ }
1543
+ .dockview-theme-github-dark-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
1544
+ border-top-left-radius: var(--dv-border-radius);
1545
+ border-top-right-radius: var(--dv-border-radius);
1546
+ }
1411
1547
  .dockview-theme-github-dark-spaced .dv-tabs-overflow-container,
1412
1548
  .dockview-theme-github-dark-spaced .dv-tabs-overflow-dropdown-default {
1413
1549
  border-radius: var(--dv-dropdown-border-radius);
@@ -1432,6 +1568,8 @@
1432
1568
  }
1433
1569
  .dockview-theme-github-dark-spaced .dv-groupview .dv-tabs-and-actions-container {
1434
1570
  padding: 0px calc(var(--dv-border-radius) / 2);
1571
+ border-top-left-radius: var(--dv-border-radius);
1572
+ border-top-right-radius: var(--dv-border-radius);
1435
1573
  }
1436
1574
  .dockview-theme-github-dark-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
1437
1575
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -1506,6 +1644,11 @@
1506
1644
  --dv-floating-group-border: none;
1507
1645
  --dv-drag-over-border: none;
1508
1646
  --dv-floating-group-dragging-opacity: 0.5;
1647
+ --dv-floating-titlebar-height: 22px;
1648
+ --dv-floating-titlebar-background-color: var(
1649
+ --dv-tabs-and-actions-container-background-color
1650
+ );
1651
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1509
1652
  --dv-tab-group-color-grey: #5f6368;
1510
1653
  --dv-tab-group-color-blue: #1a73e8;
1511
1654
  --dv-tab-group-color-red: #d93025;
@@ -1595,6 +1738,11 @@
1595
1738
  --dv-floating-group-border: none;
1596
1739
  --dv-drag-over-border: none;
1597
1740
  --dv-floating-group-dragging-opacity: 0.5;
1741
+ --dv-floating-titlebar-height: 22px;
1742
+ --dv-floating-titlebar-background-color: var(
1743
+ --dv-tabs-and-actions-container-background-color
1744
+ );
1745
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1598
1746
  --dv-tab-group-color-grey: #5f6368;
1599
1747
  --dv-tab-group-color-blue: #1a73e8;
1600
1748
  --dv-tab-group-color-red: #d93025;
@@ -1611,7 +1759,7 @@
1611
1759
  --dv-tab-group-line-opacity: 0.6;
1612
1760
  --dv-spacing-padding: 10px;
1613
1761
  --dv-tab-font-size: 12px;
1614
- --dv-border-radius: 20px;
1762
+ --dv-border-radius: 12px;
1615
1763
  --dv-tab-margin: 0.5rem 0.25rem;
1616
1764
  --dv-tabs-and-actions-container-height: 44px;
1617
1765
  --dv-tab-border-radius: 8px;
@@ -1619,6 +1767,10 @@
1619
1767
  --dv-dropdown-border-radius: 8px;
1620
1768
  --dv-tab-close-icon-size: 8px;
1621
1769
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
1770
+ --dv-floating-titlebar-background-color: var(
1771
+ --dv-group-view-background-color
1772
+ );
1773
+ --dv-floating-titlebar-border-bottom: none;
1622
1774
  box-sizing: border-box;
1623
1775
  padding: var(--dv-spacing-padding);
1624
1776
  background-color: var(--dv-group-view-background-color);
@@ -1645,6 +1797,17 @@
1645
1797
  .dockview-theme-github-light-spaced .dv-resize-container .dv-groupview {
1646
1798
  border: var(--dv-floating-group-border);
1647
1799
  }
1800
+ .dockview-theme-github-light-spaced .dv-resize-container > .dv-grid-view {
1801
+ box-sizing: border-box;
1802
+ padding: var(--dv-spacing-padding);
1803
+ }
1804
+ .dockview-theme-github-light-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
1805
+ padding-top: 0;
1806
+ }
1807
+ .dockview-theme-github-light-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
1808
+ border-top-left-radius: var(--dv-border-radius);
1809
+ border-top-right-radius: var(--dv-border-radius);
1810
+ }
1648
1811
  .dockview-theme-github-light-spaced .dv-tabs-overflow-container,
1649
1812
  .dockview-theme-github-light-spaced .dv-tabs-overflow-dropdown-default {
1650
1813
  border-radius: var(--dv-dropdown-border-radius);
@@ -1669,6 +1832,8 @@
1669
1832
  }
1670
1833
  .dockview-theme-github-light-spaced .dv-groupview .dv-tabs-and-actions-container {
1671
1834
  padding: 0px calc(var(--dv-border-radius) / 2);
1835
+ border-top-left-radius: var(--dv-border-radius);
1836
+ border-top-right-radius: var(--dv-border-radius);
1672
1837
  }
1673
1838
  .dockview-theme-github-light-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
1674
1839
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -1748,6 +1913,11 @@
1748
1913
  --dv-floating-group-border: none;
1749
1914
  --dv-drag-over-border: none;
1750
1915
  --dv-floating-group-dragging-opacity: 0.5;
1916
+ --dv-floating-titlebar-height: 22px;
1917
+ --dv-floating-titlebar-background-color: var(
1918
+ --dv-tabs-and-actions-container-background-color
1919
+ );
1920
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1751
1921
  --dv-tab-group-color-grey: #5f6368;
1752
1922
  --dv-tab-group-color-blue: #1a73e8;
1753
1923
  --dv-tab-group-color-red: #d93025;
@@ -1764,7 +1934,7 @@
1764
1934
  --dv-tab-group-line-opacity: 0.6;
1765
1935
  --dv-spacing-padding: 10px;
1766
1936
  --dv-tab-font-size: 12px;
1767
- --dv-border-radius: 20px;
1937
+ --dv-border-radius: 12px;
1768
1938
  --dv-tab-margin: 0.5rem 0.25rem;
1769
1939
  --dv-tabs-and-actions-container-height: 44px;
1770
1940
  --dv-tab-border-radius: 8px;
@@ -1772,6 +1942,10 @@
1772
1942
  --dv-dropdown-border-radius: 8px;
1773
1943
  --dv-tab-close-icon-size: 8px;
1774
1944
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
1945
+ --dv-floating-titlebar-background-color: var(
1946
+ --dv-group-view-background-color
1947
+ );
1948
+ --dv-floating-titlebar-border-bottom: none;
1775
1949
  box-sizing: border-box;
1776
1950
  padding: var(--dv-spacing-padding);
1777
1951
  background-color: var(--dv-group-view-background-color);
@@ -1798,6 +1972,17 @@
1798
1972
  .dockview-theme-abyss-spaced .dv-resize-container .dv-groupview {
1799
1973
  border: var(--dv-floating-group-border);
1800
1974
  }
1975
+ .dockview-theme-abyss-spaced .dv-resize-container > .dv-grid-view {
1976
+ box-sizing: border-box;
1977
+ padding: var(--dv-spacing-padding);
1978
+ }
1979
+ .dockview-theme-abyss-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
1980
+ padding-top: 0;
1981
+ }
1982
+ .dockview-theme-abyss-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
1983
+ border-top-left-radius: var(--dv-border-radius);
1984
+ border-top-right-radius: var(--dv-border-radius);
1985
+ }
1801
1986
  .dockview-theme-abyss-spaced .dv-tabs-overflow-container,
1802
1987
  .dockview-theme-abyss-spaced .dv-tabs-overflow-dropdown-default {
1803
1988
  border-radius: var(--dv-dropdown-border-radius);
@@ -1822,6 +2007,8 @@
1822
2007
  }
1823
2008
  .dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container {
1824
2009
  padding: 0px calc(var(--dv-border-radius) / 2);
2010
+ border-top-left-radius: var(--dv-border-radius);
2011
+ border-top-right-radius: var(--dv-border-radius);
1825
2012
  }
1826
2013
  .dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
1827
2014
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -1898,6 +2085,11 @@
1898
2085
  --dv-floating-group-border: none;
1899
2086
  --dv-drag-over-border: none;
1900
2087
  --dv-floating-group-dragging-opacity: 0.5;
2088
+ --dv-floating-titlebar-height: 22px;
2089
+ --dv-floating-titlebar-background-color: var(
2090
+ --dv-tabs-and-actions-container-background-color
2091
+ );
2092
+ --dv-floating-titlebar-border-bottom: var(--dv-floating-border);
1901
2093
  --dv-tab-group-color-grey: #5f6368;
1902
2094
  --dv-tab-group-color-blue: #1a73e8;
1903
2095
  --dv-tab-group-color-red: #d93025;
@@ -1914,7 +2106,7 @@
1914
2106
  --dv-tab-group-line-opacity: 0.6;
1915
2107
  --dv-spacing-padding: 10px;
1916
2108
  --dv-tab-font-size: 12px;
1917
- --dv-border-radius: 20px;
2109
+ --dv-border-radius: 12px;
1918
2110
  --dv-tab-margin: 0.5rem 0.25rem;
1919
2111
  --dv-tabs-and-actions-container-height: 44px;
1920
2112
  --dv-tab-border-radius: 8px;
@@ -1922,6 +2114,10 @@
1922
2114
  --dv-dropdown-border-radius: 8px;
1923
2115
  --dv-tab-close-icon-size: 8px;
1924
2116
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
2117
+ --dv-floating-titlebar-background-color: var(
2118
+ --dv-group-view-background-color
2119
+ );
2120
+ --dv-floating-titlebar-border-bottom: none;
1925
2121
  box-sizing: border-box;
1926
2122
  padding: var(--dv-spacing-padding);
1927
2123
  background-color: var(--dv-group-view-background-color);
@@ -1948,6 +2144,17 @@
1948
2144
  .dockview-theme-light-spaced .dv-resize-container .dv-groupview {
1949
2145
  border: var(--dv-floating-group-border);
1950
2146
  }
2147
+ .dockview-theme-light-spaced .dv-resize-container > .dv-grid-view {
2148
+ box-sizing: border-box;
2149
+ padding: var(--dv-spacing-padding);
2150
+ }
2151
+ .dockview-theme-light-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
2152
+ padding-top: 0;
2153
+ }
2154
+ .dockview-theme-light-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
2155
+ border-top-left-radius: var(--dv-border-radius);
2156
+ border-top-right-radius: var(--dv-border-radius);
2157
+ }
1951
2158
  .dockview-theme-light-spaced .dv-tabs-overflow-container,
1952
2159
  .dockview-theme-light-spaced .dv-tabs-overflow-dropdown-default {
1953
2160
  border-radius: var(--dv-dropdown-border-radius);
@@ -1972,6 +2179,8 @@
1972
2179
  }
1973
2180
  .dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container {
1974
2181
  padding: 0px calc(var(--dv-border-radius) / 2);
2182
+ border-top-left-radius: var(--dv-border-radius);
2183
+ border-top-right-radius: var(--dv-border-radius);
1975
2184
  }
1976
2185
  .dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
1977
2186
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -2007,7 +2216,7 @@
2007
2216
  .dockview-spaced {
2008
2217
  --dv-spacing-padding: 10px;
2009
2218
  --dv-tab-font-size: 12px;
2010
- --dv-border-radius: 20px;
2219
+ --dv-border-radius: 12px;
2011
2220
  --dv-tab-margin: 0.5rem 0.25rem;
2012
2221
  --dv-tabs-and-actions-container-height: 44px;
2013
2222
  --dv-tab-border-radius: 8px;
@@ -2015,6 +2224,10 @@
2015
2224
  --dv-dropdown-border-radius: 8px;
2016
2225
  --dv-tab-close-icon-size: 8px;
2017
2226
  --dv-floating-group-border: 2px solid var(--dv-group-view-background-color);
2227
+ --dv-floating-titlebar-background-color: var(
2228
+ --dv-group-view-background-color
2229
+ );
2230
+ --dv-floating-titlebar-border-bottom: none;
2018
2231
  box-sizing: border-box;
2019
2232
  padding: var(--dv-spacing-padding);
2020
2233
  background-color: var(--dv-group-view-background-color);
@@ -2041,6 +2254,17 @@
2041
2254
  .dockview-spaced .dv-resize-container .dv-groupview {
2042
2255
  border: var(--dv-floating-group-border);
2043
2256
  }
2257
+ .dockview-spaced .dv-resize-container > .dv-grid-view {
2258
+ box-sizing: border-box;
2259
+ padding: var(--dv-spacing-padding);
2260
+ }
2261
+ .dockview-spaced .dv-resize-container-with-titlebar > .dv-grid-view {
2262
+ padding-top: 0;
2263
+ }
2264
+ .dockview-spaced .dv-resize-container-with-titlebar > .dv-floating-titlebar {
2265
+ border-top-left-radius: var(--dv-border-radius);
2266
+ border-top-right-radius: var(--dv-border-radius);
2267
+ }
2044
2268
  .dockview-spaced .dv-tabs-overflow-container,
2045
2269
  .dockview-spaced .dv-tabs-overflow-dropdown-default {
2046
2270
  border-radius: var(--dv-dropdown-border-radius);
@@ -2065,6 +2289,8 @@
2065
2289
  }
2066
2290
  .dockview-spaced .dv-groupview .dv-tabs-and-actions-container {
2067
2291
  padding: 0px calc(var(--dv-border-radius) / 2);
2292
+ border-top-left-radius: var(--dv-border-radius);
2293
+ border-top-right-radius: var(--dv-border-radius);
2068
2294
  }
2069
2295
  .dockview-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical {
2070
2296
  padding: calc(var(--dv-border-radius) / 2) 0;
@@ -2162,6 +2388,11 @@
2162
2388
  top: auto;
2163
2389
  bottom: 0;
2164
2390
  }
2391
+
2392
+ .dv-groupview.dv-groupview-header-bottom.dv-active-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after, .dv-groupview.dv-groupview-header-bottom.dv-inactive-group > .dv-tabs-and-actions-container .dv-tabs-container > .dv-tab.dv-active-tab::after {
2393
+ top: 0px;
2394
+ bottom: auto;
2395
+ }
2165
2396
  .dv-drop-target-container {
2166
2397
  position: absolute;
2167
2398
  z-index: 9999;
@@ -2325,10 +2556,42 @@
2325
2556
  pointer-events: auto;
2326
2557
  }
2327
2558
 
2559
+ .dv-resize-container > .dv-grid-view {
2560
+ width: 100%;
2561
+ height: 100%;
2562
+ }
2563
+
2564
+ .dv-resize-container-with-titlebar {
2565
+ display: flex;
2566
+ flex-direction: column;
2567
+ }
2568
+ .dv-resize-container-with-titlebar > .dv-floating-titlebar {
2569
+ flex: 0 0 auto;
2570
+ }
2571
+ .dv-resize-container-with-titlebar > .dv-grid-view {
2572
+ height: auto;
2573
+ flex: 1 1 0;
2574
+ min-height: 0;
2575
+ }
2576
+
2577
+ .dv-floating-titlebar {
2578
+ box-sizing: border-box;
2579
+ flex-shrink: 0;
2580
+ height: var(--dv-floating-titlebar-height, 22px);
2581
+ background-color: var(--dv-floating-titlebar-background-color);
2582
+ border-bottom: var(--dv-floating-titlebar-border-bottom, none);
2583
+ user-select: none;
2584
+ touch-action: none;
2585
+ }
2586
+ .dv-floating-titlebar.dv-draggable {
2587
+ cursor: grab;
2588
+ }
2589
+
2328
2590
  .dv-resize-container {
2329
2591
  --dv-overlay-z-index: var(--dv-overlay-z-index, 999);
2330
2592
  position: absolute;
2331
2593
  z-index: calc(var(--dv-overlay-z-index) - 2);
2594
+ background-color: var(--dv-group-view-background-color);
2332
2595
  border: var(--dv-floating-border);
2333
2596
  box-shadow: var(--dv-floating-box-shadow);
2334
2597
  /* GPU optimizations for floating group movement */
@@ -2836,7 +3099,6 @@
2836
3099
  border-radius: 2px;
2837
3100
  background-color: var(--dv-icon-hover-background-color);
2838
3101
  }
2839
- @charset "UTF-8";
2840
3102
  .dv-tabs-container {
2841
3103
  display: flex;
2842
3104
  position: relative;
@@ -2858,7 +3120,7 @@
2858
3120
  * Empty space between tabs (and the scrollbar lane) keeps pan-x so a
2859
3121
  * flick on those areas produces native momentum scroll. The tab and
2860
3122
  * chip elements themselves opt out (`touch-action: none`) so the
2861
- * pointer drag source owns the gesture from pointerdown a flick on
3123
+ * pointer drag source owns the gesture from pointerdown - a flick on
2862
3124
  * a tab or chip always becomes a drag, regardless of direction.
2863
3125
  */
2864
3126
  touch-action: pan-x;
@@ -1,5 +1,5 @@
1
1
  import { type ComponentInternalInstance } from 'vue';
2
- import type { DockviewIDisposable } from 'dockview-core';
2
+ import type { DockviewIDisposable } from 'dockview';
3
3
  export interface ViewComponentConfig<TApi, TOptions, TProps, TEvents, TView, TFrameworkOptions> {
4
4
  componentName: string;
5
5
  propertyKeys: readonly (keyof TOptions)[];
@@ -1,12 +1,12 @@
1
1
  import type { IDockviewVueProps } from './types';
2
2
  declare const __VLS_export: import("vue").DefineComponent<IDockviewVueProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3
- ready: (event: import("dockview-core").DockviewReadyEvent) => any;
4
- didDrop: (event: import("dockview-core").DockviewDidDropEvent) => any;
5
- willDrop: (event: import("dockview-core").DockviewWillDropEvent) => any;
3
+ ready: (event: import("dockview").DockviewReadyEvent) => any;
4
+ didDrop: (event: import("dockview").DockviewDidDropEvent) => any;
5
+ willDrop: (event: import("dockview").DockviewWillDropEvent) => any;
6
6
  }, string, import("vue").PublicProps, Readonly<IDockviewVueProps> & Readonly<{
7
- onReady?: (event: import("dockview-core").DockviewReadyEvent) => any;
8
- onDidDrop?: (event: import("dockview-core").DockviewDidDropEvent) => any;
9
- onWillDrop?: (event: import("dockview-core").DockviewWillDropEvent) => any;
7
+ onReady?: (event: import("dockview").DockviewReadyEvent) => any;
8
+ onDidDrop?: (event: import("dockview").DockviewDidDropEvent) => any;
9
+ onWillDrop?: (event: import("dockview").DockviewWillDropEvent) => any;
10
10
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
11
  declare const _default: typeof __VLS_export;
12
12
  export default _default;
@@ -1,4 +1,4 @@
1
- import { type DockviewDidDropEvent, type DockviewOptions, type DockviewReadyEvent, type DockviewWillDropEvent } from 'dockview-core';
1
+ import { type DockviewDidDropEvent, type DockviewOptions, type DockviewReadyEvent, type DockviewWillDropEvent } from 'dockview';
2
2
  import type { VueComponent } from '../utils';
3
3
  export interface VueProps {
4
4
  components?: Record<string, VueComponent>;
@@ -1,4 +1,4 @@
1
- import type { GridviewApi, GridviewOptions, GridviewPanelApi } from 'dockview-core';
1
+ import type { GridviewApi, GridviewOptions, GridviewPanelApi } from 'dockview';
2
2
  import type { VueComponent } from '../utils';
3
3
  export interface GridviewReadyEvent {
4
4
  api: GridviewApi;
@@ -1,4 +1,4 @@
1
- import { GridviewPanel, IFrameworkPart } from 'dockview-core';
1
+ import { GridviewPanel, IFrameworkPart } from 'dockview';
2
2
  import { type ComponentInternalInstance } from 'vue';
3
3
  import { type VueComponent } from '../utils';
4
4
  import type { IGridviewVuePanelProps } from './types';
@@ -1,4 +1,4 @@
1
- export * from 'dockview-core';
1
+ export * from 'dockview';
2
2
  import DockviewVue from './dockview/dockview.vue';
3
3
  import SplitviewVue from './splitview/splitview.vue';
4
4
  import GridviewVue from './gridview/gridview.vue';
@@ -1,10 +1,10 @@
1
1
  import type { IPaneviewVueProps } from './types';
2
2
  declare const __VLS_export: import("vue").DefineComponent<IPaneviewVueProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3
3
  ready: (event: import("./types").PaneviewReadyEvent) => any;
4
- didDrop: (event: import("dockview-core").PaneviewDropEvent) => any;
4
+ didDrop: (event: import("dockview").PaneviewDidDropEvent) => any;
5
5
  }, string, import("vue").PublicProps, Readonly<IPaneviewVueProps> & Readonly<{
6
6
  onReady?: (event: import("./types").PaneviewReadyEvent) => any;
7
- onDidDrop?: (event: import("dockview-core").PaneviewDropEvent) => any;
7
+ onDidDrop?: (event: import("dockview").PaneviewDidDropEvent) => any;
8
8
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
9
9
  declare const _default: typeof __VLS_export;
10
10
  export default _default;
@@ -1,4 +1,4 @@
1
- import type { PaneviewApi, PaneviewDropEvent, PaneviewOptions, PaneviewPanelApi } from 'dockview-core';
1
+ import type { PaneviewApi, PaneviewDidDropEvent, PaneviewOptions, PaneviewPanelApi } from 'dockview';
2
2
  import type { VueComponent } from '../utils';
3
3
  export interface PaneviewReadyEvent {
4
4
  api: PaneviewApi;
@@ -14,5 +14,5 @@ export interface IPaneviewVueProps extends PaneviewOptions {
14
14
  }
15
15
  export type PaneviewVueEvents = {
16
16
  ready: [event: PaneviewReadyEvent];
17
- didDrop: [event: PaneviewDropEvent];
17
+ didDrop: [event: PaneviewDidDropEvent];
18
18
  };
@@ -1,4 +1,4 @@
1
- import { IPanePart, PanePanelComponentInitParameter, PanelUpdateEvent } from 'dockview-core';
1
+ import { IPanePart, PanePanelComponentInitParameter, PanelUpdateEvent } from 'dockview';
2
2
  import { type ComponentInternalInstance } from 'vue';
3
3
  import { type VueComponent } from '../utils';
4
4
  import type { IPaneviewVuePanelProps } from './types';
@@ -1,4 +1,4 @@
1
- import type { SplitviewApi, SplitviewOptions, SplitviewPanelApi } from 'dockview-core';
1
+ import type { SplitviewApi, SplitviewOptions, SplitviewPanelApi } from 'dockview';
2
2
  import type { VueComponent } from '../utils';
3
3
  export interface SplitviewReadyEvent {
4
4
  api: SplitviewApi;
@@ -1,4 +1,4 @@
1
- import { SplitviewPanel, IFrameworkPart } from 'dockview-core';
1
+ import { SplitviewPanel, IFrameworkPart } from 'dockview';
2
2
  import { type ComponentInternalInstance } from 'vue';
3
3
  import { type VueComponent } from '../utils';
4
4
  import type { ISplitviewVuePanelProps } from './types';
@@ -1,4 +1,4 @@
1
- import type { DockviewApi, DockviewGroupPanel, IContentRenderer, IDockviewGroupPanel, IGroupDragGhostRenderer, IGroupHeaderProps, IHeaderActionsRenderer, ITabGroupChipRenderer, ITabGroup, ITabRenderer, IWatermarkRenderer, IContextMenuItemRenderer, IContextMenuItemComponentProps, PanelUpdateEvent, Parameters, TabPartInitParameters, WatermarkRendererInitParameters } from 'dockview-core';
1
+ import type { DockviewApi, DockviewGroupPanel, IContentRenderer, IDockviewGroupPanel, IGroupDragGhostRenderer, IGroupHeaderProps, IHeaderActionsRenderer, ITabGroupChipRenderer, ITabGroup, ITabRenderer, IWatermarkRenderer, IContextMenuItemRenderer, IContextMenuItemComponentProps, PanelUpdateEvent, Parameters, TabPartInitParameters, WatermarkRendererInitParameters } from 'dockview';
2
2
  import { type ComponentOptionsBase, type DefineComponent, type ComponentInternalInstance } from 'vue';
3
3
  export type ComponentInterface = ComponentOptionsBase<any, any, any, any, any, any, any, any>;
4
4
  export type VueComponent<T = any> = DefineComponent<T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview-vue",
3
- "version": "6.6.1",
3
+ "version": "7.0.2",
4
4
  "description": "Vue 3 docking layout manager — tabs, groups, grids, splitviews, drag and drop, floating panels",
5
5
  "keywords": [
6
6
  "splitview",
@@ -38,6 +38,19 @@
38
38
  "main": "dist/dockview-vue.umd.js",
39
39
  "module": "dist/dockview-vue.es.js",
40
40
  "types": "dist/types/index.d.ts",
41
+ "exports": {
42
+ ".": {
43
+ "types": "./dist/types/index.d.ts",
44
+ "import": "./dist/dockview-vue.es.js",
45
+ "require": "./dist/dockview-vue.umd.js"
46
+ },
47
+ "./dist/styles/*": "./dist/styles/*",
48
+ "./package.json": "./package.json"
49
+ },
50
+ "sideEffects": [
51
+ "**/*.css",
52
+ "**/*.scss"
53
+ ],
41
54
  "homepage": "https://github.com/mathuo/dockview",
42
55
  "bugs": {
43
56
  "url": "https://github.com/mathuo/dockview/issues"
@@ -69,7 +82,7 @@
69
82
  "format:check": "prettier --check 'src/**/*.{ts,tsx,js,jsx,vue}'"
70
83
  },
71
84
  "dependencies": {
72
- "dockview-core": "^6.6.1"
85
+ "dockview": "^7.0.2"
73
86
  },
74
87
  "peerDependencies": {
75
88
  "vue": "^3.4.0"