dockview-core 6.2.2 → 6.4.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.
Files changed (145) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +10 -1
  3. package/dist/cjs/api/dockviewGroupPanelApi.js +16 -0
  4. package/dist/cjs/dnd/backend.d.ts +70 -0
  5. package/dist/cjs/dnd/backend.js +171 -0
  6. package/dist/cjs/dnd/dropOverlay.d.ts +20 -0
  7. package/dist/cjs/dnd/dropOverlay.js +197 -0
  8. package/dist/cjs/dnd/droptarget.d.ts +20 -6
  9. package/dist/cjs/dnd/droptarget.js +14 -208
  10. package/dist/cjs/dnd/pointer/index.d.ts +11 -0
  11. package/dist/cjs/dnd/pointer/index.js +13 -0
  12. package/dist/cjs/dnd/pointer/longPress.d.ts +32 -0
  13. package/dist/cjs/dnd/pointer/longPress.js +151 -0
  14. package/dist/cjs/dnd/pointer/pointerDragController.d.ts +60 -0
  15. package/dist/cjs/dnd/pointer/pointerDragController.js +241 -0
  16. package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +61 -0
  17. package/dist/cjs/dnd/pointer/pointerDragSource.js +195 -0
  18. package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +39 -0
  19. package/dist/cjs/dnd/pointer/pointerDropTarget.js +198 -0
  20. package/dist/cjs/dnd/pointer/pointerGhost.d.ts +30 -0
  21. package/dist/cjs/dnd/pointer/pointerGhost.js +44 -0
  22. package/dist/cjs/dnd/pointer/types.d.ts +16 -0
  23. package/dist/cjs/dnd/pointer/types.js +2 -0
  24. package/dist/cjs/dockview/components/panel/content.d.ts +3 -1
  25. package/dist/cjs/dockview/components/panel/content.js +33 -16
  26. package/dist/cjs/dockview/components/popupService.js +34 -0
  27. package/dist/cjs/dockview/components/tab/tab.d.ts +11 -3
  28. package/dist/cjs/dockview/components/tab/tab.js +151 -117
  29. package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +9 -2
  30. package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +15 -6
  31. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +2 -2
  32. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +33 -5
  33. package/dist/cjs/dockview/components/titlebar/tabGroups.js +231 -40
  34. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +38 -1
  35. package/dist/cjs/dockview/components/titlebar/tabs.js +381 -253
  36. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +5 -3
  37. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +6 -2
  38. package/dist/cjs/dockview/components/titlebar/voidContainer.js +190 -22
  39. package/dist/cjs/dockview/contextMenu.js +19 -4
  40. package/dist/cjs/dockview/dndCapabilities.d.ts +19 -0
  41. package/dist/cjs/dockview/dndCapabilities.js +39 -0
  42. package/dist/cjs/dockview/dockviewComponent.d.ts +2 -0
  43. package/dist/cjs/dockview/dockviewComponent.js +241 -158
  44. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +10 -5
  45. package/dist/cjs/dockview/dockviewGroupPanelModel.js +34 -11
  46. package/dist/cjs/dockview/dockviewPanel.js +5 -0
  47. package/dist/cjs/dockview/dockviewPanelModel.d.ts +2 -0
  48. package/dist/cjs/dockview/dockviewPanelModel.js +8 -0
  49. package/dist/cjs/dockview/events.d.ts +2 -1
  50. package/dist/cjs/dockview/events.js +1 -0
  51. package/dist/cjs/dockview/framework.d.ts +8 -0
  52. package/dist/cjs/dockview/options.d.ts +31 -5
  53. package/dist/cjs/dockview/options.js +3 -0
  54. package/dist/cjs/dom.d.ts +5 -1
  55. package/dist/cjs/dom.js +21 -5
  56. package/dist/cjs/index.d.ts +1 -1
  57. package/dist/cjs/overlay/overlay.d.ts +12 -0
  58. package/dist/cjs/overlay/overlay.js +84 -16
  59. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +3 -1
  60. package/dist/cjs/paneview/draggablePaneviewPanel.js +27 -26
  61. package/dist/cjs/paneview/options.d.ts +4 -3
  62. package/dist/cjs/popoutWindow.d.ts +2 -0
  63. package/dist/cjs/popoutWindow.js +3 -1
  64. package/dist/dockview-core.js +2431 -937
  65. package/dist/dockview-core.min.js +2 -2
  66. package/dist/dockview-core.min.js.map +1 -1
  67. package/dist/dockview-core.min.noStyle.js +2 -2
  68. package/dist/dockview-core.min.noStyle.js.map +1 -1
  69. package/dist/dockview-core.noStyle.js +2430 -936
  70. package/dist/esm/api/dockviewGroupPanelApi.d.ts +10 -1
  71. package/dist/esm/api/dockviewGroupPanelApi.js +12 -0
  72. package/dist/esm/dnd/backend.d.ts +70 -0
  73. package/dist/esm/dnd/backend.js +148 -0
  74. package/dist/esm/dnd/dropOverlay.d.ts +20 -0
  75. package/dist/esm/dnd/dropOverlay.js +192 -0
  76. package/dist/esm/dnd/droptarget.d.ts +20 -6
  77. package/dist/esm/dnd/droptarget.js +16 -210
  78. package/dist/esm/dnd/pointer/index.d.ts +11 -0
  79. package/dist/esm/dnd/pointer/index.js +5 -0
  80. package/dist/esm/dnd/pointer/longPress.d.ts +32 -0
  81. package/dist/esm/dnd/pointer/longPress.js +127 -0
  82. package/dist/esm/dnd/pointer/pointerDragController.d.ts +60 -0
  83. package/dist/esm/dnd/pointer/pointerDragController.js +191 -0
  84. package/dist/esm/dnd/pointer/pointerDragSource.d.ts +61 -0
  85. package/dist/esm/dnd/pointer/pointerDragSource.js +171 -0
  86. package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +39 -0
  87. package/dist/esm/dnd/pointer/pointerDropTarget.js +168 -0
  88. package/dist/esm/dnd/pointer/pointerGhost.d.ts +30 -0
  89. package/dist/esm/dnd/pointer/pointerGhost.js +39 -0
  90. package/dist/esm/dnd/pointer/types.d.ts +16 -0
  91. package/dist/esm/dnd/pointer/types.js +1 -0
  92. package/dist/esm/dockview/components/panel/content.d.ts +3 -1
  93. package/dist/esm/dockview/components/panel/content.js +33 -16
  94. package/dist/esm/dockview/components/popupService.js +34 -0
  95. package/dist/esm/dockview/components/tab/tab.d.ts +11 -3
  96. package/dist/esm/dockview/components/tab/tab.js +139 -114
  97. package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +9 -2
  98. package/dist/esm/dockview/components/titlebar/tabGroupChip.js +15 -6
  99. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +2 -2
  100. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +33 -5
  101. package/dist/esm/dockview/components/titlebar/tabGroups.js +177 -12
  102. package/dist/esm/dockview/components/titlebar/tabs.d.ts +38 -1
  103. package/dist/esm/dockview/components/titlebar/tabs.js +360 -229
  104. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +5 -3
  105. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +6 -2
  106. package/dist/esm/dockview/components/titlebar/voidContainer.js +180 -26
  107. package/dist/esm/dockview/contextMenu.js +19 -4
  108. package/dist/esm/dockview/dndCapabilities.d.ts +19 -0
  109. package/dist/esm/dockview/dndCapabilities.js +36 -0
  110. package/dist/esm/dockview/dockviewComponent.d.ts +2 -0
  111. package/dist/esm/dockview/dockviewComponent.js +104 -41
  112. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +10 -5
  113. package/dist/esm/dockview/dockviewGroupPanelModel.js +33 -11
  114. package/dist/esm/dockview/dockviewPanel.js +5 -0
  115. package/dist/esm/dockview/dockviewPanelModel.d.ts +2 -0
  116. package/dist/esm/dockview/dockviewPanelModel.js +8 -0
  117. package/dist/esm/dockview/events.d.ts +2 -1
  118. package/dist/esm/dockview/events.js +1 -0
  119. package/dist/esm/dockview/framework.d.ts +8 -0
  120. package/dist/esm/dockview/options.d.ts +31 -5
  121. package/dist/esm/dockview/options.js +3 -0
  122. package/dist/esm/dom.d.ts +5 -1
  123. package/dist/esm/dom.js +20 -5
  124. package/dist/esm/index.d.ts +1 -1
  125. package/dist/esm/overlay/overlay.d.ts +12 -0
  126. package/dist/esm/overlay/overlay.js +85 -17
  127. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +3 -1
  128. package/dist/esm/paneview/draggablePaneviewPanel.js +26 -20
  129. package/dist/esm/paneview/options.d.ts +4 -3
  130. package/dist/esm/popoutWindow.d.ts +2 -0
  131. package/dist/esm/popoutWindow.js +3 -1
  132. package/dist/package/main.cjs.js +2430 -936
  133. package/dist/package/main.cjs.min.js +2 -2
  134. package/dist/package/main.esm.min.mjs +2 -2
  135. package/dist/package/main.esm.mjs +2430 -936
  136. package/dist/styles/dockview.css +117 -1
  137. package/package.json +3 -1
  138. package/dist/cjs/dnd/abstractDragHandler.d.ts +0 -14
  139. package/dist/cjs/dnd/abstractDragHandler.js +0 -86
  140. package/dist/cjs/dnd/groupDragHandler.d.ts +0 -12
  141. package/dist/cjs/dnd/groupDragHandler.js +0 -82
  142. package/dist/esm/dnd/abstractDragHandler.d.ts +0 -14
  143. package/dist/esm/dnd/abstractDragHandler.js +0 -63
  144. package/dist/esm/dnd/groupDragHandler.d.ts +0 -12
  145. package/dist/esm/dnd/groupDragHandler.js +0 -59
@@ -28,9 +28,8 @@ var __assign = (this && this.__assign) || function () {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.DraggablePaneviewPanel = void 0;
30
30
  var component_api_1 = require("../api/component.api");
31
- var abstractDragHandler_1 = require("../dnd/abstractDragHandler");
31
+ var backend_1 = require("../dnd/backend");
32
32
  var dataTransfer_1 = require("../dnd/dataTransfer");
33
- var droptarget_1 = require("../dnd/droptarget");
34
33
  var events_1 = require("../events");
35
34
  var options_1 = require("./options");
36
35
  var paneviewPanel_1 = require("./paneviewPanel");
@@ -67,40 +66,42 @@ var DraggablePaneviewPanel = /** @class */ (function (_super) {
67
66
  var id = this.id;
68
67
  var accessorId = this.accessor.id;
69
68
  this.header.draggable = true;
70
- this.handler = new (/** @class */ (function (_super) {
71
- __extends(PaneDragHandler, _super);
72
- function PaneDragHandler() {
73
- return _super !== null && _super.apply(this, arguments) || this;
74
- }
75
- PaneDragHandler.prototype.getData = function () {
69
+ var sharedDragOptions = {
70
+ getData: function () {
76
71
  dataTransfer_1.LocalSelectionTransfer.getInstance().setData([new dataTransfer_1.PaneTransfer(accessorId, id)], dataTransfer_1.PaneTransfer.prototype);
77
72
  return {
78
73
  dispose: function () {
79
74
  dataTransfer_1.LocalSelectionTransfer.getInstance().clearData(dataTransfer_1.PaneTransfer.prototype);
80
75
  },
81
76
  };
82
- };
83
- return PaneDragHandler;
84
- }(abstractDragHandler_1.DragHandler)))(this.header);
85
- this.target = new droptarget_1.Droptarget(this.element, {
77
+ },
78
+ };
79
+ this.html5DragSource = backend_1.html5Backend.createDragSource(this.header, sharedDragOptions);
80
+ this.pointerDragSource = backend_1.pointerBackend.createDragSource(this.header, sharedDragOptions);
81
+ var canDisplayOverlay = function (event, position) {
82
+ var data = (0, dataTransfer_1.getPaneData)();
83
+ if (data) {
84
+ if (data.paneId !== _this.id &&
85
+ data.viewId === _this.accessor.id) {
86
+ return true;
87
+ }
88
+ }
89
+ var firedEvent = new options_1.PaneviewUnhandledDragOverEvent(event, position, dataTransfer_1.getPaneData, _this);
90
+ _this._onUnhandledDragOverEvent.fire(firedEvent);
91
+ return firedEvent.isAccepted;
92
+ };
93
+ var dropTargetOptions = {
86
94
  acceptedTargetZones: ['top', 'bottom'],
87
95
  overlayModel: {
88
96
  activationSize: { type: 'percentage', value: 50 },
89
97
  },
90
- canDisplayOverlay: function (event, position) {
91
- var data = (0, dataTransfer_1.getPaneData)();
92
- if (data) {
93
- if (data.paneId !== _this.id &&
94
- data.viewId === _this.accessor.id) {
95
- return true;
96
- }
97
- }
98
- var firedEvent = new options_1.PaneviewUnhandledDragOverEvent(event, position, dataTransfer_1.getPaneData, _this);
99
- _this._onUnhandledDragOverEvent.fire(firedEvent);
100
- return firedEvent.isAccepted;
101
- },
102
- });
103
- this.addDisposables(this._onDidDrop, this.handler, this.target, this.target.onDrop(function (event) {
98
+ canDisplayOverlay: canDisplayOverlay,
99
+ };
100
+ this.target = backend_1.html5Backend.createDropTarget(this.element, dropTargetOptions);
101
+ this.pointerTarget = backend_1.pointerBackend.createDropTarget(this.element, dropTargetOptions);
102
+ this.addDisposables(this._onDidDrop, this.html5DragSource, this.pointerDragSource, this.target, this.pointerTarget, this.target.onDrop(function (event) {
103
+ _this.onDrop(event);
104
+ }), this.pointerTarget.onDrop(function (event) {
104
105
  _this.onDrop(event);
105
106
  }));
106
107
  };
@@ -15,15 +15,16 @@ export interface PaneviewFrameworkOptions {
15
15
  export type PaneviewComponentOptions = PaneviewOptions & PaneviewFrameworkOptions;
16
16
  export declare const PROPERTY_KEYS_PANEVIEW: (keyof PaneviewOptions)[];
17
17
  export interface PaneviewDndOverlayEvent extends IAcceptableEvent {
18
- nativeEvent: DragEvent;
18
+ /** Narrow with `instanceof DragEvent` before reading `dataTransfer`. */
19
+ nativeEvent: DragEvent | PointerEvent;
19
20
  position: Position;
20
21
  panel: IPaneviewPanel;
21
22
  getData: () => PaneTransfer | undefined;
22
23
  }
23
24
  export declare class PaneviewUnhandledDragOverEvent extends AcceptableEvent implements PaneviewDndOverlayEvent {
24
- readonly nativeEvent: DragEvent;
25
+ readonly nativeEvent: DragEvent | PointerEvent;
25
26
  readonly position: Position;
26
27
  readonly getData: () => PaneTransfer | undefined;
27
28
  readonly panel: IPaneviewPanel;
28
- constructor(nativeEvent: DragEvent, position: Position, getData: () => PaneTransfer | undefined, panel: IPaneviewPanel);
29
+ constructor(nativeEvent: DragEvent | PointerEvent, position: Position, getData: () => PaneTransfer | undefined, panel: IPaneviewPanel);
29
30
  }
@@ -1,3 +1,4 @@
1
+ import { CspNonceProvider } from './dom';
1
2
  import { CompositeDisposable } from './lifecycle';
2
3
  import { Box } from './types';
3
4
  export type PopoutWindowOptions = {
@@ -10,6 +11,7 @@ export type PopoutWindowOptions = {
10
11
  id: string;
11
12
  window: Window;
12
13
  }) => void;
14
+ nonce?: CspNonceProvider;
13
15
  } & Box;
14
16
  /**
15
17
  * Reject popout URLs that aren't same-origin http(s). Blocks `javascript:`,
@@ -204,7 +204,9 @@ var PopoutWindow = /** @class */ (function (_super) {
204
204
  var externalDocument = externalWindow.document;
205
205
  externalDocument.title = document.title;
206
206
  externalDocument.body.appendChild(container);
207
- (0, dom_1.addStyles)(externalDocument, window.document.styleSheets);
207
+ (0, dom_1.addStyles)(externalDocument, window.document.styleSheets, {
208
+ nonce: _this.options.nonce,
209
+ });
208
210
  /**
209
211
  * beforeunload must be registered after load for reasons I could not determine
210
212
  * otherwise the beforeunload event will not fire when the window is closed