dockview-react 3.1.0 → 3.2.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 3.1.0
3
+ * @version 3.2.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -4742,8 +4742,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4742
4742
  this.accessor = accessor;
4743
4743
  this.group = group;
4744
4744
  this.content = undefined;
4745
- this._onChanged = new Emitter();
4746
- this.onChanged = this._onChanged.event;
4745
+ this._onPointDown = new Emitter();
4746
+ this.onPointerDown = this._onPointDown.event;
4747
4747
  this._onDropped = new Emitter();
4748
4748
  this.onDrop = this._onDropped.event;
4749
4749
  this._onDragStart = new Emitter();
@@ -4773,13 +4773,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4773
4773
  },
4774
4774
  });
4775
4775
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4776
- this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4776
+ this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4777
4777
  this._onDragStart.fire(event);
4778
4778
  }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4779
- if (event.defaultPrevented) {
4780
- return;
4781
- }
4782
- this._onChanged.fire(event);
4779
+ this._onPointDown.fire(event);
4783
4780
  }), this.dropTarget.onDrop((event) => {
4784
4781
  this._onDropped.fire(event);
4785
4782
  }), this.dropTarget);
@@ -5080,7 +5077,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5080
5077
  tab.setContent(panel.view.tab);
5081
5078
  const disposable = new CompositeDisposable(tab.onDragStart((event) => {
5082
5079
  this._onTabDragStart.fire({ nativeEvent: event, panel });
5083
- }), tab.onChanged((event) => {
5080
+ }), tab.onPointerDown((event) => {
5084
5081
  if (event.defaultPrevented) {
5085
5082
  return;
5086
5083
  }
@@ -5107,9 +5104,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5107
5104
  this.group.model.openPanel(panel);
5108
5105
  }
5109
5106
  break;
5110
- case 1: // middle click
5111
- panel.api.close();
5112
- break;
5113
5107
  }
5114
5108
  }), tab.onDrop((event) => {
5115
5109
  this._onDrop.fire({
@@ -10524,8 +10518,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10524
10518
  return title;
10525
10519
  }
10526
10520
  const DockviewDefaultTab = (_a) => {
10527
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10521
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10528
10522
  const title = useTitle(api);
10523
+ const isMiddleMouseButton = React.useRef(false);
10529
10524
  const onClose = React.useCallback((event) => {
10530
10525
  event.preventDefault();
10531
10526
  if (closeActionOverride) {
@@ -10535,12 +10530,27 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10535
10530
  api.close();
10536
10531
  }
10537
10532
  }, [api, closeActionOverride]);
10538
- const onPointerDown = React.useCallback((e) => {
10539
- e.preventDefault();
10533
+ const onBtnPointerDown = React.useCallback((event) => {
10534
+ event.preventDefault();
10540
10535
  }, []);
10541
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10536
+ const _onPointerDown = React.useCallback((event) => {
10537
+ isMiddleMouseButton.current = event.button === 1;
10538
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10539
+ }, [onPointerDown]);
10540
+ const _onPointerUp = React.useCallback((event) => {
10541
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10542
+ isMiddleMouseButton.current = false;
10543
+ onClose(event);
10544
+ }
10545
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10546
+ }, [onPointerUp, onClose, hideClose]);
10547
+ const _onPointerLeave = React.useCallback((event) => {
10548
+ isMiddleMouseButton.current = false;
10549
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10550
+ }, [onPointerLeave]);
10551
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10542
10552
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10543
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10553
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10544
10554
  React.createElement(CloseButton, null)))));
10545
10555
  };
10546
10556