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,306 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.calculateQuadrantAsPixels = exports.calculateQuadrantAsPercentage = exports.Droptarget = exports.positionToDirection = exports.directionToPosition = void 0;
19
- var dom_1 = require("../dom");
20
- var events_1 = require("../events");
21
- var lifecycle_1 = require("../lifecycle");
22
- var dnd_1 = require("./dnd");
23
- var math_1 = require("../math");
24
- function numberOrFallback(maybeNumber, fallback) {
25
- return typeof maybeNumber === 'number' ? maybeNumber : fallback;
26
- }
27
- function directionToPosition(direction) {
28
- switch (direction) {
29
- case 'above':
30
- return 'top';
31
- case 'below':
32
- return 'bottom';
33
- case 'left':
34
- return 'left';
35
- case 'right':
36
- return 'right';
37
- case 'within':
38
- return 'center';
39
- default:
40
- throw new Error("invalid direction '".concat(direction, "'"));
41
- }
42
- }
43
- exports.directionToPosition = directionToPosition;
44
- function positionToDirection(position) {
45
- switch (position) {
46
- case 'top':
47
- return 'above';
48
- case 'bottom':
49
- return 'below';
50
- case 'left':
51
- return 'left';
52
- case 'right':
53
- return 'right';
54
- case 'center':
55
- return 'within';
56
- default:
57
- throw new Error("invalid position '".concat(position, "'"));
58
- }
59
- }
60
- exports.positionToDirection = positionToDirection;
61
- var Droptarget = /** @class */ (function (_super) {
62
- __extends(Droptarget, _super);
63
- function Droptarget(element, options) {
64
- var _this = _super.call(this) || this;
65
- _this.element = element;
66
- _this.options = options;
67
- _this._onDrop = new events_1.Emitter();
68
- _this.onDrop = _this._onDrop.event;
69
- // use a set to take advantage of #<set>.has
70
- _this._acceptedTargetZonesSet = new Set(_this.options.acceptedTargetZones);
71
- _this.addDisposables(_this._onDrop, new dnd_1.DragAndDropObserver(_this.element, {
72
- onDragEnter: function () { return undefined; },
73
- onDragOver: function (e) {
74
- if (_this._acceptedTargetZonesSet.size === 0) {
75
- _this.removeDropTarget();
76
- return;
77
- }
78
- var width = _this.element.clientWidth;
79
- var height = _this.element.clientHeight;
80
- if (width === 0 || height === 0) {
81
- return; // avoid div!0
82
- }
83
- var rect = e.currentTarget.getBoundingClientRect();
84
- var x = e.clientX - rect.left;
85
- var y = e.clientY - rect.top;
86
- var quadrant = _this.calculateQuadrant(_this._acceptedTargetZonesSet, x, y, width, height);
87
- /**
88
- * If the event has already been used by another DropTarget instance
89
- * then don't show a second drop target, only one target should be
90
- * active at any one time
91
- */
92
- if (_this.isAlreadyUsed(e) || quadrant === null) {
93
- // no drop target should be displayed
94
- _this.removeDropTarget();
95
- return;
96
- }
97
- if (typeof _this.options.canDisplayOverlay === 'boolean') {
98
- if (!_this.options.canDisplayOverlay) {
99
- _this.removeDropTarget();
100
- return;
101
- }
102
- }
103
- else if (!_this.options.canDisplayOverlay(e, quadrant)) {
104
- _this.removeDropTarget();
105
- return;
106
- }
107
- _this.markAsUsed(e);
108
- if (!_this.targetElement) {
109
- _this.targetElement = document.createElement('div');
110
- _this.targetElement.className = 'drop-target-dropzone';
111
- _this.overlayElement = document.createElement('div');
112
- _this.overlayElement.className = 'drop-target-selection';
113
- _this._state = 'center';
114
- _this.targetElement.appendChild(_this.overlayElement);
115
- _this.element.classList.add('drop-target');
116
- _this.element.append(_this.targetElement);
117
- }
118
- _this.toggleClasses(quadrant, width, height);
119
- _this.setState(quadrant);
120
- },
121
- onDragLeave: function () {
122
- _this.removeDropTarget();
123
- },
124
- onDragEnd: function () {
125
- _this.removeDropTarget();
126
- },
127
- onDrop: function (e) {
128
- e.preventDefault();
129
- var state = _this._state;
130
- _this.removeDropTarget();
131
- if (state) {
132
- // only stop the propagation of the event if we are dealing with it
133
- // which is only when the target has state
134
- e.stopPropagation();
135
- _this._onDrop.fire({ position: state, nativeEvent: e });
136
- }
137
- },
138
- }));
139
- return _this;
140
- }
141
- Object.defineProperty(Droptarget.prototype, "state", {
142
- get: function () {
143
- return this._state;
144
- },
145
- enumerable: false,
146
- configurable: true
147
- });
148
- Droptarget.prototype.setTargetZones = function (acceptedTargetZones) {
149
- this._acceptedTargetZonesSet = new Set(acceptedTargetZones);
150
- };
151
- Droptarget.prototype.dispose = function () {
152
- this.removeDropTarget();
153
- _super.prototype.dispose.call(this);
154
- };
155
- /**
156
- * Add a property to the event object for other potential listeners to check
157
- */
158
- Droptarget.prototype.markAsUsed = function (event) {
159
- event[Droptarget.USED_EVENT_ID] = true;
160
- };
161
- /**
162
- * Check is the event has already been used by another instance od DropTarget
163
- */
164
- Droptarget.prototype.isAlreadyUsed = function (event) {
165
- var value = event[Droptarget.USED_EVENT_ID];
166
- return typeof value === 'boolean' && value;
167
- };
168
- Droptarget.prototype.toggleClasses = function (quadrant, width, height) {
169
- var _a, _b, _c, _d;
170
- if (!this.overlayElement) {
171
- return;
172
- }
173
- var isSmallX = width < 100;
174
- var isSmallY = height < 100;
175
- var isLeft = quadrant === 'left';
176
- var isRight = quadrant === 'right';
177
- var isTop = quadrant === 'top';
178
- var isBottom = quadrant === 'bottom';
179
- var rightClass = !isSmallX && isRight;
180
- var leftClass = !isSmallX && isLeft;
181
- var topClass = !isSmallY && isTop;
182
- var bottomClass = !isSmallY && isBottom;
183
- var size = 0.5;
184
- if (((_b = (_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.size) === null || _b === void 0 ? void 0 : _b.type) === 'percentage') {
185
- size = (0, math_1.clamp)(this.options.overlayModel.size.value, 0, 100) / 100;
186
- }
187
- if (((_d = (_c = this.options.overlayModel) === null || _c === void 0 ? void 0 : _c.size) === null || _d === void 0 ? void 0 : _d.type) === 'pixels') {
188
- if (rightClass || leftClass) {
189
- size =
190
- (0, math_1.clamp)(0, this.options.overlayModel.size.value, width) /
191
- width;
192
- }
193
- if (topClass || bottomClass) {
194
- size =
195
- (0, math_1.clamp)(0, this.options.overlayModel.size.value, height) /
196
- height;
197
- }
198
- }
199
- var translate = (1 - size) / 2;
200
- var scale = size;
201
- var transform;
202
- if (rightClass) {
203
- transform = "translateX(".concat(100 * translate, "%) scaleX(").concat(scale, ")");
204
- }
205
- else if (leftClass) {
206
- transform = "translateX(-".concat(100 * translate, "%) scaleX(").concat(scale, ")");
207
- }
208
- else if (topClass) {
209
- transform = "translateY(-".concat(100 * translate, "%) scaleY(").concat(scale, ")");
210
- }
211
- else if (bottomClass) {
212
- transform = "translateY(".concat(100 * translate, "%) scaleY(").concat(scale, ")");
213
- }
214
- else {
215
- transform = '';
216
- }
217
- this.overlayElement.style.transform = transform;
218
- (0, dom_1.toggleClass)(this.overlayElement, 'small-right', isSmallX && isRight);
219
- (0, dom_1.toggleClass)(this.overlayElement, 'small-left', isSmallX && isLeft);
220
- (0, dom_1.toggleClass)(this.overlayElement, 'small-top', isSmallY && isTop);
221
- (0, dom_1.toggleClass)(this.overlayElement, 'small-bottom', isSmallY && isBottom);
222
- };
223
- Droptarget.prototype.setState = function (quadrant) {
224
- switch (quadrant) {
225
- case 'top':
226
- this._state = 'top';
227
- break;
228
- case 'left':
229
- this._state = 'left';
230
- break;
231
- case 'bottom':
232
- this._state = 'bottom';
233
- break;
234
- case 'right':
235
- this._state = 'right';
236
- break;
237
- case 'center':
238
- this._state = 'center';
239
- break;
240
- }
241
- };
242
- Droptarget.prototype.calculateQuadrant = function (overlayType, x, y, width, height) {
243
- var _a, _b, _c, _d, _e, _f;
244
- var isPercentage = ((_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.activationSize) === undefined ||
245
- ((_c = (_b = this.options.overlayModel) === null || _b === void 0 ? void 0 : _b.activationSize) === null || _c === void 0 ? void 0 : _c.type) === 'percentage';
246
- var value = numberOrFallback((_f = (_e = (_d = this.options) === null || _d === void 0 ? void 0 : _d.overlayModel) === null || _e === void 0 ? void 0 : _e.activationSize) === null || _f === void 0 ? void 0 : _f.value, 20);
247
- if (isPercentage) {
248
- return calculateQuadrantAsPercentage(overlayType, x, y, width, height, value);
249
- }
250
- return calculateQuadrantAsPixels(overlayType, x, y, width, height, value);
251
- };
252
- Droptarget.prototype.removeDropTarget = function () {
253
- if (this.targetElement) {
254
- this._state = undefined;
255
- this.element.removeChild(this.targetElement);
256
- this.targetElement = undefined;
257
- this.overlayElement = undefined;
258
- this.element.classList.remove('drop-target');
259
- }
260
- };
261
- Droptarget.USED_EVENT_ID = '__dockview_droptarget_event_is_used__';
262
- return Droptarget;
263
- }(lifecycle_1.CompositeDisposable));
264
- exports.Droptarget = Droptarget;
265
- function calculateQuadrantAsPercentage(overlayType, x, y, width, height, threshold) {
266
- var xp = (100 * x) / width;
267
- var yp = (100 * y) / height;
268
- if (overlayType.has('left') && xp < threshold) {
269
- return 'left';
270
- }
271
- if (overlayType.has('right') && xp > 100 - threshold) {
272
- return 'right';
273
- }
274
- if (overlayType.has('top') && yp < threshold) {
275
- return 'top';
276
- }
277
- if (overlayType.has('bottom') && yp > 100 - threshold) {
278
- return 'bottom';
279
- }
280
- if (!overlayType.has('center')) {
281
- return null;
282
- }
283
- return 'center';
284
- }
285
- exports.calculateQuadrantAsPercentage = calculateQuadrantAsPercentage;
286
- function calculateQuadrantAsPixels(overlayType, x, y, width, height, threshold) {
287
- if (overlayType.has('left') && x < threshold) {
288
- return 'left';
289
- }
290
- if (overlayType.has('right') && x > width - threshold) {
291
- return 'right';
292
- }
293
- if (overlayType.has('top') && y < threshold) {
294
- return 'top';
295
- }
296
- if (overlayType.has('bottom') && y > height - threshold) {
297
- return 'bottom';
298
- }
299
- if (!overlayType.has('center')) {
300
- return null;
301
- }
302
- return 'center';
303
- }
304
- exports.calculateQuadrantAsPixels = calculateQuadrantAsPixels;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.calculateQuadrantAsPixels = exports.calculateQuadrantAsPercentage = exports.Droptarget = exports.positionToDirection = exports.directionToPosition = void 0;
19
+ var dom_1 = require("../dom");
20
+ var events_1 = require("../events");
21
+ var lifecycle_1 = require("../lifecycle");
22
+ var dnd_1 = require("./dnd");
23
+ var math_1 = require("../math");
24
+ function numberOrFallback(maybeNumber, fallback) {
25
+ return typeof maybeNumber === 'number' ? maybeNumber : fallback;
26
+ }
27
+ function directionToPosition(direction) {
28
+ switch (direction) {
29
+ case 'above':
30
+ return 'top';
31
+ case 'below':
32
+ return 'bottom';
33
+ case 'left':
34
+ return 'left';
35
+ case 'right':
36
+ return 'right';
37
+ case 'within':
38
+ return 'center';
39
+ default:
40
+ throw new Error("invalid direction '".concat(direction, "'"));
41
+ }
42
+ }
43
+ exports.directionToPosition = directionToPosition;
44
+ function positionToDirection(position) {
45
+ switch (position) {
46
+ case 'top':
47
+ return 'above';
48
+ case 'bottom':
49
+ return 'below';
50
+ case 'left':
51
+ return 'left';
52
+ case 'right':
53
+ return 'right';
54
+ case 'center':
55
+ return 'within';
56
+ default:
57
+ throw new Error("invalid position '".concat(position, "'"));
58
+ }
59
+ }
60
+ exports.positionToDirection = positionToDirection;
61
+ var Droptarget = /** @class */ (function (_super) {
62
+ __extends(Droptarget, _super);
63
+ function Droptarget(element, options) {
64
+ var _this = _super.call(this) || this;
65
+ _this.element = element;
66
+ _this.options = options;
67
+ _this._onDrop = new events_1.Emitter();
68
+ _this.onDrop = _this._onDrop.event;
69
+ // use a set to take advantage of #<set>.has
70
+ _this._acceptedTargetZonesSet = new Set(_this.options.acceptedTargetZones);
71
+ _this.dnd = new dnd_1.DragAndDropObserver(_this.element, {
72
+ onDragEnter: function () { return undefined; },
73
+ onDragOver: function (e) {
74
+ if (_this._acceptedTargetZonesSet.size === 0) {
75
+ _this.removeDropTarget();
76
+ return;
77
+ }
78
+ var width = _this.element.clientWidth;
79
+ var height = _this.element.clientHeight;
80
+ if (width === 0 || height === 0) {
81
+ return; // avoid div!0
82
+ }
83
+ var rect = e.currentTarget.getBoundingClientRect();
84
+ var x = e.clientX - rect.left;
85
+ var y = e.clientY - rect.top;
86
+ var quadrant = _this.calculateQuadrant(_this._acceptedTargetZonesSet, x, y, width, height);
87
+ /**
88
+ * If the event has already been used by another DropTarget instance
89
+ * then don't show a second drop target, only one target should be
90
+ * active at any one time
91
+ */
92
+ if (_this.isAlreadyUsed(e) || quadrant === null) {
93
+ // no drop target should be displayed
94
+ _this.removeDropTarget();
95
+ return;
96
+ }
97
+ if (typeof _this.options.canDisplayOverlay === 'boolean') {
98
+ if (!_this.options.canDisplayOverlay) {
99
+ _this.removeDropTarget();
100
+ return;
101
+ }
102
+ }
103
+ else if (!_this.options.canDisplayOverlay(e, quadrant)) {
104
+ _this.removeDropTarget();
105
+ return;
106
+ }
107
+ _this.markAsUsed(e);
108
+ if (!_this.targetElement) {
109
+ _this.targetElement = document.createElement('div');
110
+ _this.targetElement.className = 'drop-target-dropzone';
111
+ _this.overlayElement = document.createElement('div');
112
+ _this.overlayElement.className = 'drop-target-selection';
113
+ _this._state = 'center';
114
+ _this.targetElement.appendChild(_this.overlayElement);
115
+ _this.element.classList.add('drop-target');
116
+ _this.element.append(_this.targetElement);
117
+ }
118
+ _this.toggleClasses(quadrant, width, height);
119
+ _this.setState(quadrant);
120
+ },
121
+ onDragLeave: function () {
122
+ _this.removeDropTarget();
123
+ },
124
+ onDragEnd: function () {
125
+ _this.removeDropTarget();
126
+ },
127
+ onDrop: function (e) {
128
+ e.preventDefault();
129
+ var state = _this._state;
130
+ _this.removeDropTarget();
131
+ if (state) {
132
+ // only stop the propagation of the event if we are dealing with it
133
+ // which is only when the target has state
134
+ e.stopPropagation();
135
+ _this._onDrop.fire({ position: state, nativeEvent: e });
136
+ }
137
+ },
138
+ });
139
+ _this.addDisposables(_this._onDrop, _this.dnd);
140
+ return _this;
141
+ }
142
+ Object.defineProperty(Droptarget.prototype, "state", {
143
+ get: function () {
144
+ return this._state;
145
+ },
146
+ enumerable: false,
147
+ configurable: true
148
+ });
149
+ Droptarget.prototype.setTargetZones = function (acceptedTargetZones) {
150
+ this._acceptedTargetZonesSet = new Set(acceptedTargetZones);
151
+ };
152
+ Droptarget.prototype.dispose = function () {
153
+ this.removeDropTarget();
154
+ _super.prototype.dispose.call(this);
155
+ };
156
+ /**
157
+ * Add a property to the event object for other potential listeners to check
158
+ */
159
+ Droptarget.prototype.markAsUsed = function (event) {
160
+ event[Droptarget.USED_EVENT_ID] = true;
161
+ };
162
+ /**
163
+ * Check is the event has already been used by another instance od DropTarget
164
+ */
165
+ Droptarget.prototype.isAlreadyUsed = function (event) {
166
+ var value = event[Droptarget.USED_EVENT_ID];
167
+ return typeof value === 'boolean' && value;
168
+ };
169
+ Droptarget.prototype.toggleClasses = function (quadrant, width, height) {
170
+ var _a, _b, _c, _d;
171
+ if (!this.overlayElement) {
172
+ return;
173
+ }
174
+ var isSmallX = width < 100;
175
+ var isSmallY = height < 100;
176
+ var isLeft = quadrant === 'left';
177
+ var isRight = quadrant === 'right';
178
+ var isTop = quadrant === 'top';
179
+ var isBottom = quadrant === 'bottom';
180
+ var rightClass = !isSmallX && isRight;
181
+ var leftClass = !isSmallX && isLeft;
182
+ var topClass = !isSmallY && isTop;
183
+ var bottomClass = !isSmallY && isBottom;
184
+ var size = 0.5;
185
+ if (((_b = (_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.size) === null || _b === void 0 ? void 0 : _b.type) === 'percentage') {
186
+ size = (0, math_1.clamp)(this.options.overlayModel.size.value, 0, 100) / 100;
187
+ }
188
+ if (((_d = (_c = this.options.overlayModel) === null || _c === void 0 ? void 0 : _c.size) === null || _d === void 0 ? void 0 : _d.type) === 'pixels') {
189
+ if (rightClass || leftClass) {
190
+ size =
191
+ (0, math_1.clamp)(0, this.options.overlayModel.size.value, width) /
192
+ width;
193
+ }
194
+ if (topClass || bottomClass) {
195
+ size =
196
+ (0, math_1.clamp)(0, this.options.overlayModel.size.value, height) /
197
+ height;
198
+ }
199
+ }
200
+ var translate = (1 - size) / 2;
201
+ var scale = size;
202
+ var transform;
203
+ if (rightClass) {
204
+ transform = "translateX(".concat(100 * translate, "%) scaleX(").concat(scale, ")");
205
+ }
206
+ else if (leftClass) {
207
+ transform = "translateX(-".concat(100 * translate, "%) scaleX(").concat(scale, ")");
208
+ }
209
+ else if (topClass) {
210
+ transform = "translateY(-".concat(100 * translate, "%) scaleY(").concat(scale, ")");
211
+ }
212
+ else if (bottomClass) {
213
+ transform = "translateY(".concat(100 * translate, "%) scaleY(").concat(scale, ")");
214
+ }
215
+ else {
216
+ transform = '';
217
+ }
218
+ this.overlayElement.style.transform = transform;
219
+ (0, dom_1.toggleClass)(this.overlayElement, 'small-right', isSmallX && isRight);
220
+ (0, dom_1.toggleClass)(this.overlayElement, 'small-left', isSmallX && isLeft);
221
+ (0, dom_1.toggleClass)(this.overlayElement, 'small-top', isSmallY && isTop);
222
+ (0, dom_1.toggleClass)(this.overlayElement, 'small-bottom', isSmallY && isBottom);
223
+ };
224
+ Droptarget.prototype.setState = function (quadrant) {
225
+ switch (quadrant) {
226
+ case 'top':
227
+ this._state = 'top';
228
+ break;
229
+ case 'left':
230
+ this._state = 'left';
231
+ break;
232
+ case 'bottom':
233
+ this._state = 'bottom';
234
+ break;
235
+ case 'right':
236
+ this._state = 'right';
237
+ break;
238
+ case 'center':
239
+ this._state = 'center';
240
+ break;
241
+ }
242
+ };
243
+ Droptarget.prototype.calculateQuadrant = function (overlayType, x, y, width, height) {
244
+ var _a, _b, _c, _d, _e, _f;
245
+ var isPercentage = ((_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.activationSize) === undefined ||
246
+ ((_c = (_b = this.options.overlayModel) === null || _b === void 0 ? void 0 : _b.activationSize) === null || _c === void 0 ? void 0 : _c.type) === 'percentage';
247
+ var value = numberOrFallback((_f = (_e = (_d = this.options) === null || _d === void 0 ? void 0 : _d.overlayModel) === null || _e === void 0 ? void 0 : _e.activationSize) === null || _f === void 0 ? void 0 : _f.value, 20);
248
+ if (isPercentage) {
249
+ return calculateQuadrantAsPercentage(overlayType, x, y, width, height, value);
250
+ }
251
+ return calculateQuadrantAsPixels(overlayType, x, y, width, height, value);
252
+ };
253
+ Droptarget.prototype.removeDropTarget = function () {
254
+ if (this.targetElement) {
255
+ this._state = undefined;
256
+ this.element.removeChild(this.targetElement);
257
+ this.targetElement = undefined;
258
+ this.overlayElement = undefined;
259
+ this.element.classList.remove('drop-target');
260
+ }
261
+ };
262
+ Droptarget.USED_EVENT_ID = '__dockview_droptarget_event_is_used__';
263
+ return Droptarget;
264
+ }(lifecycle_1.CompositeDisposable));
265
+ exports.Droptarget = Droptarget;
266
+ function calculateQuadrantAsPercentage(overlayType, x, y, width, height, threshold) {
267
+ var xp = (100 * x) / width;
268
+ var yp = (100 * y) / height;
269
+ if (overlayType.has('left') && xp < threshold) {
270
+ return 'left';
271
+ }
272
+ if (overlayType.has('right') && xp > 100 - threshold) {
273
+ return 'right';
274
+ }
275
+ if (overlayType.has('top') && yp < threshold) {
276
+ return 'top';
277
+ }
278
+ if (overlayType.has('bottom') && yp > 100 - threshold) {
279
+ return 'bottom';
280
+ }
281
+ if (!overlayType.has('center')) {
282
+ return null;
283
+ }
284
+ return 'center';
285
+ }
286
+ exports.calculateQuadrantAsPercentage = calculateQuadrantAsPercentage;
287
+ function calculateQuadrantAsPixels(overlayType, x, y, width, height, threshold) {
288
+ if (overlayType.has('left') && x < threshold) {
289
+ return 'left';
290
+ }
291
+ if (overlayType.has('right') && x > width - threshold) {
292
+ return 'right';
293
+ }
294
+ if (overlayType.has('top') && y < threshold) {
295
+ return 'top';
296
+ }
297
+ if (overlayType.has('bottom') && y > height - threshold) {
298
+ return 'bottom';
299
+ }
300
+ if (!overlayType.has('center')) {
301
+ return null;
302
+ }
303
+ return 'center';
304
+ }
305
+ exports.calculateQuadrantAsPixels = calculateQuadrantAsPixels;
305
306
  //# sourceMappingURL=droptarget.js.map