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