dockview-core 4.2.4 → 4.3.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.
Files changed (39) hide show
  1. package/dist/cjs/api/component.api.d.ts +1 -1
  2. package/dist/cjs/dnd/droptarget.js +4 -4
  3. package/dist/cjs/dnd/ghost.js +2 -0
  4. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +1 -1
  5. package/dist/cjs/dockview/components/titlebar/voidContainer.js +4 -4
  6. package/dist/cjs/dockview/dockviewComponent.d.ts +1 -0
  7. package/dist/cjs/dockview/dockviewComponent.js +25 -24
  8. package/dist/cjs/dom.js +5 -7
  9. package/dist/dockview-core.amd.js +26 -25
  10. package/dist/dockview-core.amd.js.map +1 -1
  11. package/dist/dockview-core.amd.min.js +2 -2
  12. package/dist/dockview-core.amd.min.js.map +1 -1
  13. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  14. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  15. package/dist/dockview-core.amd.noStyle.js +26 -25
  16. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  17. package/dist/dockview-core.cjs.js +26 -25
  18. package/dist/dockview-core.cjs.js.map +1 -1
  19. package/dist/dockview-core.esm.js +26 -25
  20. package/dist/dockview-core.esm.js.map +1 -1
  21. package/dist/dockview-core.esm.min.js +2 -2
  22. package/dist/dockview-core.esm.min.js.map +1 -1
  23. package/dist/dockview-core.js +26 -25
  24. package/dist/dockview-core.js.map +1 -1
  25. package/dist/dockview-core.min.js +2 -2
  26. package/dist/dockview-core.min.js.map +1 -1
  27. package/dist/dockview-core.min.noStyle.js +2 -2
  28. package/dist/dockview-core.min.noStyle.js.map +1 -1
  29. package/dist/dockview-core.noStyle.js +26 -25
  30. package/dist/dockview-core.noStyle.js.map +1 -1
  31. package/dist/esm/api/component.api.d.ts +1 -1
  32. package/dist/esm/dnd/droptarget.js +4 -4
  33. package/dist/esm/dnd/ghost.js +2 -0
  34. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +1 -1
  35. package/dist/esm/dockview/components/titlebar/voidContainer.js +4 -4
  36. package/dist/esm/dockview/dockviewComponent.d.ts +1 -0
  37. package/dist/esm/dockview/dockviewComponent.js +10 -9
  38. package/dist/esm/dom.js +5 -7
  39. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 4.2.4
3
+ * @version 4.3.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -669,9 +669,7 @@ function onDidWindowResizeEnd(element, cb) {
669
669
  function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
670
670
  const buffer = options.buffer;
671
671
  const rect = element.getBoundingClientRect();
672
- const rootRect = element.getBoundingClientRect();
673
- const viewportWidth = root.clientWidth;
674
- const viewportHeight = root.clientHeight;
672
+ const rootRect = root.getBoundingClientRect();
675
673
  let translateX = 0;
676
674
  let translateY = 0;
677
675
  const left = rect.left - rootRect.left;
@@ -682,15 +680,15 @@ function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
682
680
  if (left < buffer) {
683
681
  translateX = buffer - left;
684
682
  }
685
- else if (right > viewportWidth - buffer) {
686
- translateX = viewportWidth - right - buffer;
683
+ else if (right > buffer) {
684
+ translateX = -buffer - right;
687
685
  }
688
686
  // Check vertical overflow
689
687
  if (top < buffer) {
690
688
  translateY = buffer - top;
691
689
  }
692
- else if (bottom > viewportHeight - buffer) {
693
- translateY = viewportHeight - bottom - buffer;
690
+ else if (bottom > buffer) {
691
+ translateY = -bottom - buffer;
694
692
  }
695
693
  // Apply the translation if needed
696
694
  if (translateX !== 0 || translateY !== 0) {
@@ -3983,9 +3981,9 @@ class Droptarget extends CompositeDisposable {
3983
3981
  onDragOver: (e) => {
3984
3982
  var _a, _b, _c, _d, _e, _f, _g;
3985
3983
  Droptarget.ACTUAL_TARGET = this;
3986
- const overrideTraget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3984
+ const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3987
3985
  if (this._acceptedTargetZonesSet.size === 0) {
3988
- if (overrideTraget) {
3986
+ if (overrideTarget) {
3989
3987
  return;
3990
3988
  }
3991
3989
  this.removeDropTarget();
@@ -4012,7 +4010,7 @@ class Droptarget extends CompositeDisposable {
4012
4010
  return;
4013
4011
  }
4014
4012
  if (!this.options.canDisplayOverlay(e, quadrant)) {
4015
- if (overrideTraget) {
4013
+ if (overrideTarget) {
4016
4014
  return;
4017
4015
  }
4018
4016
  this.removeDropTarget();
@@ -4032,7 +4030,7 @@ class Droptarget extends CompositeDisposable {
4032
4030
  return;
4033
4031
  }
4034
4032
  this.markAsUsed(e);
4035
- if (overrideTraget) ;
4033
+ if (overrideTarget) ;
4036
4034
  else if (!this.targetElement) {
4037
4035
  this.targetElement = document.createElement('div');
4038
4036
  this.targetElement.className = 'dv-drop-target-dropzone';
@@ -4971,6 +4969,8 @@ function addGhostImage(dataTransfer, ghostElement, options) {
4971
4969
  var _a, _b;
4972
4970
  // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
4973
4971
  addClasses(ghostElement, 'dv-dragged');
4972
+ // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
4973
+ ghostElement.style.top = '-9999px';
4974
4974
  document.body.appendChild(ghostElement);
4975
4975
  dataTransfer.setDragImage(ghostElement, (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0);
4976
4976
  setTimeout(() => {
@@ -5139,7 +5139,7 @@ class VoidContainer extends CompositeDisposable {
5139
5139
  this.accessor.doSetGroupActive(this.group);
5140
5140
  }));
5141
5141
  const handler = new GroupDragHandler(this._element, accessor, group);
5142
- this.dropTraget = new Droptarget(this._element, {
5142
+ this.dropTarget = new Droptarget(this._element, {
5143
5143
  acceptedTargetZones: ['center'],
5144
5144
  canDisplayOverlay: (event, position) => {
5145
5145
  const data = getPanelData();
@@ -5150,12 +5150,12 @@ class VoidContainer extends CompositeDisposable {
5150
5150
  },
5151
5151
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5152
5152
  });
5153
- this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
5153
+ this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5154
5154
  this.addDisposables(handler, handler.onDragStart((event) => {
5155
5155
  this._onDragStart.fire(event);
5156
- }), this.dropTraget.onDrop((event) => {
5156
+ }), this.dropTarget.onDrop((event) => {
5157
5157
  this._onDrop.fire(event);
5158
- }), this.dropTraget);
5158
+ }), this.dropTarget);
5159
5159
  }
5160
5160
  }
5161
5161
 
@@ -8466,9 +8466,11 @@ class DockviewComponent extends BaseGrid {
8466
8466
  const gready = document.createElement('div');
8467
8467
  gready.className = 'dv-overlay-render-container';
8468
8468
  const overlayRenderContainer = new OverlayRenderContainer(gready, this);
8469
- const referenceGroup = itemToPopout instanceof DockviewPanel
8470
- ? itemToPopout.group
8471
- : itemToPopout;
8469
+ const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
8470
+ ? options.referenceGroup
8471
+ : itemToPopout instanceof DockviewPanel
8472
+ ? itemToPopout.group
8473
+ : itemToPopout;
8472
8474
  const referenceLocation = itemToPopout.api.location.type;
8473
8475
  /**
8474
8476
  * The group that is being added doesn't already exist within the DOM, the most likely occurance
@@ -8956,7 +8958,7 @@ class DockviewComponent extends BaseGrid {
8956
8958
  return result;
8957
8959
  }
8958
8960
  fromJSON(data) {
8959
- var _a, _b, _c;
8961
+ var _a, _b;
8960
8962
  this.clear();
8961
8963
  if (typeof data !== 'object' || data === null) {
8962
8964
  throw new Error('serialized layout must be a non-null object');
@@ -9028,12 +9030,11 @@ class DockviewComponent extends BaseGrid {
9028
9030
  for (const serializedPopoutGroup of serializedPopoutGroups) {
9029
9031
  const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
9030
9032
  const group = createGroupFromSerializedState(data);
9031
- this.addPopoutGroup((_c = (gridReferenceGroup
9032
- ? this.getPanel(gridReferenceGroup)
9033
- : undefined)) !== null && _c !== void 0 ? _c : group, {
9033
+ this.addPopoutGroup(group, {
9034
9034
  position: position !== null && position !== void 0 ? position : undefined,
9035
- overridePopoutGroup: gridReferenceGroup
9036
- ? group
9035
+ overridePopoutGroup: gridReferenceGroup ? group : undefined,
9036
+ referenceGroup: gridReferenceGroup
9037
+ ? this.getPanel(gridReferenceGroup)
9037
9038
  : undefined,
9038
9039
  popoutUrl: url,
9039
9040
  });