dockview-core 1.8.4 → 1.8.5

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 (334) hide show
  1. package/README.md +51 -51
  2. package/dist/cjs/api/component.api.d.ts +455 -152
  3. package/dist/cjs/api/component.api.d.ts.map +1 -1
  4. package/dist/cjs/api/component.api.js +895 -592
  5. package/dist/cjs/api/component.api.js.map +1 -1
  6. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +29 -29
  7. package/dist/cjs/api/dockviewGroupPanelApi.js +53 -53
  8. package/dist/cjs/api/dockviewPanelApi.d.ts +47 -47
  9. package/dist/cjs/api/dockviewPanelApi.js +88 -88
  10. package/dist/cjs/api/gridviewPanelApi.d.ts +37 -37
  11. package/dist/cjs/api/gridviewPanelApi.js +47 -47
  12. package/dist/cjs/api/panelApi.d.ts +88 -88
  13. package/dist/cjs/api/panelApi.js +135 -135
  14. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  15. package/dist/cjs/api/paneviewPanelApi.js +57 -57
  16. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
  17. package/dist/cjs/api/splitviewPanelApi.js +47 -47
  18. package/dist/cjs/array.d.ts +13 -13
  19. package/dist/cjs/array.js +67 -67
  20. package/dist/cjs/dnd/abstractDragHandler.d.ts +12 -12
  21. package/dist/cjs/dnd/abstractDragHandler.js +141 -141
  22. package/dist/cjs/dnd/dataTransfer.d.ts +30 -31
  23. package/dist/cjs/dnd/dataTransfer.d.ts.map +1 -1
  24. package/dist/cjs/dnd/dataTransfer.js +99 -100
  25. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  26. package/dist/cjs/dnd/dnd.d.ts +27 -27
  27. package/dist/cjs/dnd/dnd.js +59 -59
  28. package/dist/cjs/dnd/droptarget.d.ts +53 -53
  29. package/dist/cjs/dnd/droptarget.js +304 -304
  30. package/dist/cjs/dnd/droptarget.js.map +1 -1
  31. package/dist/cjs/dnd/ghost.d.ts +1 -1
  32. package/dist/cjs/dnd/ghost.js +15 -15
  33. package/dist/cjs/dnd/groupDragHandler.d.ts +12 -12
  34. package/dist/cjs/dnd/groupDragHandler.js +77 -77
  35. package/dist/cjs/dnd/overlay.d.ts +43 -43
  36. package/dist/cjs/dnd/overlay.d.ts.map +1 -1
  37. package/dist/cjs/dnd/overlay.js +412 -412
  38. package/dist/cjs/dnd/overlay.js.map +1 -1
  39. package/dist/cjs/dockview/components/panel/content.d.ts +30 -30
  40. package/dist/cjs/dockview/components/panel/content.js +100 -100
  41. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +21 -21
  42. package/dist/cjs/dockview/components/tab/defaultTab.js +105 -105
  43. package/dist/cjs/dockview/components/tab/tab.d.ts +34 -34
  44. package/dist/cjs/dockview/components/tab/tab.js +120 -120
  45. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +81 -81
  46. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +325 -325
  47. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +17 -17
  48. package/dist/cjs/dockview/components/titlebar/voidContainer.js +77 -77
  49. package/dist/cjs/dockview/components/watermark/watermark.d.ts +18 -18
  50. package/dist/cjs/dockview/components/watermark/watermark.js +87 -87
  51. package/dist/cjs/dockview/deserializer.d.ts +12 -12
  52. package/dist/cjs/dockview/deserializer.js +33 -33
  53. package/dist/cjs/dockview/deserializer.js.map +1 -1
  54. package/dist/cjs/dockview/dockviewComponent.d.ts +159 -159
  55. package/dist/cjs/dockview/dockviewComponent.d.ts.map +1 -1
  56. package/dist/cjs/dockview/dockviewComponent.js +1170 -1156
  57. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  58. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +23 -23
  59. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +34 -34
  60. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +30 -30
  61. package/dist/cjs/dockview/dockviewGroupPanel.js +97 -97
  62. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +185 -185
  63. package/dist/cjs/dockview/dockviewGroupPanelModel.js +632 -631
  64. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -1
  65. package/dist/cjs/dockview/dockviewPanel.d.ts +41 -41
  66. package/dist/cjs/dockview/dockviewPanel.js +172 -171
  67. package/dist/cjs/dockview/dockviewPanel.js.map +1 -1
  68. package/dist/cjs/dockview/dockviewPanelModel.d.ts +35 -35
  69. package/dist/cjs/dockview/dockviewPanelModel.js +98 -98
  70. package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -1
  71. package/dist/cjs/dockview/options.d.ts +133 -136
  72. package/dist/cjs/dockview/options.d.ts.map +1 -1
  73. package/dist/cjs/dockview/options.js +31 -31
  74. package/dist/cjs/dockview/types.d.ts +63 -63
  75. package/dist/cjs/dockview/types.js +10 -10
  76. package/dist/cjs/dockview/types.js.map +1 -1
  77. package/dist/cjs/dom.d.ts +16 -16
  78. package/dist/cjs/dom.js +197 -197
  79. package/dist/cjs/events.d.ts +47 -47
  80. package/dist/cjs/events.js +216 -216
  81. package/dist/cjs/events.js.map +1 -1
  82. package/dist/cjs/gridview/baseComponentGridview.d.ts +88 -87
  83. package/dist/cjs/gridview/baseComponentGridview.d.ts.map +1 -1
  84. package/dist/cjs/gridview/baseComponentGridview.js +270 -270
  85. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  86. package/dist/cjs/gridview/basePanelView.d.ts +40 -40
  87. package/dist/cjs/gridview/basePanelView.js +156 -156
  88. package/dist/cjs/gridview/branchNode.d.ts +49 -49
  89. package/dist/cjs/gridview/branchNode.js +343 -343
  90. package/dist/cjs/gridview/gridview.d.ts +133 -133
  91. package/dist/cjs/gridview/gridview.js +547 -547
  92. package/dist/cjs/gridview/gridviewComponent.d.ts +80 -80
  93. package/dist/cjs/gridview/gridviewComponent.d.ts.map +1 -1
  94. package/dist/cjs/gridview/gridviewComponent.js +362 -360
  95. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  96. package/dist/cjs/gridview/gridviewPanel.d.ts +65 -65
  97. package/dist/cjs/gridview/gridviewPanel.js +214 -214
  98. package/dist/cjs/gridview/leafNode.d.ts +34 -34
  99. package/dist/cjs/gridview/leafNode.js +170 -170
  100. package/dist/cjs/gridview/leafNode.js.map +1 -1
  101. package/dist/cjs/gridview/options.d.ts +17 -18
  102. package/dist/cjs/gridview/options.d.ts.map +1 -1
  103. package/dist/cjs/gridview/options.js +2 -2
  104. package/dist/cjs/gridview/types.d.ts +3 -3
  105. package/dist/cjs/gridview/types.js +2 -2
  106. package/dist/cjs/index.d.ts +42 -42
  107. package/dist/cjs/index.js +61 -61
  108. package/dist/cjs/lifecycle.d.ts +23 -23
  109. package/dist/cjs/lifecycle.js +65 -65
  110. package/dist/cjs/lifecycle.js.map +1 -1
  111. package/dist/cjs/math.d.ts +5 -5
  112. package/dist/cjs/math.js +34 -34
  113. package/dist/cjs/panel/componentFactory.d.ts +11 -10
  114. package/dist/cjs/panel/componentFactory.d.ts.map +1 -1
  115. package/dist/cjs/panel/componentFactory.js +30 -30
  116. package/dist/cjs/panel/componentFactory.js.map +1 -1
  117. package/dist/cjs/panel/types.d.ts +33 -33
  118. package/dist/cjs/panel/types.js +2 -2
  119. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
  120. package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
  121. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +21 -21
  122. package/dist/cjs/paneview/draggablePaneviewPanel.js +131 -131
  123. package/dist/cjs/paneview/options.d.ts +25 -28
  124. package/dist/cjs/paneview/options.d.ts.map +1 -1
  125. package/dist/cjs/paneview/options.js +2 -2
  126. package/dist/cjs/paneview/paneview.d.ts +40 -40
  127. package/dist/cjs/paneview/paneview.d.ts.map +1 -1
  128. package/dist/cjs/paneview/paneview.js +200 -201
  129. package/dist/cjs/paneview/paneview.js.map +1 -1
  130. package/dist/cjs/paneview/paneviewComponent.d.ts +128 -128
  131. package/dist/cjs/paneview/paneviewComponent.js +400 -397
  132. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  133. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -92
  134. package/dist/cjs/paneview/paneviewPanel.d.ts.map +1 -1
  135. package/dist/cjs/paneview/paneviewPanel.js +275 -275
  136. package/dist/cjs/resizable.d.ts +10 -7
  137. package/dist/cjs/resizable.d.ts.map +1 -1
  138. package/dist/cjs/resizable.js +79 -64
  139. package/dist/cjs/resizable.js.map +1 -1
  140. package/dist/cjs/splitview/options.d.ts +26 -27
  141. package/dist/cjs/splitview/options.d.ts.map +1 -1
  142. package/dist/cjs/splitview/options.js +2 -2
  143. package/dist/cjs/splitview/splitview.d.ts +128 -128
  144. package/dist/cjs/splitview/splitview.js +936 -936
  145. package/dist/cjs/splitview/splitview.js.map +1 -1
  146. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
  147. package/dist/cjs/splitview/splitviewComponent.js +395 -392
  148. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  149. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -45
  150. package/dist/cjs/splitview/splitviewPanel.d.ts.map +1 -1
  151. package/dist/cjs/splitview/splitviewPanel.js +179 -179
  152. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  153. package/dist/cjs/splitview/viewItem.d.ts +25 -25
  154. package/dist/cjs/splitview/viewItem.js +119 -119
  155. package/dist/cjs/svg.d.ts +3 -3
  156. package/dist/cjs/svg.js +43 -43
  157. package/dist/cjs/types.d.ts +2 -2
  158. package/dist/cjs/types.js +2 -2
  159. package/dist/dockview-core.amd.js +7650 -7316
  160. package/dist/dockview-core.amd.js.map +1 -1
  161. package/dist/dockview-core.amd.min.js +2 -2
  162. package/dist/dockview-core.amd.min.js.map +1 -1
  163. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  164. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  165. package/dist/dockview-core.amd.noStyle.js +7601 -7267
  166. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  167. package/dist/dockview-core.cjs.js +7650 -7316
  168. package/dist/dockview-core.cjs.js.map +1 -1
  169. package/dist/dockview-core.esm.js +7650 -7316
  170. package/dist/dockview-core.esm.js.map +1 -1
  171. package/dist/dockview-core.esm.min.js +2 -2
  172. package/dist/dockview-core.esm.min.js.map +1 -1
  173. package/dist/dockview-core.js +7650 -7316
  174. package/dist/dockview-core.js.map +1 -1
  175. package/dist/dockview-core.min.js +2 -2
  176. package/dist/dockview-core.min.js.map +1 -1
  177. package/dist/dockview-core.min.noStyle.js +2 -2
  178. package/dist/dockview-core.min.noStyle.js.map +1 -1
  179. package/dist/dockview-core.noStyle.js +7601 -7267
  180. package/dist/dockview-core.noStyle.js.map +1 -1
  181. package/dist/esm/api/component.api.d.ts +455 -152
  182. package/dist/esm/api/component.api.d.ts.map +1 -1
  183. package/dist/esm/api/component.api.js +638 -335
  184. package/dist/esm/api/component.api.js.map +1 -1
  185. package/dist/esm/api/dockviewGroupPanelApi.d.ts +29 -29
  186. package/dist/esm/api/dockviewGroupPanelApi.js +27 -27
  187. package/dist/esm/api/dockviewPanelApi.d.ts +47 -47
  188. package/dist/esm/api/dockviewPanelApi.js +53 -53
  189. package/dist/esm/api/gridviewPanelApi.d.ts +37 -37
  190. package/dist/esm/api/gridviewPanelApi.js +25 -25
  191. package/dist/esm/api/panelApi.d.ts +88 -88
  192. package/dist/esm/api/panelApi.js +93 -93
  193. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  194. package/dist/esm/api/paneviewPanelApi.js +27 -27
  195. package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
  196. package/dist/esm/api/splitviewPanelApi.js +25 -25
  197. package/dist/esm/array.d.ts +13 -13
  198. package/dist/esm/array.js +57 -57
  199. package/dist/esm/dnd/abstractDragHandler.d.ts +12 -12
  200. package/dist/esm/dnd/abstractDragHandler.js +63 -63
  201. package/dist/esm/dnd/dataTransfer.d.ts +30 -31
  202. package/dist/esm/dnd/dataTransfer.d.ts.map +1 -1
  203. package/dist/esm/dnd/dataTransfer.js +66 -69
  204. package/dist/esm/dnd/dataTransfer.js.map +1 -1
  205. package/dist/esm/dnd/dnd.d.ts +27 -27
  206. package/dist/esm/dnd/dnd.js +36 -36
  207. package/dist/esm/dnd/droptarget.d.ts +53 -53
  208. package/dist/esm/dnd/droptarget.js +274 -274
  209. package/dist/esm/dnd/droptarget.js.map +1 -1
  210. package/dist/esm/dnd/ghost.d.ts +1 -1
  211. package/dist/esm/dnd/ghost.js +11 -11
  212. package/dist/esm/dnd/groupDragHandler.d.ts +12 -12
  213. package/dist/esm/dnd/groupDragHandler.js +54 -54
  214. package/dist/esm/dnd/overlay.d.ts +43 -43
  215. package/dist/esm/dnd/overlay.d.ts.map +1 -1
  216. package/dist/esm/dnd/overlay.js +304 -304
  217. package/dist/esm/dnd/overlay.js.map +1 -1
  218. package/dist/esm/dockview/components/panel/content.d.ts +30 -30
  219. package/dist/esm/dockview/components/panel/content.js +73 -73
  220. package/dist/esm/dockview/components/tab/defaultTab.d.ts +21 -21
  221. package/dist/esm/dockview/components/tab/defaultTab.js +67 -67
  222. package/dist/esm/dockview/components/tab/tab.d.ts +34 -34
  223. package/dist/esm/dockview/components/tab/tab.js +90 -90
  224. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +81 -81
  225. package/dist/esm/dockview/components/titlebar/tabsContainer.js +239 -239
  226. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +17 -17
  227. package/dist/esm/dockview/components/titlebar/voidContainer.js +51 -51
  228. package/dist/esm/dockview/components/watermark/watermark.d.ts +18 -18
  229. package/dist/esm/dockview/components/watermark/watermark.js +61 -61
  230. package/dist/esm/dockview/deserializer.d.ts +12 -12
  231. package/dist/esm/dockview/deserializer.js +28 -28
  232. package/dist/esm/dockview/deserializer.js.map +1 -1
  233. package/dist/esm/dockview/dockviewComponent.d.ts +159 -159
  234. package/dist/esm/dockview/dockviewComponent.d.ts.map +1 -1
  235. package/dist/esm/dockview/dockviewComponent.js +932 -918
  236. package/dist/esm/dockview/dockviewComponent.js.map +1 -1
  237. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +23 -23
  238. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +12 -12
  239. package/dist/esm/dockview/dockviewGroupPanel.d.ts +30 -30
  240. package/dist/esm/dockview/dockviewGroupPanel.js +51 -51
  241. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +185 -185
  242. package/dist/esm/dockview/dockviewGroupPanelModel.js +499 -498
  243. package/dist/esm/dockview/dockviewGroupPanelModel.js.map +1 -1
  244. package/dist/esm/dockview/dockviewPanel.d.ts +41 -41
  245. package/dist/esm/dockview/dockviewPanel.js +105 -104
  246. package/dist/esm/dockview/dockviewPanel.js.map +1 -1
  247. package/dist/esm/dockview/dockviewPanelModel.d.ts +35 -35
  248. package/dist/esm/dockview/dockviewPanelModel.js +74 -74
  249. package/dist/esm/dockview/dockviewPanelModel.js.map +1 -1
  250. package/dist/esm/dockview/options.d.ts +133 -136
  251. package/dist/esm/dockview/options.d.ts.map +1 -1
  252. package/dist/esm/dockview/options.js +24 -24
  253. package/dist/esm/dockview/types.d.ts +63 -63
  254. package/dist/esm/dockview/types.js +7 -7
  255. package/dist/esm/dom.d.ts +16 -16
  256. package/dist/esm/dom.js +126 -126
  257. package/dist/esm/events.d.ts +47 -47
  258. package/dist/esm/events.js +156 -156
  259. package/dist/esm/events.js.map +1 -1
  260. package/dist/esm/gridview/baseComponentGridview.d.ts +88 -87
  261. package/dist/esm/gridview/baseComponentGridview.d.ts.map +1 -1
  262. package/dist/esm/gridview/baseComponentGridview.js +184 -184
  263. package/dist/esm/gridview/baseComponentGridview.js.map +1 -1
  264. package/dist/esm/gridview/basePanelView.d.ts +40 -40
  265. package/dist/esm/gridview/basePanelView.js +85 -85
  266. package/dist/esm/gridview/branchNode.d.ts +49 -49
  267. package/dist/esm/gridview/branchNode.js +219 -219
  268. package/dist/esm/gridview/gridview.d.ts +133 -133
  269. package/dist/esm/gridview/gridview.js +461 -461
  270. package/dist/esm/gridview/gridviewComponent.d.ts +80 -80
  271. package/dist/esm/gridview/gridviewComponent.d.ts.map +1 -1
  272. package/dist/esm/gridview/gridviewComponent.js +264 -262
  273. package/dist/esm/gridview/gridviewComponent.js.map +1 -1
  274. package/dist/esm/gridview/gridviewPanel.d.ts +65 -65
  275. package/dist/esm/gridview/gridviewPanel.js +151 -151
  276. package/dist/esm/gridview/leafNode.d.ts +34 -34
  277. package/dist/esm/gridview/leafNode.js +103 -103
  278. package/dist/esm/gridview/options.d.ts +17 -18
  279. package/dist/esm/gridview/options.d.ts.map +1 -1
  280. package/dist/esm/gridview/options.js +1 -1
  281. package/dist/esm/gridview/types.d.ts +3 -3
  282. package/dist/esm/gridview/types.js +1 -1
  283. package/dist/esm/index.d.ts +42 -42
  284. package/dist/esm/index.js +34 -34
  285. package/dist/esm/lifecycle.d.ts +23 -23
  286. package/dist/esm/lifecycle.js +41 -41
  287. package/dist/esm/math.d.ts +5 -5
  288. package/dist/esm/math.js +28 -28
  289. package/dist/esm/panel/componentFactory.d.ts +11 -10
  290. package/dist/esm/panel/componentFactory.d.ts.map +1 -1
  291. package/dist/esm/panel/componentFactory.js +24 -24
  292. package/dist/esm/panel/componentFactory.js.map +1 -1
  293. package/dist/esm/panel/types.d.ts +33 -33
  294. package/dist/esm/panel/types.js +1 -1
  295. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
  296. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
  297. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +21 -21
  298. package/dist/esm/paneview/draggablePaneviewPanel.js +92 -92
  299. package/dist/esm/paneview/options.d.ts +25 -28
  300. package/dist/esm/paneview/options.d.ts.map +1 -1
  301. package/dist/esm/paneview/options.js +1 -1
  302. package/dist/esm/paneview/paneview.d.ts +40 -40
  303. package/dist/esm/paneview/paneview.d.ts.map +1 -1
  304. package/dist/esm/paneview/paneview.js +145 -145
  305. package/dist/esm/paneview/paneviewComponent.d.ts +128 -128
  306. package/dist/esm/paneview/paneviewComponent.js +276 -273
  307. package/dist/esm/paneview/paneviewComponent.js.map +1 -1
  308. package/dist/esm/paneview/paneviewPanel.d.ts +92 -92
  309. package/dist/esm/paneview/paneviewPanel.d.ts.map +1 -1
  310. package/dist/esm/paneview/paneviewPanel.js +192 -192
  311. package/dist/esm/resizable.d.ts +10 -7
  312. package/dist/esm/resizable.d.ts.map +1 -1
  313. package/dist/esm/resizable.js +48 -38
  314. package/dist/esm/resizable.js.map +1 -1
  315. package/dist/esm/splitview/options.d.ts +26 -27
  316. package/dist/esm/splitview/options.d.ts.map +1 -1
  317. package/dist/esm/splitview/options.js +1 -1
  318. package/dist/esm/splitview/splitview.d.ts +128 -128
  319. package/dist/esm/splitview/splitview.js +704 -704
  320. package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
  321. package/dist/esm/splitview/splitviewComponent.js +261 -258
  322. package/dist/esm/splitview/splitviewComponent.js.map +1 -1
  323. package/dist/esm/splitview/splitviewPanel.d.ts +45 -45
  324. package/dist/esm/splitview/splitviewPanel.d.ts.map +1 -1
  325. package/dist/esm/splitview/splitviewPanel.js +108 -108
  326. package/dist/esm/splitview/splitviewPanel.js.map +1 -1
  327. package/dist/esm/splitview/viewItem.d.ts +25 -25
  328. package/dist/esm/splitview/viewItem.js +74 -74
  329. package/dist/esm/svg.d.ts +3 -3
  330. package/dist/esm/svg.js +31 -31
  331. package/dist/esm/types.d.ts +2 -2
  332. package/dist/esm/types.js +1 -1
  333. package/package.json +30 -42
  334. package/LICENSE +0 -21
@@ -1,64 +1,64 @@
1
- import { IDockviewComponent } from './dockviewComponent';
2
- import { DockviewPanelApi } from '../api/dockviewPanelApi';
3
- import { PanelInitParameters, IPanel } from '../panel/types';
4
- import { DockviewApi } from '../api/component.api';
5
- import { Event } from '../events';
6
- import { Optional } from '../types';
7
- import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
8
- export declare enum DockviewDropTargets {
9
- Tab = 0,
10
- Panel = 1,
11
- TabContainer = 2,
12
- Edge = 3
13
- }
14
- export interface HeaderPartInitParameters {
15
- title: string;
16
- }
17
- export interface GroupPanelPartInitParameters extends PanelInitParameters, HeaderPartInitParameters {
18
- api: DockviewPanelApi;
19
- containerApi: DockviewApi;
20
- }
21
- export interface GroupPanelContentPartInitParameters extends GroupPanelPartInitParameters {
22
- tab: ITabRenderer;
23
- }
24
- export interface WatermarkRendererInitParameters {
25
- containerApi: DockviewApi;
26
- group?: IDockviewGroupPanel;
27
- }
28
- export interface IWatermarkRenderer extends Optional<Omit<IPanel, 'id' | 'init'>, 'dispose' | 'update' | 'layout' | 'toJSON'> {
29
- readonly element: HTMLElement;
30
- init: (params: WatermarkRendererInitParameters) => void;
31
- updateParentGroup(group: DockviewGroupPanel, visible: boolean): void;
32
- }
33
- export interface ITabRenderer extends Optional<Omit<IPanel, 'id'>, 'dispose' | 'update' | 'layout' | 'toJSON'> {
34
- readonly element: HTMLElement;
35
- init(parameters: GroupPanelPartInitParameters): void;
36
- onGroupChange?(group: DockviewGroupPanel): void;
37
- onPanelVisibleChange?(isPanelVisible: boolean): void;
38
- }
39
- export interface IContentRenderer extends Optional<Omit<IPanel, 'id'>, 'dispose' | 'update' | 'layout' | 'toJSON'> {
40
- readonly element: HTMLElement;
41
- readonly onDidFocus?: Event<void>;
42
- readonly onDidBlur?: Event<void>;
43
- init(parameters: GroupPanelContentPartInitParameters): void;
44
- onGroupChange?(group: DockviewGroupPanel): void;
45
- onPanelVisibleChange?(isPanelVisible: boolean): void;
46
- }
47
- export interface WatermarkPartInitParameters {
48
- accessor: IDockviewComponent;
49
- }
50
- export interface WatermarkConstructor {
51
- new (): IWatermarkRenderer;
52
- }
53
- export interface IGroupPanelInitParameters extends PanelInitParameters, HeaderPartInitParameters {
54
- }
55
- export interface GroupviewPanelState {
56
- id: string;
57
- contentComponent?: string;
58
- tabComponent?: string;
59
- title?: string;
60
- params?: {
61
- [key: string]: any;
62
- };
63
- }
1
+ import { IDockviewComponent } from './dockviewComponent';
2
+ import { DockviewPanelApi } from '../api/dockviewPanelApi';
3
+ import { PanelInitParameters, IPanel } from '../panel/types';
4
+ import { DockviewApi } from '../api/component.api';
5
+ import { Event } from '../events';
6
+ import { Optional } from '../types';
7
+ import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
8
+ export declare enum DockviewDropTargets {
9
+ Tab = 0,
10
+ Panel = 1,
11
+ TabContainer = 2,
12
+ Edge = 3
13
+ }
14
+ export interface HeaderPartInitParameters {
15
+ title: string;
16
+ }
17
+ export interface GroupPanelPartInitParameters extends PanelInitParameters, HeaderPartInitParameters {
18
+ api: DockviewPanelApi;
19
+ containerApi: DockviewApi;
20
+ }
21
+ export interface GroupPanelContentPartInitParameters extends GroupPanelPartInitParameters {
22
+ tab: ITabRenderer;
23
+ }
24
+ export interface WatermarkRendererInitParameters {
25
+ containerApi: DockviewApi;
26
+ group?: IDockviewGroupPanel;
27
+ }
28
+ export interface IWatermarkRenderer extends Optional<Omit<IPanel, 'id' | 'init'>, 'dispose' | 'update' | 'layout' | 'toJSON'> {
29
+ readonly element: HTMLElement;
30
+ init: (params: WatermarkRendererInitParameters) => void;
31
+ updateParentGroup(group: DockviewGroupPanel, visible: boolean): void;
32
+ }
33
+ export interface ITabRenderer extends Optional<Omit<IPanel, 'id'>, 'dispose' | 'update' | 'layout' | 'toJSON'> {
34
+ readonly element: HTMLElement;
35
+ init(parameters: GroupPanelPartInitParameters): void;
36
+ onGroupChange?(group: DockviewGroupPanel): void;
37
+ onPanelVisibleChange?(isPanelVisible: boolean): void;
38
+ }
39
+ export interface IContentRenderer extends Optional<Omit<IPanel, 'id'>, 'dispose' | 'update' | 'layout' | 'toJSON'> {
40
+ readonly element: HTMLElement;
41
+ readonly onDidFocus?: Event<void>;
42
+ readonly onDidBlur?: Event<void>;
43
+ init(parameters: GroupPanelContentPartInitParameters): void;
44
+ onGroupChange?(group: DockviewGroupPanel): void;
45
+ onPanelVisibleChange?(isPanelVisible: boolean): void;
46
+ }
47
+ export interface WatermarkPartInitParameters {
48
+ accessor: IDockviewComponent;
49
+ }
50
+ export interface WatermarkConstructor {
51
+ new (): IWatermarkRenderer;
52
+ }
53
+ export interface IGroupPanelInitParameters extends PanelInitParameters, HeaderPartInitParameters {
54
+ }
55
+ export interface GroupviewPanelState {
56
+ id: string;
57
+ contentComponent?: string;
58
+ tabComponent?: string;
59
+ title?: string;
60
+ params?: {
61
+ [key: string]: any;
62
+ };
63
+ }
64
64
  //# sourceMappingURL=types.d.ts.map
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DockviewDropTargets = void 0;
4
- var DockviewDropTargets;
5
- (function (DockviewDropTargets) {
6
- DockviewDropTargets[DockviewDropTargets["Tab"] = 0] = "Tab";
7
- DockviewDropTargets[DockviewDropTargets["Panel"] = 1] = "Panel";
8
- DockviewDropTargets[DockviewDropTargets["TabContainer"] = 2] = "TabContainer";
9
- DockviewDropTargets[DockviewDropTargets["Edge"] = 3] = "Edge";
10
- })(DockviewDropTargets = exports.DockviewDropTargets || (exports.DockviewDropTargets = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DockviewDropTargets = void 0;
4
+ var DockviewDropTargets;
5
+ (function (DockviewDropTargets) {
6
+ DockviewDropTargets[DockviewDropTargets["Tab"] = 0] = "Tab";
7
+ DockviewDropTargets[DockviewDropTargets["Panel"] = 1] = "Panel";
8
+ DockviewDropTargets[DockviewDropTargets["TabContainer"] = 2] = "TabContainer";
9
+ DockviewDropTargets[DockviewDropTargets["Edge"] = 3] = "Edge";
10
+ })(DockviewDropTargets || (exports.DockviewDropTargets = DockviewDropTargets = {}));
11
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dockview/types.ts"],"names":[],"mappings":";;;AAQA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC3B,2DAAG,CAAA;IACH,+DAAK,CAAA;IACL,6EAAY,CAAA;IACZ,6DAAI,CAAA;AACR,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dockview/types.ts"],"names":[],"mappings":";;;AAQA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC3B,2DAAG,CAAA;IACH,+DAAK,CAAA;IACL,6EAAY,CAAA;IACZ,6DAAI,CAAA;AACR,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
package/dist/cjs/dom.d.ts CHANGED
@@ -1,17 +1,17 @@
1
- import { Event as DockviewEvent } from './events';
2
- import { IDisposable } from './lifecycle';
3
- export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
4
- export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
5
- export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
6
- export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void;
7
- export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean;
8
- export declare function getElementsByTagName(tag: string): HTMLElement[];
9
- export interface IFocusTracker extends IDisposable {
10
- readonly onDidFocus: DockviewEvent<void>;
11
- readonly onDidBlur: DockviewEvent<void>;
12
- refreshState?(): void;
13
- }
14
- export declare function trackFocus(element: HTMLElement | Window): IFocusTracker;
15
- export declare function quasiPreventDefault(event: Event): void;
16
- export declare function quasiDefaultPrevented(event: Event): boolean;
1
+ import { Event as DockviewEvent } from './events';
2
+ import { IDisposable } from './lifecycle';
3
+ export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
4
+ export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
5
+ export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
6
+ export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void;
7
+ export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean;
8
+ export declare function getElementsByTagName(tag: string): HTMLElement[];
9
+ export interface IFocusTracker extends IDisposable {
10
+ readonly onDidFocus: DockviewEvent<void>;
11
+ readonly onDidBlur: DockviewEvent<void>;
12
+ refreshState?(): void;
13
+ }
14
+ export declare function trackFocus(element: HTMLElement | Window): IFocusTracker;
15
+ export declare function quasiPreventDefault(event: Event): void;
16
+ export declare function quasiDefaultPrevented(event: Event): boolean;
17
17
  //# sourceMappingURL=dom.d.ts.map
package/dist/cjs/dom.js CHANGED
@@ -1,198 +1,198 @@
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
- var __values = (this && this.__values) || function(o) {
18
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
- if (m) return m.call(o);
20
- if (o && typeof o.length === "number") return {
21
- next: function () {
22
- if (o && i >= o.length) o = void 0;
23
- return { value: o && o[i++], done: !o };
24
- }
25
- };
26
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.quasiDefaultPrevented = exports.quasiPreventDefault = exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
30
- var events_1 = require("./events");
31
- var lifecycle_1 = require("./lifecycle");
32
- function watchElementResize(element, cb) {
33
- var observer = new ResizeObserver(function (entires) {
34
- /**
35
- * Fast browser window resize produces Error: ResizeObserver loop limit exceeded.
36
- * The error isn't visible in browser console, doesn't affect functionality, but degrades performance.
37
- * See https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded/58701523#58701523
38
- */
39
- requestAnimationFrame(function () {
40
- var firstEntry = entires[0];
41
- cb(firstEntry);
42
- });
43
- });
44
- observer.observe(element);
45
- return {
46
- dispose: function () {
47
- observer.unobserve(element);
48
- observer.disconnect();
49
- },
50
- };
51
- }
52
- exports.watchElementResize = watchElementResize;
53
- var removeClasses = function (element) {
54
- var e_1, _a;
55
- var classes = [];
56
- for (var _i = 1; _i < arguments.length; _i++) {
57
- classes[_i - 1] = arguments[_i];
58
- }
59
- try {
60
- for (var classes_1 = __values(classes), classes_1_1 = classes_1.next(); !classes_1_1.done; classes_1_1 = classes_1.next()) {
61
- var classname = classes_1_1.value;
62
- if (element.classList.contains(classname)) {
63
- element.classList.remove(classname);
64
- }
65
- }
66
- }
67
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
68
- finally {
69
- try {
70
- if (classes_1_1 && !classes_1_1.done && (_a = classes_1.return)) _a.call(classes_1);
71
- }
72
- finally { if (e_1) throw e_1.error; }
73
- }
74
- };
75
- exports.removeClasses = removeClasses;
76
- var addClasses = function (element) {
77
- var e_2, _a;
78
- var classes = [];
79
- for (var _i = 1; _i < arguments.length; _i++) {
80
- classes[_i - 1] = arguments[_i];
81
- }
82
- try {
83
- for (var classes_2 = __values(classes), classes_2_1 = classes_2.next(); !classes_2_1.done; classes_2_1 = classes_2.next()) {
84
- var classname = classes_2_1.value;
85
- if (!element.classList.contains(classname)) {
86
- element.classList.add(classname);
87
- }
88
- }
89
- }
90
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
91
- finally {
92
- try {
93
- if (classes_2_1 && !classes_2_1.done && (_a = classes_2.return)) _a.call(classes_2);
94
- }
95
- finally { if (e_2) throw e_2.error; }
96
- }
97
- };
98
- exports.addClasses = addClasses;
99
- var toggleClass = function (element, className, isToggled) {
100
- var hasClass = element.classList.contains(className);
101
- if (isToggled && !hasClass) {
102
- element.classList.add(className);
103
- }
104
- if (!isToggled && hasClass) {
105
- element.classList.remove(className);
106
- }
107
- };
108
- exports.toggleClass = toggleClass;
109
- function isAncestor(testChild, testAncestor) {
110
- while (testChild) {
111
- if (testChild === testAncestor) {
112
- return true;
113
- }
114
- testChild = testChild.parentNode;
115
- }
116
- return false;
117
- }
118
- exports.isAncestor = isAncestor;
119
- function getElementsByTagName(tag) {
120
- return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
121
- }
122
- exports.getElementsByTagName = getElementsByTagName;
123
- function trackFocus(element) {
124
- return new FocusTracker(element);
125
- }
126
- exports.trackFocus = trackFocus;
127
- /**
128
- * Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
129
- */
130
- var FocusTracker = /** @class */ (function (_super) {
131
- __extends(FocusTracker, _super);
132
- function FocusTracker(element) {
133
- var _this = _super.call(this) || this;
134
- _this._onDidFocus = new events_1.Emitter();
135
- _this.onDidFocus = _this._onDidFocus.event;
136
- _this._onDidBlur = new events_1.Emitter();
137
- _this.onDidBlur = _this._onDidBlur.event;
138
- _this.addDisposables(_this._onDidFocus, _this._onDidBlur);
139
- var hasFocus = isAncestor(document.activeElement, element);
140
- var loosingFocus = false;
141
- var onFocus = function () {
142
- loosingFocus = false;
143
- if (!hasFocus) {
144
- hasFocus = true;
145
- _this._onDidFocus.fire();
146
- }
147
- };
148
- var onBlur = function () {
149
- if (hasFocus) {
150
- loosingFocus = true;
151
- window.setTimeout(function () {
152
- if (loosingFocus) {
153
- loosingFocus = false;
154
- hasFocus = false;
155
- _this._onDidBlur.fire();
156
- }
157
- }, 0);
158
- }
159
- };
160
- _this._refreshStateHandler = function () {
161
- var currentNodeHasFocus = isAncestor(document.activeElement, element);
162
- if (currentNodeHasFocus !== hasFocus) {
163
- if (hasFocus) {
164
- onBlur();
165
- }
166
- else {
167
- onFocus();
168
- }
169
- }
170
- };
171
- if (element instanceof HTMLElement) {
172
- _this.addDisposables((0, events_1.addDisposableListener)(element, 'focus', onFocus, true));
173
- _this.addDisposables((0, events_1.addDisposableListener)(element, 'blur', onBlur, true));
174
- }
175
- else {
176
- _this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'focus', onFocus, true));
177
- _this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'blur', onBlur, true));
178
- }
179
- return _this;
180
- }
181
- FocusTracker.prototype.refreshState = function () {
182
- this._refreshStateHandler();
183
- };
184
- return FocusTracker;
185
- }(lifecycle_1.CompositeDisposable));
186
- // quasi: apparently, but not really; seemingly
187
- var QUASI_PREVENT_DEFAULT_KEY = 'dv-quasiPreventDefault';
188
- // mark an event directly for other listeners to check
189
- function quasiPreventDefault(event) {
190
- event[QUASI_PREVENT_DEFAULT_KEY] = true;
191
- }
192
- exports.quasiPreventDefault = quasiPreventDefault;
193
- // check if this event has been marked
194
- function quasiDefaultPrevented(event) {
195
- return event[QUASI_PREVENT_DEFAULT_KEY];
196
- }
197
- exports.quasiDefaultPrevented = quasiDefaultPrevented;
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
+ var __values = (this && this.__values) || function(o) {
18
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
+ if (m) return m.call(o);
20
+ if (o && typeof o.length === "number") return {
21
+ next: function () {
22
+ if (o && i >= o.length) o = void 0;
23
+ return { value: o && o[i++], done: !o };
24
+ }
25
+ };
26
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.quasiDefaultPrevented = exports.quasiPreventDefault = exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
30
+ var events_1 = require("./events");
31
+ var lifecycle_1 = require("./lifecycle");
32
+ function watchElementResize(element, cb) {
33
+ var observer = new ResizeObserver(function (entires) {
34
+ /**
35
+ * Fast browser window resize produces Error: ResizeObserver loop limit exceeded.
36
+ * The error isn't visible in browser console, doesn't affect functionality, but degrades performance.
37
+ * See https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded/58701523#58701523
38
+ */
39
+ requestAnimationFrame(function () {
40
+ var firstEntry = entires[0];
41
+ cb(firstEntry);
42
+ });
43
+ });
44
+ observer.observe(element);
45
+ return {
46
+ dispose: function () {
47
+ observer.unobserve(element);
48
+ observer.disconnect();
49
+ },
50
+ };
51
+ }
52
+ exports.watchElementResize = watchElementResize;
53
+ var removeClasses = function (element) {
54
+ var e_1, _a;
55
+ var classes = [];
56
+ for (var _i = 1; _i < arguments.length; _i++) {
57
+ classes[_i - 1] = arguments[_i];
58
+ }
59
+ try {
60
+ for (var classes_1 = __values(classes), classes_1_1 = classes_1.next(); !classes_1_1.done; classes_1_1 = classes_1.next()) {
61
+ var classname = classes_1_1.value;
62
+ if (element.classList.contains(classname)) {
63
+ element.classList.remove(classname);
64
+ }
65
+ }
66
+ }
67
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
68
+ finally {
69
+ try {
70
+ if (classes_1_1 && !classes_1_1.done && (_a = classes_1.return)) _a.call(classes_1);
71
+ }
72
+ finally { if (e_1) throw e_1.error; }
73
+ }
74
+ };
75
+ exports.removeClasses = removeClasses;
76
+ var addClasses = function (element) {
77
+ var e_2, _a;
78
+ var classes = [];
79
+ for (var _i = 1; _i < arguments.length; _i++) {
80
+ classes[_i - 1] = arguments[_i];
81
+ }
82
+ try {
83
+ for (var classes_2 = __values(classes), classes_2_1 = classes_2.next(); !classes_2_1.done; classes_2_1 = classes_2.next()) {
84
+ var classname = classes_2_1.value;
85
+ if (!element.classList.contains(classname)) {
86
+ element.classList.add(classname);
87
+ }
88
+ }
89
+ }
90
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
91
+ finally {
92
+ try {
93
+ if (classes_2_1 && !classes_2_1.done && (_a = classes_2.return)) _a.call(classes_2);
94
+ }
95
+ finally { if (e_2) throw e_2.error; }
96
+ }
97
+ };
98
+ exports.addClasses = addClasses;
99
+ var toggleClass = function (element, className, isToggled) {
100
+ var hasClass = element.classList.contains(className);
101
+ if (isToggled && !hasClass) {
102
+ element.classList.add(className);
103
+ }
104
+ if (!isToggled && hasClass) {
105
+ element.classList.remove(className);
106
+ }
107
+ };
108
+ exports.toggleClass = toggleClass;
109
+ function isAncestor(testChild, testAncestor) {
110
+ while (testChild) {
111
+ if (testChild === testAncestor) {
112
+ return true;
113
+ }
114
+ testChild = testChild.parentNode;
115
+ }
116
+ return false;
117
+ }
118
+ exports.isAncestor = isAncestor;
119
+ function getElementsByTagName(tag) {
120
+ return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
121
+ }
122
+ exports.getElementsByTagName = getElementsByTagName;
123
+ function trackFocus(element) {
124
+ return new FocusTracker(element);
125
+ }
126
+ exports.trackFocus = trackFocus;
127
+ /**
128
+ * Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
129
+ */
130
+ var FocusTracker = /** @class */ (function (_super) {
131
+ __extends(FocusTracker, _super);
132
+ function FocusTracker(element) {
133
+ var _this = _super.call(this) || this;
134
+ _this._onDidFocus = new events_1.Emitter();
135
+ _this.onDidFocus = _this._onDidFocus.event;
136
+ _this._onDidBlur = new events_1.Emitter();
137
+ _this.onDidBlur = _this._onDidBlur.event;
138
+ _this.addDisposables(_this._onDidFocus, _this._onDidBlur);
139
+ var hasFocus = isAncestor(document.activeElement, element);
140
+ var loosingFocus = false;
141
+ var onFocus = function () {
142
+ loosingFocus = false;
143
+ if (!hasFocus) {
144
+ hasFocus = true;
145
+ _this._onDidFocus.fire();
146
+ }
147
+ };
148
+ var onBlur = function () {
149
+ if (hasFocus) {
150
+ loosingFocus = true;
151
+ window.setTimeout(function () {
152
+ if (loosingFocus) {
153
+ loosingFocus = false;
154
+ hasFocus = false;
155
+ _this._onDidBlur.fire();
156
+ }
157
+ }, 0);
158
+ }
159
+ };
160
+ _this._refreshStateHandler = function () {
161
+ var currentNodeHasFocus = isAncestor(document.activeElement, element);
162
+ if (currentNodeHasFocus !== hasFocus) {
163
+ if (hasFocus) {
164
+ onBlur();
165
+ }
166
+ else {
167
+ onFocus();
168
+ }
169
+ }
170
+ };
171
+ if (element instanceof HTMLElement) {
172
+ _this.addDisposables((0, events_1.addDisposableListener)(element, 'focus', onFocus, true));
173
+ _this.addDisposables((0, events_1.addDisposableListener)(element, 'blur', onBlur, true));
174
+ }
175
+ else {
176
+ _this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'focus', onFocus, true));
177
+ _this.addDisposables((0, events_1.addDisposableWindowListener)(element, 'blur', onBlur, true));
178
+ }
179
+ return _this;
180
+ }
181
+ FocusTracker.prototype.refreshState = function () {
182
+ this._refreshStateHandler();
183
+ };
184
+ return FocusTracker;
185
+ }(lifecycle_1.CompositeDisposable));
186
+ // quasi: apparently, but not really; seemingly
187
+ var QUASI_PREVENT_DEFAULT_KEY = 'dv-quasiPreventDefault';
188
+ // mark an event directly for other listeners to check
189
+ function quasiPreventDefault(event) {
190
+ event[QUASI_PREVENT_DEFAULT_KEY] = true;
191
+ }
192
+ exports.quasiPreventDefault = quasiPreventDefault;
193
+ // check if this event has been marked
194
+ function quasiDefaultPrevented(event) {
195
+ return event[QUASI_PREVENT_DEFAULT_KEY];
196
+ }
197
+ exports.quasiDefaultPrevented = quasiDefaultPrevented;
198
198
  //# sourceMappingURL=dom.js.map