dockview-react 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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-react
3
- * @version 4.2.4
3
+ * @version 4.3.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -672,9 +672,7 @@ function onDidWindowResizeEnd(element, cb) {
672
672
  function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
673
673
  const buffer = options.buffer;
674
674
  const rect = element.getBoundingClientRect();
675
- const rootRect = element.getBoundingClientRect();
676
- const viewportWidth = root.clientWidth;
677
- const viewportHeight = root.clientHeight;
675
+ const rootRect = root.getBoundingClientRect();
678
676
  let translateX = 0;
679
677
  let translateY = 0;
680
678
  const left = rect.left - rootRect.left;
@@ -685,15 +683,15 @@ function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
685
683
  if (left < buffer) {
686
684
  translateX = buffer - left;
687
685
  }
688
- else if (right > viewportWidth - buffer) {
689
- translateX = viewportWidth - right - buffer;
686
+ else if (right > buffer) {
687
+ translateX = -buffer - right;
690
688
  }
691
689
  // Check vertical overflow
692
690
  if (top < buffer) {
693
691
  translateY = buffer - top;
694
692
  }
695
- else if (bottom > viewportHeight - buffer) {
696
- translateY = viewportHeight - bottom - buffer;
693
+ else if (bottom > buffer) {
694
+ translateY = -bottom - buffer;
697
695
  }
698
696
  // Apply the translation if needed
699
697
  if (translateX !== 0 || translateY !== 0) {
@@ -3986,9 +3984,9 @@ class Droptarget extends CompositeDisposable {
3986
3984
  onDragOver: (e) => {
3987
3985
  var _a, _b, _c, _d, _e, _f, _g;
3988
3986
  Droptarget.ACTUAL_TARGET = this;
3989
- const overrideTraget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3987
+ const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3990
3988
  if (this._acceptedTargetZonesSet.size === 0) {
3991
- if (overrideTraget) {
3989
+ if (overrideTarget) {
3992
3990
  return;
3993
3991
  }
3994
3992
  this.removeDropTarget();
@@ -4015,7 +4013,7 @@ class Droptarget extends CompositeDisposable {
4015
4013
  return;
4016
4014
  }
4017
4015
  if (!this.options.canDisplayOverlay(e, quadrant)) {
4018
- if (overrideTraget) {
4016
+ if (overrideTarget) {
4019
4017
  return;
4020
4018
  }
4021
4019
  this.removeDropTarget();
@@ -4035,7 +4033,7 @@ class Droptarget extends CompositeDisposable {
4035
4033
  return;
4036
4034
  }
4037
4035
  this.markAsUsed(e);
4038
- if (overrideTraget) ;
4036
+ if (overrideTarget) ;
4039
4037
  else if (!this.targetElement) {
4040
4038
  this.targetElement = document.createElement('div');
4041
4039
  this.targetElement.className = 'dv-drop-target-dropzone';
@@ -4974,6 +4972,8 @@ function addGhostImage(dataTransfer, ghostElement, options) {
4974
4972
  var _a, _b;
4975
4973
  // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
4976
4974
  addClasses(ghostElement, 'dv-dragged');
4975
+ // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
4976
+ ghostElement.style.top = '-9999px';
4977
4977
  document.body.appendChild(ghostElement);
4978
4978
  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);
4979
4979
  setTimeout(() => {
@@ -5142,7 +5142,7 @@ class VoidContainer extends CompositeDisposable {
5142
5142
  this.accessor.doSetGroupActive(this.group);
5143
5143
  }));
5144
5144
  const handler = new GroupDragHandler(this._element, accessor, group);
5145
- this.dropTraget = new Droptarget(this._element, {
5145
+ this.dropTarget = new Droptarget(this._element, {
5146
5146
  acceptedTargetZones: ['center'],
5147
5147
  canDisplayOverlay: (event, position) => {
5148
5148
  const data = getPanelData();
@@ -5153,12 +5153,12 @@ class VoidContainer extends CompositeDisposable {
5153
5153
  },
5154
5154
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5155
5155
  });
5156
- this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
5156
+ this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5157
5157
  this.addDisposables(handler, handler.onDragStart((event) => {
5158
5158
  this._onDragStart.fire(event);
5159
- }), this.dropTraget.onDrop((event) => {
5159
+ }), this.dropTarget.onDrop((event) => {
5160
5160
  this._onDrop.fire(event);
5161
- }), this.dropTraget);
5161
+ }), this.dropTarget);
5162
5162
  }
5163
5163
  }
5164
5164
 
@@ -8446,9 +8446,11 @@ class DockviewComponent extends BaseGrid {
8446
8446
  const gready = document.createElement('div');
8447
8447
  gready.className = 'dv-overlay-render-container';
8448
8448
  const overlayRenderContainer = new OverlayRenderContainer(gready, this);
8449
- const referenceGroup = itemToPopout instanceof DockviewPanel
8450
- ? itemToPopout.group
8451
- : itemToPopout;
8449
+ const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
8450
+ ? options.referenceGroup
8451
+ : itemToPopout instanceof DockviewPanel
8452
+ ? itemToPopout.group
8453
+ : itemToPopout;
8452
8454
  const referenceLocation = itemToPopout.api.location.type;
8453
8455
  /**
8454
8456
  * The group that is being added doesn't already exist within the DOM, the most likely occurance
@@ -8936,7 +8938,7 @@ class DockviewComponent extends BaseGrid {
8936
8938
  return result;
8937
8939
  }
8938
8940
  fromJSON(data) {
8939
- var _a, _b, _c;
8941
+ var _a, _b;
8940
8942
  this.clear();
8941
8943
  if (typeof data !== 'object' || data === null) {
8942
8944
  throw new Error('serialized layout must be a non-null object');
@@ -9008,12 +9010,11 @@ class DockviewComponent extends BaseGrid {
9008
9010
  for (const serializedPopoutGroup of serializedPopoutGroups) {
9009
9011
  const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
9010
9012
  const group = createGroupFromSerializedState(data);
9011
- this.addPopoutGroup((_c = (gridReferenceGroup
9012
- ? this.getPanel(gridReferenceGroup)
9013
- : undefined)) !== null && _c !== void 0 ? _c : group, {
9013
+ this.addPopoutGroup(group, {
9014
9014
  position: position !== null && position !== void 0 ? position : undefined,
9015
- overridePopoutGroup: gridReferenceGroup
9016
- ? group
9015
+ overridePopoutGroup: gridReferenceGroup ? group : undefined,
9016
+ referenceGroup: gridReferenceGroup
9017
+ ? this.getPanel(gridReferenceGroup)
9017
9018
  : undefined,
9018
9019
  popoutUrl: url,
9019
9020
  });