dockview 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
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({
@@ -10547,8 +10541,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10547
10541
  return title;
10548
10542
  }
10549
10543
  const DockviewDefaultTab = (_a) => {
10550
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10544
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10551
10545
  const title = useTitle(api);
10546
+ const isMiddleMouseButton = React.useRef(false);
10552
10547
  const onClose = React.useCallback((event) => {
10553
10548
  event.preventDefault();
10554
10549
  if (closeActionOverride) {
@@ -10558,12 +10553,27 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10558
10553
  api.close();
10559
10554
  }
10560
10555
  }, [api, closeActionOverride]);
10561
- const onPointerDown = React.useCallback((e) => {
10562
- e.preventDefault();
10556
+ const onBtnPointerDown = React.useCallback((event) => {
10557
+ event.preventDefault();
10563
10558
  }, []);
10564
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10559
+ const _onPointerDown = React.useCallback((event) => {
10560
+ isMiddleMouseButton.current = event.button === 1;
10561
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10562
+ }, [onPointerDown]);
10563
+ const _onPointerUp = React.useCallback((event) => {
10564
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10565
+ isMiddleMouseButton.current = false;
10566
+ onClose(event);
10567
+ }
10568
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10569
+ }, [onPointerUp, onClose, hideClose]);
10570
+ const _onPointerLeave = React.useCallback((event) => {
10571
+ isMiddleMouseButton.current = false;
10572
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10573
+ }, [onPointerLeave]);
10574
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10565
10575
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10566
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10576
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10567
10577
  React.createElement(CloseButton, null)))));
10568
10578
  };
10569
10579