dockview-core 1.8.4 → 1.9.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 (464) hide show
  1. package/README.md +58 -51
  2. package/dist/cjs/api/component.api.d.ts +467 -152
  3. package/dist/cjs/api/component.api.d.ts.map +1 -1
  4. package/dist/cjs/api/component.api.js +917 -592
  5. package/dist/cjs/api/component.api.js.map +1 -1
  6. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +36 -29
  7. package/dist/cjs/api/dockviewGroupPanelApi.d.ts.map +1 -1
  8. package/dist/cjs/api/dockviewGroupPanelApi.js +83 -53
  9. package/dist/cjs/api/dockviewGroupPanelApi.js.map +1 -1
  10. package/dist/cjs/api/dockviewPanelApi.d.ts +64 -47
  11. package/dist/cjs/api/dockviewPanelApi.d.ts.map +1 -1
  12. package/dist/cjs/api/dockviewPanelApi.js +108 -88
  13. package/dist/cjs/api/dockviewPanelApi.js.map +1 -1
  14. package/dist/cjs/api/gridviewPanelApi.d.ts +37 -37
  15. package/dist/cjs/api/gridviewPanelApi.js +47 -47
  16. package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
  17. package/dist/cjs/api/panelApi.d.ts +88 -88
  18. package/dist/cjs/api/panelApi.js +135 -135
  19. package/dist/cjs/api/panelApi.js.map +1 -1
  20. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  21. package/dist/cjs/api/paneviewPanelApi.js +57 -57
  22. package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
  23. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
  24. package/dist/cjs/api/splitviewPanelApi.js +47 -47
  25. package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
  26. package/dist/cjs/array.d.ts +13 -13
  27. package/dist/cjs/array.js +67 -67
  28. package/dist/cjs/array.js.map +1 -1
  29. package/dist/cjs/constants.d.ts +6 -0
  30. package/dist/cjs/constants.d.ts.map +1 -0
  31. package/dist/cjs/constants.js +6 -0
  32. package/dist/cjs/constants.js.map +1 -0
  33. package/dist/cjs/dnd/abstractDragHandler.d.ts +12 -12
  34. package/dist/cjs/dnd/abstractDragHandler.js +141 -141
  35. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  36. package/dist/cjs/dnd/dataTransfer.d.ts +30 -31
  37. package/dist/cjs/dnd/dataTransfer.d.ts.map +1 -1
  38. package/dist/cjs/dnd/dataTransfer.js +99 -100
  39. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  40. package/dist/cjs/dnd/dnd.d.ts +32 -27
  41. package/dist/cjs/dnd/dnd.d.ts.map +1 -1
  42. package/dist/cjs/dnd/dnd.js +74 -59
  43. package/dist/cjs/dnd/dnd.js.map +1 -1
  44. package/dist/cjs/dnd/droptarget.d.ts +55 -53
  45. package/dist/cjs/dnd/droptarget.d.ts.map +1 -1
  46. package/dist/cjs/dnd/droptarget.js +305 -304
  47. package/dist/cjs/dnd/droptarget.js.map +1 -1
  48. package/dist/cjs/dnd/ghost.d.ts +1 -1
  49. package/dist/cjs/dnd/ghost.js +15 -15
  50. package/dist/cjs/dnd/groupDragHandler.d.ts +12 -12
  51. package/dist/cjs/dnd/groupDragHandler.js +77 -77
  52. package/dist/cjs/dnd/groupDragHandler.js.map +1 -1
  53. package/dist/cjs/dnd/overlay.d.ts +30 -43
  54. package/dist/cjs/dnd/overlay.d.ts.map +1 -1
  55. package/dist/cjs/dnd/overlay.js +412 -412
  56. package/dist/cjs/dnd/overlay.js.map +1 -1
  57. package/dist/cjs/dockview/components/panel/content.d.ts +43 -30
  58. package/dist/cjs/dockview/components/panel/content.d.ts.map +1 -1
  59. package/dist/cjs/dockview/components/panel/content.js +159 -100
  60. package/dist/cjs/dockview/components/panel/content.js.map +1 -1
  61. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +21 -21
  62. package/dist/cjs/dockview/components/tab/defaultTab.js +105 -105
  63. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  64. package/dist/cjs/dockview/components/tab/tab.d.ts +34 -34
  65. package/dist/cjs/dockview/components/tab/tab.js +120 -120
  66. package/dist/cjs/dockview/components/tab/tab.js.map +1 -1
  67. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +81 -81
  68. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +325 -325
  69. package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -1
  70. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +17 -17
  71. package/dist/cjs/dockview/components/titlebar/voidContainer.js +77 -77
  72. package/dist/cjs/dockview/components/titlebar/voidContainer.js.map +1 -1
  73. package/dist/cjs/dockview/components/watermark/watermark.d.ts +18 -18
  74. package/dist/cjs/dockview/components/watermark/watermark.js +87 -87
  75. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  76. package/dist/cjs/dockview/deserializer.d.ts +12 -12
  77. package/dist/cjs/dockview/deserializer.d.ts.map +1 -1
  78. package/dist/cjs/dockview/deserializer.js +35 -33
  79. package/dist/cjs/dockview/deserializer.js.map +1 -1
  80. package/dist/cjs/dockview/dockviewComponent.d.ts +171 -159
  81. package/dist/cjs/dockview/dockviewComponent.d.ts.map +1 -1
  82. package/dist/cjs/dockview/dockviewComponent.js +1354 -1156
  83. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  84. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +23 -23
  85. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +34 -34
  86. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js.map +1 -1
  87. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +30 -30
  88. package/dist/cjs/dockview/dockviewGroupPanel.d.ts.map +1 -1
  89. package/dist/cjs/dockview/dockviewGroupPanel.js +99 -97
  90. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  91. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +186 -185
  92. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts.map +1 -1
  93. package/dist/cjs/dockview/dockviewGroupPanelModel.js +626 -631
  94. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -1
  95. package/dist/cjs/dockview/dockviewPanel.d.ts +48 -41
  96. package/dist/cjs/dockview/dockviewPanel.d.ts.map +1 -1
  97. package/dist/cjs/dockview/dockviewPanel.js +194 -171
  98. package/dist/cjs/dockview/dockviewPanel.js.map +1 -1
  99. package/dist/cjs/dockview/dockviewPanelModel.d.ts +35 -35
  100. package/dist/cjs/dockview/dockviewPanelModel.js +98 -98
  101. package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -1
  102. package/dist/cjs/dockview/dockviewPopoutGroupPanel.d.ts +16 -0
  103. package/dist/cjs/dockview/dockviewPopoutGroupPanel.d.ts.map +1 -0
  104. package/dist/cjs/dockview/dockviewPopoutGroupPanel.js +50 -0
  105. package/dist/cjs/dockview/dockviewPopoutGroupPanel.js.map +1 -0
  106. package/dist/cjs/dockview/options.d.ts +138 -136
  107. package/dist/cjs/dockview/options.d.ts.map +1 -1
  108. package/dist/cjs/dockview/options.js +31 -31
  109. package/dist/cjs/dockview/options.js.map +1 -1
  110. package/dist/cjs/dockview/types.d.ts +65 -63
  111. package/dist/cjs/dockview/types.d.ts.map +1 -1
  112. package/dist/cjs/dockview/types.js +10 -10
  113. package/dist/cjs/dockview/types.js.map +1 -1
  114. package/dist/cjs/dom.d.ts +28 -16
  115. package/dist/cjs/dom.d.ts.map +1 -1
  116. package/dist/cjs/dom.js +276 -197
  117. package/dist/cjs/dom.js.map +1 -1
  118. package/dist/cjs/events.d.ts +47 -47
  119. package/dist/cjs/events.js +216 -216
  120. package/dist/cjs/events.js.map +1 -1
  121. package/dist/cjs/gridview/baseComponentGridview.d.ts +98 -87
  122. package/dist/cjs/gridview/baseComponentGridview.d.ts.map +1 -1
  123. package/dist/cjs/gridview/baseComponentGridview.js +289 -270
  124. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  125. package/dist/cjs/gridview/basePanelView.d.ts +40 -40
  126. package/dist/cjs/gridview/basePanelView.js +156 -156
  127. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  128. package/dist/cjs/gridview/branchNode.d.ts +51 -49
  129. package/dist/cjs/gridview/branchNode.d.ts.map +1 -1
  130. package/dist/cjs/gridview/branchNode.js +370 -343
  131. package/dist/cjs/gridview/branchNode.js.map +1 -1
  132. package/dist/cjs/gridview/gridview.d.ts +140 -133
  133. package/dist/cjs/gridview/gridview.d.ts.map +1 -1
  134. package/dist/cjs/gridview/gridview.js +627 -547
  135. package/dist/cjs/gridview/gridview.js.map +1 -1
  136. package/dist/cjs/gridview/gridviewComponent.d.ts +80 -80
  137. package/dist/cjs/gridview/gridviewComponent.d.ts.map +1 -1
  138. package/dist/cjs/gridview/gridviewComponent.js +362 -360
  139. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  140. package/dist/cjs/gridview/gridviewPanel.d.ts +65 -65
  141. package/dist/cjs/gridview/gridviewPanel.js +214 -214
  142. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  143. package/dist/cjs/gridview/leafNode.d.ts +34 -34
  144. package/dist/cjs/gridview/leafNode.d.ts.map +1 -1
  145. package/dist/cjs/gridview/leafNode.js +169 -170
  146. package/dist/cjs/gridview/leafNode.js.map +1 -1
  147. package/dist/cjs/gridview/options.d.ts +17 -18
  148. package/dist/cjs/gridview/options.d.ts.map +1 -1
  149. package/dist/cjs/gridview/options.js +2 -2
  150. package/dist/cjs/gridview/types.d.ts +3 -3
  151. package/dist/cjs/gridview/types.js +2 -2
  152. package/dist/cjs/index.d.ts +43 -42
  153. package/dist/cjs/index.d.ts.map +1 -1
  154. package/dist/cjs/index.js +61 -61
  155. package/dist/cjs/index.js.map +1 -1
  156. package/dist/cjs/lifecycle.d.ts +24 -23
  157. package/dist/cjs/lifecycle.d.ts.map +1 -1
  158. package/dist/cjs/lifecycle.js +73 -65
  159. package/dist/cjs/lifecycle.js.map +1 -1
  160. package/dist/cjs/math.d.ts +5 -5
  161. package/dist/cjs/math.js +34 -34
  162. package/dist/cjs/math.js.map +1 -1
  163. package/dist/cjs/overlayRenderContainer.d.ts +19 -0
  164. package/dist/cjs/overlayRenderContainer.d.ts.map +1 -0
  165. package/dist/cjs/overlayRenderContainer.js +170 -0
  166. package/dist/cjs/overlayRenderContainer.js.map +1 -0
  167. package/dist/cjs/panel/componentFactory.d.ts +11 -10
  168. package/dist/cjs/panel/componentFactory.d.ts.map +1 -1
  169. package/dist/cjs/panel/componentFactory.js +30 -30
  170. package/dist/cjs/panel/componentFactory.js.map +1 -1
  171. package/dist/cjs/panel/types.d.ts +33 -33
  172. package/dist/cjs/panel/types.js +2 -2
  173. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
  174. package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
  175. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  176. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +21 -21
  177. package/dist/cjs/paneview/draggablePaneviewPanel.js +131 -131
  178. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  179. package/dist/cjs/paneview/options.d.ts +25 -28
  180. package/dist/cjs/paneview/options.d.ts.map +1 -1
  181. package/dist/cjs/paneview/options.js +2 -2
  182. package/dist/cjs/paneview/paneview.d.ts +40 -40
  183. package/dist/cjs/paneview/paneview.d.ts.map +1 -1
  184. package/dist/cjs/paneview/paneview.js +200 -201
  185. package/dist/cjs/paneview/paneview.js.map +1 -1
  186. package/dist/cjs/paneview/paneviewComponent.d.ts +128 -128
  187. package/dist/cjs/paneview/paneviewComponent.js +400 -397
  188. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  189. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -92
  190. package/dist/cjs/paneview/paneviewPanel.d.ts.map +1 -1
  191. package/dist/cjs/paneview/paneviewPanel.js +275 -275
  192. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  193. package/dist/cjs/popoutWindow.d.ts +18 -0
  194. package/dist/cjs/popoutWindow.d.ts.map +1 -0
  195. package/dist/cjs/popoutWindow.js +130 -0
  196. package/dist/cjs/popoutWindow.js.map +1 -0
  197. package/dist/cjs/resizable.d.ts +10 -7
  198. package/dist/cjs/resizable.d.ts.map +1 -1
  199. package/dist/cjs/resizable.js +79 -64
  200. package/dist/cjs/resizable.js.map +1 -1
  201. package/dist/cjs/splitview/options.d.ts +26 -27
  202. package/dist/cjs/splitview/options.d.ts.map +1 -1
  203. package/dist/cjs/splitview/options.js +2 -2
  204. package/dist/cjs/splitview/splitview.d.ts +129 -128
  205. package/dist/cjs/splitview/splitview.d.ts.map +1 -1
  206. package/dist/cjs/splitview/splitview.js +959 -936
  207. package/dist/cjs/splitview/splitview.js.map +1 -1
  208. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
  209. package/dist/cjs/splitview/splitviewComponent.js +395 -392
  210. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  211. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -45
  212. package/dist/cjs/splitview/splitviewPanel.d.ts.map +1 -1
  213. package/dist/cjs/splitview/splitviewPanel.js +179 -179
  214. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  215. package/dist/cjs/splitview/viewItem.d.ts +25 -25
  216. package/dist/cjs/splitview/viewItem.js +119 -119
  217. package/dist/cjs/splitview/viewItem.js.map +1 -1
  218. package/dist/cjs/svg.d.ts +3 -3
  219. package/dist/cjs/svg.js +43 -43
  220. package/dist/cjs/types.d.ts +8 -2
  221. package/dist/cjs/types.d.ts.map +1 -1
  222. package/dist/cjs/types.js +2 -2
  223. package/dist/dockview-core.amd.js +8374 -7314
  224. package/dist/dockview-core.amd.js.map +1 -1
  225. package/dist/dockview-core.amd.min.js +2 -2
  226. package/dist/dockview-core.amd.min.js.map +1 -1
  227. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  228. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  229. package/dist/dockview-core.amd.noStyle.js +8328 -7268
  230. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  231. package/dist/dockview-core.cjs.js +8374 -7314
  232. package/dist/dockview-core.cjs.js.map +1 -1
  233. package/dist/dockview-core.esm.js +8374 -7314
  234. package/dist/dockview-core.esm.js.map +1 -1
  235. package/dist/dockview-core.esm.min.js +2 -2
  236. package/dist/dockview-core.esm.min.js.map +1 -1
  237. package/dist/dockview-core.js +8374 -7314
  238. package/dist/dockview-core.js.map +1 -1
  239. package/dist/dockview-core.min.js +2 -2
  240. package/dist/dockview-core.min.js.map +1 -1
  241. package/dist/dockview-core.min.noStyle.js +2 -2
  242. package/dist/dockview-core.min.noStyle.js.map +1 -1
  243. package/dist/dockview-core.noStyle.js +8328 -7268
  244. package/dist/dockview-core.noStyle.js.map +1 -1
  245. package/dist/esm/api/component.api.d.ts +467 -152
  246. package/dist/esm/api/component.api.d.ts.map +1 -1
  247. package/dist/esm/api/component.api.js +656 -335
  248. package/dist/esm/api/component.api.js.map +1 -1
  249. package/dist/esm/api/dockviewGroupPanelApi.d.ts +36 -29
  250. package/dist/esm/api/dockviewGroupPanelApi.d.ts.map +1 -1
  251. package/dist/esm/api/dockviewGroupPanelApi.js +57 -27
  252. package/dist/esm/api/dockviewGroupPanelApi.js.map +1 -1
  253. package/dist/esm/api/dockviewPanelApi.d.ts +64 -47
  254. package/dist/esm/api/dockviewPanelApi.d.ts.map +1 -1
  255. package/dist/esm/api/dockviewPanelApi.js +69 -53
  256. package/dist/esm/api/dockviewPanelApi.js.map +1 -1
  257. package/dist/esm/api/gridviewPanelApi.d.ts +37 -37
  258. package/dist/esm/api/gridviewPanelApi.js +25 -25
  259. package/dist/esm/api/gridviewPanelApi.js.map +1 -1
  260. package/dist/esm/api/panelApi.d.ts +88 -88
  261. package/dist/esm/api/panelApi.js +93 -93
  262. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  263. package/dist/esm/api/paneviewPanelApi.js +27 -27
  264. package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
  265. package/dist/esm/api/splitviewPanelApi.js +25 -25
  266. package/dist/esm/array.d.ts +13 -13
  267. package/dist/esm/array.js +57 -57
  268. package/dist/esm/array.js.map +1 -1
  269. package/dist/esm/constants.d.ts +6 -0
  270. package/dist/esm/constants.d.ts.map +1 -0
  271. package/dist/esm/constants.js +3 -0
  272. package/dist/esm/constants.js.map +1 -0
  273. package/dist/esm/dnd/abstractDragHandler.d.ts +12 -12
  274. package/dist/esm/dnd/abstractDragHandler.js +63 -63
  275. package/dist/esm/dnd/abstractDragHandler.js.map +1 -1
  276. package/dist/esm/dnd/dataTransfer.d.ts +30 -31
  277. package/dist/esm/dnd/dataTransfer.d.ts.map +1 -1
  278. package/dist/esm/dnd/dataTransfer.js +66 -69
  279. package/dist/esm/dnd/dataTransfer.js.map +1 -1
  280. package/dist/esm/dnd/dnd.d.ts +32 -27
  281. package/dist/esm/dnd/dnd.d.ts.map +1 -1
  282. package/dist/esm/dnd/dnd.js +51 -36
  283. package/dist/esm/dnd/dnd.js.map +1 -1
  284. package/dist/esm/dnd/droptarget.d.ts +55 -53
  285. package/dist/esm/dnd/droptarget.d.ts.map +1 -1
  286. package/dist/esm/dnd/droptarget.js +275 -274
  287. package/dist/esm/dnd/droptarget.js.map +1 -1
  288. package/dist/esm/dnd/ghost.d.ts +1 -1
  289. package/dist/esm/dnd/ghost.js +11 -11
  290. package/dist/esm/dnd/groupDragHandler.d.ts +12 -12
  291. package/dist/esm/dnd/groupDragHandler.js +54 -54
  292. package/dist/esm/dnd/groupDragHandler.js.map +1 -1
  293. package/dist/esm/dnd/overlay.d.ts +30 -43
  294. package/dist/esm/dnd/overlay.d.ts.map +1 -1
  295. package/dist/esm/dnd/overlay.js +304 -304
  296. package/dist/esm/dnd/overlay.js.map +1 -1
  297. package/dist/esm/dockview/components/panel/content.d.ts +43 -30
  298. package/dist/esm/dockview/components/panel/content.d.ts.map +1 -1
  299. package/dist/esm/dockview/components/panel/content.js +131 -73
  300. package/dist/esm/dockview/components/panel/content.js.map +1 -1
  301. package/dist/esm/dockview/components/tab/defaultTab.d.ts +21 -21
  302. package/dist/esm/dockview/components/tab/defaultTab.js +67 -67
  303. package/dist/esm/dockview/components/tab/defaultTab.js.map +1 -1
  304. package/dist/esm/dockview/components/tab/tab.d.ts +34 -34
  305. package/dist/esm/dockview/components/tab/tab.js +90 -90
  306. package/dist/esm/dockview/components/tab/tab.js.map +1 -1
  307. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +81 -81
  308. package/dist/esm/dockview/components/titlebar/tabsContainer.js +239 -239
  309. package/dist/esm/dockview/components/titlebar/tabsContainer.js.map +1 -1
  310. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +17 -17
  311. package/dist/esm/dockview/components/titlebar/voidContainer.js +51 -51
  312. package/dist/esm/dockview/components/titlebar/voidContainer.js.map +1 -1
  313. package/dist/esm/dockview/components/watermark/watermark.d.ts +18 -18
  314. package/dist/esm/dockview/components/watermark/watermark.js +61 -61
  315. package/dist/esm/dockview/components/watermark/watermark.js.map +1 -1
  316. package/dist/esm/dockview/deserializer.d.ts +12 -12
  317. package/dist/esm/dockview/deserializer.d.ts.map +1 -1
  318. package/dist/esm/dockview/deserializer.js +30 -28
  319. package/dist/esm/dockview/deserializer.js.map +1 -1
  320. package/dist/esm/dockview/dockviewComponent.d.ts +171 -159
  321. package/dist/esm/dockview/dockviewComponent.d.ts.map +1 -1
  322. package/dist/esm/dockview/dockviewComponent.js +1078 -918
  323. package/dist/esm/dockview/dockviewComponent.js.map +1 -1
  324. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +23 -23
  325. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +12 -12
  326. package/dist/esm/dockview/dockviewGroupPanel.d.ts +30 -30
  327. package/dist/esm/dockview/dockviewGroupPanel.d.ts.map +1 -1
  328. package/dist/esm/dockview/dockviewGroupPanel.js +53 -51
  329. package/dist/esm/dockview/dockviewGroupPanel.js.map +1 -1
  330. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +186 -185
  331. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts.map +1 -1
  332. package/dist/esm/dockview/dockviewGroupPanelModel.js +493 -498
  333. package/dist/esm/dockview/dockviewGroupPanelModel.js.map +1 -1
  334. package/dist/esm/dockview/dockviewPanel.d.ts +48 -41
  335. package/dist/esm/dockview/dockviewPanel.d.ts.map +1 -1
  336. package/dist/esm/dockview/dockviewPanel.js +123 -104
  337. package/dist/esm/dockview/dockviewPanel.js.map +1 -1
  338. package/dist/esm/dockview/dockviewPanelModel.d.ts +35 -35
  339. package/dist/esm/dockview/dockviewPanelModel.js +74 -74
  340. package/dist/esm/dockview/dockviewPanelModel.js.map +1 -1
  341. package/dist/esm/dockview/dockviewPopoutGroupPanel.d.ts +16 -0
  342. package/dist/esm/dockview/dockviewPopoutGroupPanel.d.ts.map +1 -0
  343. package/dist/esm/dockview/dockviewPopoutGroupPanel.js +28 -0
  344. package/dist/esm/dockview/dockviewPopoutGroupPanel.js.map +1 -0
  345. package/dist/esm/dockview/options.d.ts +138 -136
  346. package/dist/esm/dockview/options.d.ts.map +1 -1
  347. package/dist/esm/dockview/options.js +24 -24
  348. package/dist/esm/dockview/options.js.map +1 -1
  349. package/dist/esm/dockview/types.d.ts +65 -63
  350. package/dist/esm/dockview/types.d.ts.map +1 -1
  351. package/dist/esm/dockview/types.js +7 -7
  352. package/dist/esm/dockview/types.js.map +1 -1
  353. package/dist/esm/dom.d.ts +28 -16
  354. package/dist/esm/dom.d.ts.map +1 -1
  355. package/dist/esm/dom.js +181 -126
  356. package/dist/esm/dom.js.map +1 -1
  357. package/dist/esm/events.d.ts +47 -47
  358. package/dist/esm/events.js +156 -156
  359. package/dist/esm/events.js.map +1 -1
  360. package/dist/esm/gridview/baseComponentGridview.d.ts +98 -87
  361. package/dist/esm/gridview/baseComponentGridview.d.ts.map +1 -1
  362. package/dist/esm/gridview/baseComponentGridview.js +199 -184
  363. package/dist/esm/gridview/baseComponentGridview.js.map +1 -1
  364. package/dist/esm/gridview/basePanelView.d.ts +40 -40
  365. package/dist/esm/gridview/basePanelView.js +85 -85
  366. package/dist/esm/gridview/basePanelView.js.map +1 -1
  367. package/dist/esm/gridview/branchNode.d.ts +51 -49
  368. package/dist/esm/gridview/branchNode.d.ts.map +1 -1
  369. package/dist/esm/gridview/branchNode.js +240 -219
  370. package/dist/esm/gridview/branchNode.js.map +1 -1
  371. package/dist/esm/gridview/gridview.d.ts +140 -133
  372. package/dist/esm/gridview/gridview.d.ts.map +1 -1
  373. package/dist/esm/gridview/gridview.js +541 -461
  374. package/dist/esm/gridview/gridview.js.map +1 -1
  375. package/dist/esm/gridview/gridviewComponent.d.ts +80 -80
  376. package/dist/esm/gridview/gridviewComponent.d.ts.map +1 -1
  377. package/dist/esm/gridview/gridviewComponent.js +264 -262
  378. package/dist/esm/gridview/gridviewComponent.js.map +1 -1
  379. package/dist/esm/gridview/gridviewPanel.d.ts +65 -65
  380. package/dist/esm/gridview/gridviewPanel.js +151 -151
  381. package/dist/esm/gridview/gridviewPanel.js.map +1 -1
  382. package/dist/esm/gridview/leafNode.d.ts +34 -34
  383. package/dist/esm/gridview/leafNode.d.ts.map +1 -1
  384. package/dist/esm/gridview/leafNode.js +102 -103
  385. package/dist/esm/gridview/leafNode.js.map +1 -1
  386. package/dist/esm/gridview/options.d.ts +17 -18
  387. package/dist/esm/gridview/options.d.ts.map +1 -1
  388. package/dist/esm/gridview/options.js +1 -1
  389. package/dist/esm/gridview/types.d.ts +3 -3
  390. package/dist/esm/gridview/types.js +1 -1
  391. package/dist/esm/index.d.ts +43 -42
  392. package/dist/esm/index.d.ts.map +1 -1
  393. package/dist/esm/index.js +34 -34
  394. package/dist/esm/index.js.map +1 -1
  395. package/dist/esm/lifecycle.d.ts +24 -23
  396. package/dist/esm/lifecycle.d.ts.map +1 -1
  397. package/dist/esm/lifecycle.js +49 -41
  398. package/dist/esm/lifecycle.js.map +1 -1
  399. package/dist/esm/math.d.ts +5 -5
  400. package/dist/esm/math.js +28 -28
  401. package/dist/esm/math.js.map +1 -1
  402. package/dist/esm/overlayRenderContainer.d.ts +19 -0
  403. package/dist/esm/overlayRenderContainer.d.ts.map +1 -0
  404. package/dist/esm/overlayRenderContainer.js +125 -0
  405. package/dist/esm/overlayRenderContainer.js.map +1 -0
  406. package/dist/esm/panel/componentFactory.d.ts +11 -10
  407. package/dist/esm/panel/componentFactory.d.ts.map +1 -1
  408. package/dist/esm/panel/componentFactory.js +24 -24
  409. package/dist/esm/panel/componentFactory.js.map +1 -1
  410. package/dist/esm/panel/types.d.ts +33 -33
  411. package/dist/esm/panel/types.js +1 -1
  412. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
  413. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
  414. package/dist/esm/paneview/defaultPaneviewHeader.js.map +1 -1
  415. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +21 -21
  416. package/dist/esm/paneview/draggablePaneviewPanel.js +92 -92
  417. package/dist/esm/paneview/draggablePaneviewPanel.js.map +1 -1
  418. package/dist/esm/paneview/options.d.ts +25 -28
  419. package/dist/esm/paneview/options.d.ts.map +1 -1
  420. package/dist/esm/paneview/options.js +1 -1
  421. package/dist/esm/paneview/paneview.d.ts +40 -40
  422. package/dist/esm/paneview/paneview.d.ts.map +1 -1
  423. package/dist/esm/paneview/paneview.js +145 -145
  424. package/dist/esm/paneview/paneview.js.map +1 -1
  425. package/dist/esm/paneview/paneviewComponent.d.ts +128 -128
  426. package/dist/esm/paneview/paneviewComponent.js +276 -273
  427. package/dist/esm/paneview/paneviewComponent.js.map +1 -1
  428. package/dist/esm/paneview/paneviewPanel.d.ts +92 -92
  429. package/dist/esm/paneview/paneviewPanel.d.ts.map +1 -1
  430. package/dist/esm/paneview/paneviewPanel.js +192 -192
  431. package/dist/esm/paneview/paneviewPanel.js.map +1 -1
  432. package/dist/esm/popoutWindow.d.ts +18 -0
  433. package/dist/esm/popoutWindow.d.ts.map +1 -0
  434. package/dist/esm/popoutWindow.js +88 -0
  435. package/dist/esm/popoutWindow.js.map +1 -0
  436. package/dist/esm/resizable.d.ts +10 -7
  437. package/dist/esm/resizable.d.ts.map +1 -1
  438. package/dist/esm/resizable.js +48 -38
  439. package/dist/esm/resizable.js.map +1 -1
  440. package/dist/esm/splitview/options.d.ts +26 -27
  441. package/dist/esm/splitview/options.d.ts.map +1 -1
  442. package/dist/esm/splitview/options.js +1 -1
  443. package/dist/esm/splitview/splitview.d.ts +129 -128
  444. package/dist/esm/splitview/splitview.d.ts.map +1 -1
  445. package/dist/esm/splitview/splitview.js +721 -704
  446. package/dist/esm/splitview/splitview.js.map +1 -1
  447. package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
  448. package/dist/esm/splitview/splitviewComponent.js +261 -258
  449. package/dist/esm/splitview/splitviewComponent.js.map +1 -1
  450. package/dist/esm/splitview/splitviewPanel.d.ts +45 -45
  451. package/dist/esm/splitview/splitviewPanel.d.ts.map +1 -1
  452. package/dist/esm/splitview/splitviewPanel.js +108 -108
  453. package/dist/esm/splitview/splitviewPanel.js.map +1 -1
  454. package/dist/esm/splitview/viewItem.d.ts +25 -25
  455. package/dist/esm/splitview/viewItem.js +74 -74
  456. package/dist/esm/splitview/viewItem.js.map +1 -1
  457. package/dist/esm/svg.d.ts +3 -3
  458. package/dist/esm/svg.js +31 -31
  459. package/dist/esm/types.d.ts +8 -2
  460. package/dist/esm/types.d.ts.map +1 -1
  461. package/dist/esm/types.js +1 -1
  462. package/dist/styles/dockview.css +33 -2
  463. package/package.json +30 -42
  464. package/LICENSE +0 -21
@@ -1,305 +1,305 @@
1
- import { getElementsByTagName, quasiDefaultPrevented, toggleClass, } from '../dom';
2
- import { Emitter, addDisposableListener, addDisposableWindowListener, } from '../events';
3
- import { CompositeDisposable, MutableDisposable } from '../lifecycle';
4
- import { clamp } from '../math';
5
- const bringElementToFront = (() => {
6
- let previous = null;
7
- function pushToTop(element) {
8
- if (previous !== element && previous !== null) {
9
- toggleClass(previous, 'dv-bring-to-front', false);
10
- }
11
- toggleClass(element, 'dv-bring-to-front', true);
12
- previous = element;
13
- }
14
- return pushToTop;
15
- })();
16
- export class Overlay extends CompositeDisposable {
17
- set minimumInViewportWidth(value) {
18
- this.options.minimumInViewportWidth = value;
19
- }
20
- set minimumInViewportHeight(value) {
21
- this.options.minimumInViewportHeight = value;
22
- }
23
- constructor(options) {
24
- super();
25
- this.options = options;
26
- this._element = document.createElement('div');
27
- this._onDidChange = new Emitter();
28
- this.onDidChange = this._onDidChange.event;
29
- this._onDidChangeEnd = new Emitter();
30
- this.onDidChangeEnd = this._onDidChangeEnd.event;
31
- this.addDisposables(this._onDidChange, this._onDidChangeEnd);
32
- this._element.className = 'dv-resize-container';
33
- this.setupResize('top');
34
- this.setupResize('bottom');
35
- this.setupResize('left');
36
- this.setupResize('right');
37
- this.setupResize('topleft');
38
- this.setupResize('topright');
39
- this.setupResize('bottomleft');
40
- this.setupResize('bottomright');
41
- this._element.appendChild(this.options.content);
42
- this.options.container.appendChild(this._element);
43
- // if input bad resize within acceptable boundaries
44
- this.setBounds({
45
- height: this.options.height,
46
- width: this.options.width,
47
- top: this.options.top,
48
- left: this.options.left,
49
- });
50
- }
51
- setBounds(bounds = {}) {
52
- if (typeof bounds.height === 'number') {
53
- this._element.style.height = `${bounds.height}px`;
54
- }
55
- if (typeof bounds.width === 'number') {
56
- this._element.style.width = `${bounds.width}px`;
57
- }
58
- if (typeof bounds.top === 'number') {
59
- this._element.style.top = `${bounds.top}px`;
60
- }
61
- if (typeof bounds.left === 'number') {
62
- this._element.style.left = `${bounds.left}px`;
63
- }
64
- const containerRect = this.options.container.getBoundingClientRect();
65
- const overlayRect = this._element.getBoundingClientRect();
66
- // region: ensure bounds within allowable limits
67
- // a minimum width of minimumViewportWidth must be inside the viewport
68
- const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
69
- // a minimum height of minimumViewportHeight must be inside the viewport
70
- const yOffset = typeof this.options.minimumInViewportHeight === 'number'
71
- ? Math.max(0, this.getMinimumHeight(overlayRect.height))
72
- : 0;
73
- const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
74
- const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
75
- this._element.style.left = `${left}px`;
76
- this._element.style.top = `${top}px`;
77
- this._onDidChange.fire();
78
- }
79
- toJSON() {
80
- const container = this.options.container.getBoundingClientRect();
81
- const element = this._element.getBoundingClientRect();
82
- return {
83
- top: element.top - container.top,
84
- left: element.left - container.left,
85
- width: element.width,
86
- height: element.height,
87
- };
88
- }
89
- setupDrag(dragTarget, options = { inDragMode: false }) {
90
- const move = new MutableDisposable();
91
- const track = () => {
92
- let offset = null;
93
- const iframes = [
94
- ...getElementsByTagName('iframe'),
95
- ...getElementsByTagName('webview'),
96
- ];
97
- for (const iframe of iframes) {
98
- iframe.style.pointerEvents = 'none';
99
- }
100
- move.value = new CompositeDisposable({
101
- dispose: () => {
102
- for (const iframe of iframes) {
103
- iframe.style.pointerEvents = 'auto';
104
- }
105
- },
106
- }, addDisposableWindowListener(window, 'mousemove', (e) => {
107
- const containerRect = this.options.container.getBoundingClientRect();
108
- const x = e.clientX - containerRect.left;
109
- const y = e.clientY - containerRect.top;
110
- toggleClass(this._element, 'dv-resize-container-dragging', true);
111
- const overlayRect = this._element.getBoundingClientRect();
112
- if (offset === null) {
113
- offset = {
114
- x: e.clientX - overlayRect.left,
115
- y: e.clientY - overlayRect.top,
116
- };
117
- }
118
- const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
119
- const yOffset = Math.max(0, this.options.minimumInViewportHeight
120
- ? this.getMinimumHeight(overlayRect.height)
121
- : 0);
122
- const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
123
- const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
124
- this.setBounds({ top, left });
125
- }), addDisposableWindowListener(window, 'mouseup', () => {
126
- toggleClass(this._element, 'dv-resize-container-dragging', false);
127
- move.dispose();
128
- this._onDidChangeEnd.fire();
129
- }));
130
- };
131
- this.addDisposables(move, addDisposableListener(dragTarget, 'mousedown', (event) => {
132
- if (event.defaultPrevented) {
133
- event.preventDefault();
134
- return;
135
- }
136
- // if somebody has marked this event then treat as a defaultPrevented
137
- // without actually calling event.preventDefault()
138
- if (quasiDefaultPrevented(event)) {
139
- return;
140
- }
141
- track();
142
- }), addDisposableListener(this.options.content, 'mousedown', (event) => {
143
- if (event.defaultPrevented) {
144
- return;
145
- }
146
- // if somebody has marked this event then treat as a defaultPrevented
147
- // without actually calling event.preventDefault()
148
- if (quasiDefaultPrevented(event)) {
149
- return;
150
- }
151
- if (event.shiftKey) {
152
- track();
153
- }
154
- }), addDisposableListener(this.options.content, 'mousedown', () => {
155
- bringElementToFront(this._element);
156
- }, true));
157
- bringElementToFront(this._element);
158
- if (options.inDragMode) {
159
- track();
160
- }
161
- }
162
- setupResize(direction) {
163
- const resizeHandleElement = document.createElement('div');
164
- resizeHandleElement.className = `dv-resize-handle-${direction}`;
165
- this._element.appendChild(resizeHandleElement);
166
- const move = new MutableDisposable();
167
- this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
168
- e.preventDefault();
169
- let startPosition = null;
170
- const iframes = [
171
- ...getElementsByTagName('iframe'),
172
- ...getElementsByTagName('webview'),
173
- ];
174
- for (const iframe of iframes) {
175
- iframe.style.pointerEvents = 'none';
176
- }
177
- move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
178
- const containerRect = this.options.container.getBoundingClientRect();
179
- const overlayRect = this._element.getBoundingClientRect();
180
- const y = e.clientY - containerRect.top;
181
- const x = e.clientX - containerRect.left;
182
- if (startPosition === null) {
183
- // record the initial dimensions since as all subsequence moves are relative to this
184
- startPosition = {
185
- originalY: y,
186
- originalHeight: overlayRect.height,
187
- originalX: x,
188
- originalWidth: overlayRect.width,
189
- };
190
- }
191
- let top = undefined;
192
- let height = undefined;
193
- let left = undefined;
194
- let width = undefined;
195
- const moveTop = () => {
196
- top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
197
- startPosition.originalHeight >
198
- containerRect.height
199
- ? this.getMinimumHeight(containerRect.height)
200
- : Math.max(0, startPosition.originalY +
201
- startPosition.originalHeight -
202
- Overlay.MINIMUM_HEIGHT));
203
- height =
204
- startPosition.originalY +
205
- startPosition.originalHeight -
206
- top;
207
- };
208
- const moveBottom = () => {
209
- top =
210
- startPosition.originalY -
211
- startPosition.originalHeight;
212
- height = clamp(y - top, top < 0 &&
213
- typeof this.options
214
- .minimumInViewportHeight === 'number'
215
- ? -top +
216
- this.options.minimumInViewportHeight
217
- : Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
218
- };
219
- const moveLeft = () => {
220
- left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
221
- startPosition.originalWidth >
222
- containerRect.width
223
- ? this.getMinimumWidth(containerRect.width)
224
- : Math.max(0, startPosition.originalX +
225
- startPosition.originalWidth -
226
- Overlay.MINIMUM_WIDTH));
227
- width =
228
- startPosition.originalX +
229
- startPosition.originalWidth -
230
- left;
231
- };
232
- const moveRight = () => {
233
- left =
234
- startPosition.originalX -
235
- startPosition.originalWidth;
236
- width = clamp(x - left, left < 0 &&
237
- typeof this.options
238
- .minimumInViewportWidth === 'number'
239
- ? -left +
240
- this.options.minimumInViewportWidth
241
- : Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
242
- };
243
- switch (direction) {
244
- case 'top':
245
- moveTop();
246
- break;
247
- case 'bottom':
248
- moveBottom();
249
- break;
250
- case 'left':
251
- moveLeft();
252
- break;
253
- case 'right':
254
- moveRight();
255
- break;
256
- case 'topleft':
257
- moveTop();
258
- moveLeft();
259
- break;
260
- case 'topright':
261
- moveTop();
262
- moveRight();
263
- break;
264
- case 'bottomleft':
265
- moveBottom();
266
- moveLeft();
267
- break;
268
- case 'bottomright':
269
- moveBottom();
270
- moveRight();
271
- break;
272
- }
273
- this.setBounds({ height, width, top, left });
274
- }), {
275
- dispose: () => {
276
- for (const iframe of iframes) {
277
- iframe.style.pointerEvents = 'auto';
278
- }
279
- },
280
- }, addDisposableWindowListener(window, 'mouseup', () => {
281
- move.dispose();
282
- this._onDidChangeEnd.fire();
283
- }));
284
- }));
285
- }
286
- getMinimumWidth(width) {
287
- if (typeof this.options.minimumInViewportWidth === 'number') {
288
- return width - this.options.minimumInViewportWidth;
289
- }
290
- return 0;
291
- }
292
- getMinimumHeight(height) {
293
- if (typeof this.options.minimumInViewportHeight === 'number') {
294
- return height - this.options.minimumInViewportHeight;
295
- }
296
- return height;
297
- }
298
- dispose() {
299
- this._element.remove();
300
- super.dispose();
301
- }
302
- }
303
- Overlay.MINIMUM_HEIGHT = 20;
304
- Overlay.MINIMUM_WIDTH = 20;
1
+ import { getElementsByTagName, quasiDefaultPrevented, toggleClass, } from '../dom';
2
+ import { Emitter, addDisposableListener, addDisposableWindowListener, } from '../events';
3
+ import { CompositeDisposable, MutableDisposable } from '../lifecycle';
4
+ import { clamp } from '../math';
5
+ const bringElementToFront = (() => {
6
+ let previous = null;
7
+ function pushToTop(element) {
8
+ if (previous !== element && previous !== null) {
9
+ toggleClass(previous, 'dv-bring-to-front', false);
10
+ }
11
+ toggleClass(element, 'dv-bring-to-front', true);
12
+ previous = element;
13
+ }
14
+ return pushToTop;
15
+ })();
16
+ export class Overlay extends CompositeDisposable {
17
+ set minimumInViewportWidth(value) {
18
+ this.options.minimumInViewportWidth = value;
19
+ }
20
+ set minimumInViewportHeight(value) {
21
+ this.options.minimumInViewportHeight = value;
22
+ }
23
+ constructor(options) {
24
+ super();
25
+ this.options = options;
26
+ this._element = document.createElement('div');
27
+ this._onDidChange = new Emitter();
28
+ this.onDidChange = this._onDidChange.event;
29
+ this._onDidChangeEnd = new Emitter();
30
+ this.onDidChangeEnd = this._onDidChangeEnd.event;
31
+ this.addDisposables(this._onDidChange, this._onDidChangeEnd);
32
+ this._element.className = 'dv-resize-container';
33
+ this.setupResize('top');
34
+ this.setupResize('bottom');
35
+ this.setupResize('left');
36
+ this.setupResize('right');
37
+ this.setupResize('topleft');
38
+ this.setupResize('topright');
39
+ this.setupResize('bottomleft');
40
+ this.setupResize('bottomright');
41
+ this._element.appendChild(this.options.content);
42
+ this.options.container.appendChild(this._element);
43
+ // if input bad resize within acceptable boundaries
44
+ this.setBounds({
45
+ height: this.options.height,
46
+ width: this.options.width,
47
+ top: this.options.top,
48
+ left: this.options.left,
49
+ });
50
+ }
51
+ setBounds(bounds = {}) {
52
+ if (typeof bounds.height === 'number') {
53
+ this._element.style.height = `${bounds.height}px`;
54
+ }
55
+ if (typeof bounds.width === 'number') {
56
+ this._element.style.width = `${bounds.width}px`;
57
+ }
58
+ if (typeof bounds.top === 'number') {
59
+ this._element.style.top = `${bounds.top}px`;
60
+ }
61
+ if (typeof bounds.left === 'number') {
62
+ this._element.style.left = `${bounds.left}px`;
63
+ }
64
+ const containerRect = this.options.container.getBoundingClientRect();
65
+ const overlayRect = this._element.getBoundingClientRect();
66
+ // region: ensure bounds within allowable limits
67
+ // a minimum width of minimumViewportWidth must be inside the viewport
68
+ const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
69
+ // a minimum height of minimumViewportHeight must be inside the viewport
70
+ const yOffset = typeof this.options.minimumInViewportHeight === 'number'
71
+ ? Math.max(0, this.getMinimumHeight(overlayRect.height))
72
+ : 0;
73
+ const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
74
+ const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
75
+ this._element.style.left = `${left}px`;
76
+ this._element.style.top = `${top}px`;
77
+ this._onDidChange.fire();
78
+ }
79
+ toJSON() {
80
+ const container = this.options.container.getBoundingClientRect();
81
+ const element = this._element.getBoundingClientRect();
82
+ return {
83
+ top: element.top - container.top,
84
+ left: element.left - container.left,
85
+ width: element.width,
86
+ height: element.height,
87
+ };
88
+ }
89
+ setupDrag(dragTarget, options = { inDragMode: false }) {
90
+ const move = new MutableDisposable();
91
+ const track = () => {
92
+ let offset = null;
93
+ const iframes = [
94
+ ...getElementsByTagName('iframe'),
95
+ ...getElementsByTagName('webview'),
96
+ ];
97
+ for (const iframe of iframes) {
98
+ iframe.style.pointerEvents = 'none';
99
+ }
100
+ move.value = new CompositeDisposable({
101
+ dispose: () => {
102
+ for (const iframe of iframes) {
103
+ iframe.style.pointerEvents = 'auto';
104
+ }
105
+ },
106
+ }, addDisposableWindowListener(window, 'mousemove', (e) => {
107
+ const containerRect = this.options.container.getBoundingClientRect();
108
+ const x = e.clientX - containerRect.left;
109
+ const y = e.clientY - containerRect.top;
110
+ toggleClass(this._element, 'dv-resize-container-dragging', true);
111
+ const overlayRect = this._element.getBoundingClientRect();
112
+ if (offset === null) {
113
+ offset = {
114
+ x: e.clientX - overlayRect.left,
115
+ y: e.clientY - overlayRect.top,
116
+ };
117
+ }
118
+ const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
119
+ const yOffset = Math.max(0, this.options.minimumInViewportHeight
120
+ ? this.getMinimumHeight(overlayRect.height)
121
+ : 0);
122
+ const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
123
+ const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
124
+ this.setBounds({ top, left });
125
+ }), addDisposableWindowListener(window, 'mouseup', () => {
126
+ toggleClass(this._element, 'dv-resize-container-dragging', false);
127
+ move.dispose();
128
+ this._onDidChangeEnd.fire();
129
+ }));
130
+ };
131
+ this.addDisposables(move, addDisposableListener(dragTarget, 'mousedown', (event) => {
132
+ if (event.defaultPrevented) {
133
+ event.preventDefault();
134
+ return;
135
+ }
136
+ // if somebody has marked this event then treat as a defaultPrevented
137
+ // without actually calling event.preventDefault()
138
+ if (quasiDefaultPrevented(event)) {
139
+ return;
140
+ }
141
+ track();
142
+ }), addDisposableListener(this.options.content, 'mousedown', (event) => {
143
+ if (event.defaultPrevented) {
144
+ return;
145
+ }
146
+ // if somebody has marked this event then treat as a defaultPrevented
147
+ // without actually calling event.preventDefault()
148
+ if (quasiDefaultPrevented(event)) {
149
+ return;
150
+ }
151
+ if (event.shiftKey) {
152
+ track();
153
+ }
154
+ }), addDisposableListener(this.options.content, 'mousedown', () => {
155
+ bringElementToFront(this._element);
156
+ }, true));
157
+ bringElementToFront(this._element);
158
+ if (options.inDragMode) {
159
+ track();
160
+ }
161
+ }
162
+ setupResize(direction) {
163
+ const resizeHandleElement = document.createElement('div');
164
+ resizeHandleElement.className = `dv-resize-handle-${direction}`;
165
+ this._element.appendChild(resizeHandleElement);
166
+ const move = new MutableDisposable();
167
+ this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
168
+ e.preventDefault();
169
+ let startPosition = null;
170
+ const iframes = [
171
+ ...getElementsByTagName('iframe'),
172
+ ...getElementsByTagName('webview'),
173
+ ];
174
+ for (const iframe of iframes) {
175
+ iframe.style.pointerEvents = 'none';
176
+ }
177
+ move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
178
+ const containerRect = this.options.container.getBoundingClientRect();
179
+ const overlayRect = this._element.getBoundingClientRect();
180
+ const y = e.clientY - containerRect.top;
181
+ const x = e.clientX - containerRect.left;
182
+ if (startPosition === null) {
183
+ // record the initial dimensions since as all subsequence moves are relative to this
184
+ startPosition = {
185
+ originalY: y,
186
+ originalHeight: overlayRect.height,
187
+ originalX: x,
188
+ originalWidth: overlayRect.width,
189
+ };
190
+ }
191
+ let top = undefined;
192
+ let height = undefined;
193
+ let left = undefined;
194
+ let width = undefined;
195
+ const moveTop = () => {
196
+ top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
197
+ startPosition.originalHeight >
198
+ containerRect.height
199
+ ? this.getMinimumHeight(containerRect.height)
200
+ : Math.max(0, startPosition.originalY +
201
+ startPosition.originalHeight -
202
+ Overlay.MINIMUM_HEIGHT));
203
+ height =
204
+ startPosition.originalY +
205
+ startPosition.originalHeight -
206
+ top;
207
+ };
208
+ const moveBottom = () => {
209
+ top =
210
+ startPosition.originalY -
211
+ startPosition.originalHeight;
212
+ height = clamp(y - top, top < 0 &&
213
+ typeof this.options
214
+ .minimumInViewportHeight === 'number'
215
+ ? -top +
216
+ this.options.minimumInViewportHeight
217
+ : Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
218
+ };
219
+ const moveLeft = () => {
220
+ left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
221
+ startPosition.originalWidth >
222
+ containerRect.width
223
+ ? this.getMinimumWidth(containerRect.width)
224
+ : Math.max(0, startPosition.originalX +
225
+ startPosition.originalWidth -
226
+ Overlay.MINIMUM_WIDTH));
227
+ width =
228
+ startPosition.originalX +
229
+ startPosition.originalWidth -
230
+ left;
231
+ };
232
+ const moveRight = () => {
233
+ left =
234
+ startPosition.originalX -
235
+ startPosition.originalWidth;
236
+ width = clamp(x - left, left < 0 &&
237
+ typeof this.options
238
+ .minimumInViewportWidth === 'number'
239
+ ? -left +
240
+ this.options.minimumInViewportWidth
241
+ : Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
242
+ };
243
+ switch (direction) {
244
+ case 'top':
245
+ moveTop();
246
+ break;
247
+ case 'bottom':
248
+ moveBottom();
249
+ break;
250
+ case 'left':
251
+ moveLeft();
252
+ break;
253
+ case 'right':
254
+ moveRight();
255
+ break;
256
+ case 'topleft':
257
+ moveTop();
258
+ moveLeft();
259
+ break;
260
+ case 'topright':
261
+ moveTop();
262
+ moveRight();
263
+ break;
264
+ case 'bottomleft':
265
+ moveBottom();
266
+ moveLeft();
267
+ break;
268
+ case 'bottomright':
269
+ moveBottom();
270
+ moveRight();
271
+ break;
272
+ }
273
+ this.setBounds({ height, width, top, left });
274
+ }), {
275
+ dispose: () => {
276
+ for (const iframe of iframes) {
277
+ iframe.style.pointerEvents = 'auto';
278
+ }
279
+ },
280
+ }, addDisposableWindowListener(window, 'mouseup', () => {
281
+ move.dispose();
282
+ this._onDidChangeEnd.fire();
283
+ }));
284
+ }));
285
+ }
286
+ getMinimumWidth(width) {
287
+ if (typeof this.options.minimumInViewportWidth === 'number') {
288
+ return width - this.options.minimumInViewportWidth;
289
+ }
290
+ return 0;
291
+ }
292
+ getMinimumHeight(height) {
293
+ if (typeof this.options.minimumInViewportHeight === 'number') {
294
+ return height - this.options.minimumInViewportHeight;
295
+ }
296
+ return height;
297
+ }
298
+ dispose() {
299
+ this._element.remove();
300
+ super.dispose();
301
+ }
302
+ }
303
+ Overlay.MINIMUM_HEIGHT = 20;
304
+ Overlay.MINIMUM_WIDTH = 20;
305
305
  //# sourceMappingURL=overlay.js.map