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
  */
@@ -671,9 +671,7 @@ function onDidWindowResizeEnd(element, cb) {
671
671
  function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
672
672
  const buffer = options.buffer;
673
673
  const rect = element.getBoundingClientRect();
674
- const rootRect = element.getBoundingClientRect();
675
- const viewportWidth = root.clientWidth;
676
- const viewportHeight = root.clientHeight;
674
+ const rootRect = root.getBoundingClientRect();
677
675
  let translateX = 0;
678
676
  let translateY = 0;
679
677
  const left = rect.left - rootRect.left;
@@ -684,15 +682,15 @@ function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
684
682
  if (left < buffer) {
685
683
  translateX = buffer - left;
686
684
  }
687
- else if (right > viewportWidth - buffer) {
688
- translateX = viewportWidth - right - buffer;
685
+ else if (right > buffer) {
686
+ translateX = -buffer - right;
689
687
  }
690
688
  // Check vertical overflow
691
689
  if (top < buffer) {
692
690
  translateY = buffer - top;
693
691
  }
694
- else if (bottom > viewportHeight - buffer) {
695
- translateY = viewportHeight - bottom - buffer;
692
+ else if (bottom > buffer) {
693
+ translateY = -bottom - buffer;
696
694
  }
697
695
  // Apply the translation if needed
698
696
  if (translateX !== 0 || translateY !== 0) {
@@ -3985,9 +3983,9 @@ class Droptarget extends CompositeDisposable {
3985
3983
  onDragOver: (e) => {
3986
3984
  var _a, _b, _c, _d, _e, _f, _g;
3987
3985
  Droptarget.ACTUAL_TARGET = this;
3988
- const overrideTraget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3986
+ const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3989
3987
  if (this._acceptedTargetZonesSet.size === 0) {
3990
- if (overrideTraget) {
3988
+ if (overrideTarget) {
3991
3989
  return;
3992
3990
  }
3993
3991
  this.removeDropTarget();
@@ -4014,7 +4012,7 @@ class Droptarget extends CompositeDisposable {
4014
4012
  return;
4015
4013
  }
4016
4014
  if (!this.options.canDisplayOverlay(e, quadrant)) {
4017
- if (overrideTraget) {
4015
+ if (overrideTarget) {
4018
4016
  return;
4019
4017
  }
4020
4018
  this.removeDropTarget();
@@ -4034,7 +4032,7 @@ class Droptarget extends CompositeDisposable {
4034
4032
  return;
4035
4033
  }
4036
4034
  this.markAsUsed(e);
4037
- if (overrideTraget) ;
4035
+ if (overrideTarget) ;
4038
4036
  else if (!this.targetElement) {
4039
4037
  this.targetElement = document.createElement('div');
4040
4038
  this.targetElement.className = 'dv-drop-target-dropzone';
@@ -4973,6 +4971,8 @@ function addGhostImage(dataTransfer, ghostElement, options) {
4973
4971
  var _a, _b;
4974
4972
  // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
4975
4973
  addClasses(ghostElement, 'dv-dragged');
4974
+ // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
4975
+ ghostElement.style.top = '-9999px';
4976
4976
  document.body.appendChild(ghostElement);
4977
4977
  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);
4978
4978
  setTimeout(() => {
@@ -5141,7 +5141,7 @@ class VoidContainer extends CompositeDisposable {
5141
5141
  this.accessor.doSetGroupActive(this.group);
5142
5142
  }));
5143
5143
  const handler = new GroupDragHandler(this._element, accessor, group);
5144
- this.dropTraget = new Droptarget(this._element, {
5144
+ this.dropTarget = new Droptarget(this._element, {
5145
5145
  acceptedTargetZones: ['center'],
5146
5146
  canDisplayOverlay: (event, position) => {
5147
5147
  const data = getPanelData();
@@ -5152,12 +5152,12 @@ class VoidContainer extends CompositeDisposable {
5152
5152
  },
5153
5153
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5154
5154
  });
5155
- this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
5155
+ this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5156
5156
  this.addDisposables(handler, handler.onDragStart((event) => {
5157
5157
  this._onDragStart.fire(event);
5158
- }), this.dropTraget.onDrop((event) => {
5158
+ }), this.dropTarget.onDrop((event) => {
5159
5159
  this._onDrop.fire(event);
5160
- }), this.dropTraget);
5160
+ }), this.dropTarget);
5161
5161
  }
5162
5162
  }
5163
5163
 
@@ -8468,9 +8468,11 @@ class DockviewComponent extends BaseGrid {
8468
8468
  const gready = document.createElement('div');
8469
8469
  gready.className = 'dv-overlay-render-container';
8470
8470
  const overlayRenderContainer = new OverlayRenderContainer(gready, this);
8471
- const referenceGroup = itemToPopout instanceof DockviewPanel
8472
- ? itemToPopout.group
8473
- : itemToPopout;
8471
+ const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
8472
+ ? options.referenceGroup
8473
+ : itemToPopout instanceof DockviewPanel
8474
+ ? itemToPopout.group
8475
+ : itemToPopout;
8474
8476
  const referenceLocation = itemToPopout.api.location.type;
8475
8477
  /**
8476
8478
  * The group that is being added doesn't already exist within the DOM, the most likely occurance
@@ -8958,7 +8960,7 @@ class DockviewComponent extends BaseGrid {
8958
8960
  return result;
8959
8961
  }
8960
8962
  fromJSON(data) {
8961
- var _a, _b, _c;
8963
+ var _a, _b;
8962
8964
  this.clear();
8963
8965
  if (typeof data !== 'object' || data === null) {
8964
8966
  throw new Error('serialized layout must be a non-null object');
@@ -9030,12 +9032,11 @@ class DockviewComponent extends BaseGrid {
9030
9032
  for (const serializedPopoutGroup of serializedPopoutGroups) {
9031
9033
  const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
9032
9034
  const group = createGroupFromSerializedState(data);
9033
- this.addPopoutGroup((_c = (gridReferenceGroup
9034
- ? this.getPanel(gridReferenceGroup)
9035
- : undefined)) !== null && _c !== void 0 ? _c : group, {
9035
+ this.addPopoutGroup(group, {
9036
9036
  position: position !== null && position !== void 0 ? position : undefined,
9037
- overridePopoutGroup: gridReferenceGroup
9038
- ? group
9037
+ overridePopoutGroup: gridReferenceGroup ? group : undefined,
9038
+ referenceGroup: gridReferenceGroup
9039
+ ? this.getPanel(gridReferenceGroup)
9039
9040
  : undefined,
9040
9041
  popoutUrl: url,
9041
9042
  });