dockview 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
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({
@@ -10580,8 +10574,9 @@ function useTitle(api) {
10580
10574
  return title;
10581
10575
  }
10582
10576
  const DockviewDefaultTab = (_a) => {
10583
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10577
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10584
10578
  const title = useTitle(api);
10579
+ const isMiddleMouseButton = React.useRef(false);
10585
10580
  const onClose = React.useCallback((event) => {
10586
10581
  event.preventDefault();
10587
10582
  if (closeActionOverride) {
@@ -10591,12 +10586,27 @@ const DockviewDefaultTab = (_a) => {
10591
10586
  api.close();
10592
10587
  }
10593
10588
  }, [api, closeActionOverride]);
10594
- const onPointerDown = React.useCallback((e) => {
10595
- e.preventDefault();
10589
+ const onBtnPointerDown = React.useCallback((event) => {
10590
+ event.preventDefault();
10596
10591
  }, []);
10597
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10592
+ const _onPointerDown = React.useCallback((event) => {
10593
+ isMiddleMouseButton.current = event.button === 1;
10594
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10595
+ }, [onPointerDown]);
10596
+ const _onPointerUp = React.useCallback((event) => {
10597
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10598
+ isMiddleMouseButton.current = false;
10599
+ onClose(event);
10600
+ }
10601
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10602
+ }, [onPointerUp, onClose, hideClose]);
10603
+ const _onPointerLeave = React.useCallback((event) => {
10604
+ isMiddleMouseButton.current = false;
10605
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10606
+ }, [onPointerLeave]);
10607
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10598
10608
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10599
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10609
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10600
10610
  React.createElement(CloseButton, null)))));
10601
10611
  };
10602
10612