dockview-react 3.1.0 → 3.1.1

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.1.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -4773,8 +4773,8 @@ class Tab extends CompositeDisposable {
4773
4773
  this.accessor = accessor;
4774
4774
  this.group = group;
4775
4775
  this.content = undefined;
4776
- this._onChanged = new Emitter();
4777
- this.onChanged = this._onChanged.event;
4776
+ this._onPointDown = new Emitter();
4777
+ this.onPointerDown = this._onPointDown.event;
4778
4778
  this._onDropped = new Emitter();
4779
4779
  this.onDrop = this._onDropped.event;
4780
4780
  this._onDragStart = new Emitter();
@@ -4804,13 +4804,10 @@ class Tab extends CompositeDisposable {
4804
4804
  },
4805
4805
  });
4806
4806
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4807
- this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4807
+ this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4808
4808
  this._onDragStart.fire(event);
4809
4809
  }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4810
- if (event.defaultPrevented) {
4811
- return;
4812
- }
4813
- this._onChanged.fire(event);
4810
+ this._onPointDown.fire(event);
4814
4811
  }), this.dropTarget.onDrop((event) => {
4815
4812
  this._onDropped.fire(event);
4816
4813
  }), this.dropTarget);
@@ -5111,7 +5108,7 @@ class TabsContainer extends CompositeDisposable {
5111
5108
  tab.setContent(panel.view.tab);
5112
5109
  const disposable = new CompositeDisposable(tab.onDragStart((event) => {
5113
5110
  this._onTabDragStart.fire({ nativeEvent: event, panel });
5114
- }), tab.onChanged((event) => {
5111
+ }), tab.onPointerDown((event) => {
5115
5112
  if (event.defaultPrevented) {
5116
5113
  return;
5117
5114
  }
@@ -5138,9 +5135,6 @@ class TabsContainer extends CompositeDisposable {
5138
5135
  this.group.model.openPanel(panel);
5139
5136
  }
5140
5137
  break;
5141
- case 1: // middle click
5142
- panel.api.close();
5143
- break;
5144
5138
  }
5145
5139
  }), tab.onDrop((event) => {
5146
5140
  this._onDrop.fire({
@@ -10555,8 +10549,9 @@ function useTitle(api) {
10555
10549
  return title;
10556
10550
  }
10557
10551
  const DockviewDefaultTab = (_a) => {
10558
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10552
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10559
10553
  const title = useTitle(api);
10554
+ const isMiddleMouseButton = React.useRef(false);
10560
10555
  const onClose = React.useCallback((event) => {
10561
10556
  event.preventDefault();
10562
10557
  if (closeActionOverride) {
@@ -10566,12 +10561,27 @@ const DockviewDefaultTab = (_a) => {
10566
10561
  api.close();
10567
10562
  }
10568
10563
  }, [api, closeActionOverride]);
10569
- const onPointerDown = React.useCallback((e) => {
10570
- e.preventDefault();
10564
+ const onBtnPointerDown = React.useCallback((event) => {
10565
+ event.preventDefault();
10571
10566
  }, []);
10572
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10567
+ const _onPointerDown = React.useCallback((event) => {
10568
+ isMiddleMouseButton.current = event.button === 1;
10569
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10570
+ }, [onPointerDown]);
10571
+ const _onPointerUp = React.useCallback((event) => {
10572
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10573
+ isMiddleMouseButton.current = false;
10574
+ onClose(event);
10575
+ }
10576
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10577
+ }, [onPointerUp, onClose, hideClose]);
10578
+ const _onPointerLeave = React.useCallback((event) => {
10579
+ isMiddleMouseButton.current = false;
10580
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10581
+ }, [onPointerLeave]);
10582
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10573
10583
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10574
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10584
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10575
10585
  React.createElement(CloseButton, null)))));
10576
10586
  };
10577
10587