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
package/dist/esm/dom.js CHANGED
@@ -1,127 +1,127 @@
1
- import { Emitter, addDisposableListener, addDisposableWindowListener, } from './events';
2
- import { CompositeDisposable } from './lifecycle';
3
- export function watchElementResize(element, cb) {
4
- const observer = new ResizeObserver((entires) => {
5
- /**
6
- * Fast browser window resize produces Error: ResizeObserver loop limit exceeded.
7
- * The error isn't visible in browser console, doesn't affect functionality, but degrades performance.
8
- * See https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded/58701523#58701523
9
- */
10
- requestAnimationFrame(() => {
11
- const firstEntry = entires[0];
12
- cb(firstEntry);
13
- });
14
- });
15
- observer.observe(element);
16
- return {
17
- dispose: () => {
18
- observer.unobserve(element);
19
- observer.disconnect();
20
- },
21
- };
22
- }
23
- export const removeClasses = (element, ...classes) => {
24
- for (const classname of classes) {
25
- if (element.classList.contains(classname)) {
26
- element.classList.remove(classname);
27
- }
28
- }
29
- };
30
- export const addClasses = (element, ...classes) => {
31
- for (const classname of classes) {
32
- if (!element.classList.contains(classname)) {
33
- element.classList.add(classname);
34
- }
35
- }
36
- };
37
- export const toggleClass = (element, className, isToggled) => {
38
- const hasClass = element.classList.contains(className);
39
- if (isToggled && !hasClass) {
40
- element.classList.add(className);
41
- }
42
- if (!isToggled && hasClass) {
43
- element.classList.remove(className);
44
- }
45
- };
46
- export function isAncestor(testChild, testAncestor) {
47
- while (testChild) {
48
- if (testChild === testAncestor) {
49
- return true;
50
- }
51
- testChild = testChild.parentNode;
52
- }
53
- return false;
54
- }
55
- export function getElementsByTagName(tag) {
56
- return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
57
- }
58
- export function trackFocus(element) {
59
- return new FocusTracker(element);
60
- }
61
- /**
62
- * Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
63
- */
64
- class FocusTracker extends CompositeDisposable {
65
- constructor(element) {
66
- super();
67
- this._onDidFocus = new Emitter();
68
- this.onDidFocus = this._onDidFocus.event;
69
- this._onDidBlur = new Emitter();
70
- this.onDidBlur = this._onDidBlur.event;
71
- this.addDisposables(this._onDidFocus, this._onDidBlur);
72
- let hasFocus = isAncestor(document.activeElement, element);
73
- let loosingFocus = false;
74
- const onFocus = () => {
75
- loosingFocus = false;
76
- if (!hasFocus) {
77
- hasFocus = true;
78
- this._onDidFocus.fire();
79
- }
80
- };
81
- const onBlur = () => {
82
- if (hasFocus) {
83
- loosingFocus = true;
84
- window.setTimeout(() => {
85
- if (loosingFocus) {
86
- loosingFocus = false;
87
- hasFocus = false;
88
- this._onDidBlur.fire();
89
- }
90
- }, 0);
91
- }
92
- };
93
- this._refreshStateHandler = () => {
94
- const currentNodeHasFocus = isAncestor(document.activeElement, element);
95
- if (currentNodeHasFocus !== hasFocus) {
96
- if (hasFocus) {
97
- onBlur();
98
- }
99
- else {
100
- onFocus();
101
- }
102
- }
103
- };
104
- if (element instanceof HTMLElement) {
105
- this.addDisposables(addDisposableListener(element, 'focus', onFocus, true));
106
- this.addDisposables(addDisposableListener(element, 'blur', onBlur, true));
107
- }
108
- else {
109
- this.addDisposables(addDisposableWindowListener(element, 'focus', onFocus, true));
110
- this.addDisposables(addDisposableWindowListener(element, 'blur', onBlur, true));
111
- }
112
- }
113
- refreshState() {
114
- this._refreshStateHandler();
115
- }
116
- }
117
- // quasi: apparently, but not really; seemingly
118
- const QUASI_PREVENT_DEFAULT_KEY = 'dv-quasiPreventDefault';
119
- // mark an event directly for other listeners to check
120
- export function quasiPreventDefault(event) {
121
- event[QUASI_PREVENT_DEFAULT_KEY] = true;
122
- }
123
- // check if this event has been marked
124
- export function quasiDefaultPrevented(event) {
125
- return event[QUASI_PREVENT_DEFAULT_KEY];
126
- }
1
+ import { Emitter, addDisposableListener, addDisposableWindowListener, } from './events';
2
+ import { CompositeDisposable } from './lifecycle';
3
+ export function watchElementResize(element, cb) {
4
+ const observer = new ResizeObserver((entires) => {
5
+ /**
6
+ * Fast browser window resize produces Error: ResizeObserver loop limit exceeded.
7
+ * The error isn't visible in browser console, doesn't affect functionality, but degrades performance.
8
+ * See https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded/58701523#58701523
9
+ */
10
+ requestAnimationFrame(() => {
11
+ const firstEntry = entires[0];
12
+ cb(firstEntry);
13
+ });
14
+ });
15
+ observer.observe(element);
16
+ return {
17
+ dispose: () => {
18
+ observer.unobserve(element);
19
+ observer.disconnect();
20
+ },
21
+ };
22
+ }
23
+ export const removeClasses = (element, ...classes) => {
24
+ for (const classname of classes) {
25
+ if (element.classList.contains(classname)) {
26
+ element.classList.remove(classname);
27
+ }
28
+ }
29
+ };
30
+ export const addClasses = (element, ...classes) => {
31
+ for (const classname of classes) {
32
+ if (!element.classList.contains(classname)) {
33
+ element.classList.add(classname);
34
+ }
35
+ }
36
+ };
37
+ export const toggleClass = (element, className, isToggled) => {
38
+ const hasClass = element.classList.contains(className);
39
+ if (isToggled && !hasClass) {
40
+ element.classList.add(className);
41
+ }
42
+ if (!isToggled && hasClass) {
43
+ element.classList.remove(className);
44
+ }
45
+ };
46
+ export function isAncestor(testChild, testAncestor) {
47
+ while (testChild) {
48
+ if (testChild === testAncestor) {
49
+ return true;
50
+ }
51
+ testChild = testChild.parentNode;
52
+ }
53
+ return false;
54
+ }
55
+ export function getElementsByTagName(tag) {
56
+ return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
57
+ }
58
+ export function trackFocus(element) {
59
+ return new FocusTracker(element);
60
+ }
61
+ /**
62
+ * Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
63
+ */
64
+ class FocusTracker extends CompositeDisposable {
65
+ constructor(element) {
66
+ super();
67
+ this._onDidFocus = new Emitter();
68
+ this.onDidFocus = this._onDidFocus.event;
69
+ this._onDidBlur = new Emitter();
70
+ this.onDidBlur = this._onDidBlur.event;
71
+ this.addDisposables(this._onDidFocus, this._onDidBlur);
72
+ let hasFocus = isAncestor(document.activeElement, element);
73
+ let loosingFocus = false;
74
+ const onFocus = () => {
75
+ loosingFocus = false;
76
+ if (!hasFocus) {
77
+ hasFocus = true;
78
+ this._onDidFocus.fire();
79
+ }
80
+ };
81
+ const onBlur = () => {
82
+ if (hasFocus) {
83
+ loosingFocus = true;
84
+ window.setTimeout(() => {
85
+ if (loosingFocus) {
86
+ loosingFocus = false;
87
+ hasFocus = false;
88
+ this._onDidBlur.fire();
89
+ }
90
+ }, 0);
91
+ }
92
+ };
93
+ this._refreshStateHandler = () => {
94
+ const currentNodeHasFocus = isAncestor(document.activeElement, element);
95
+ if (currentNodeHasFocus !== hasFocus) {
96
+ if (hasFocus) {
97
+ onBlur();
98
+ }
99
+ else {
100
+ onFocus();
101
+ }
102
+ }
103
+ };
104
+ if (element instanceof HTMLElement) {
105
+ this.addDisposables(addDisposableListener(element, 'focus', onFocus, true));
106
+ this.addDisposables(addDisposableListener(element, 'blur', onBlur, true));
107
+ }
108
+ else {
109
+ this.addDisposables(addDisposableWindowListener(element, 'focus', onFocus, true));
110
+ this.addDisposables(addDisposableWindowListener(element, 'blur', onBlur, true));
111
+ }
112
+ }
113
+ refreshState() {
114
+ this._refreshStateHandler();
115
+ }
116
+ }
117
+ // quasi: apparently, but not really; seemingly
118
+ const QUASI_PREVENT_DEFAULT_KEY = 'dv-quasiPreventDefault';
119
+ // mark an event directly for other listeners to check
120
+ export function quasiPreventDefault(event) {
121
+ event[QUASI_PREVENT_DEFAULT_KEY] = true;
122
+ }
123
+ // check if this event has been marked
124
+ export function quasiDefaultPrevented(event) {
125
+ return event[QUASI_PREVENT_DEFAULT_KEY];
126
+ }
127
127
  //# sourceMappingURL=dom.js.map
@@ -1,48 +1,48 @@
1
- import { IDisposable } from './lifecycle';
2
- export interface Event<T> {
3
- (listener: (e: T) => any): IDisposable;
4
- }
5
- export interface EmitterOptions {
6
- readonly replay?: boolean;
7
- }
8
- export declare namespace Event {
9
- const any: <T>(...children: Event<T>[]) => Event<T>;
10
- }
11
- declare class LeakageMonitor {
12
- readonly events: Map<Event<any>, Stacktrace>;
13
- get size(): number;
14
- add<T>(event: Event<T>, stacktrace: Stacktrace): void;
15
- delete<T>(event: Event<T>): void;
16
- clear(): void;
17
- }
18
- declare class Stacktrace {
19
- readonly value: string;
20
- static create(): Stacktrace;
21
- private constructor();
22
- print(): void;
23
- }
24
- export declare class Emitter<T> implements IDisposable {
25
- private readonly options?;
26
- private _event?;
27
- private _last?;
28
- private _listeners;
29
- private _disposed;
30
- static ENABLE_TRACKING: boolean;
31
- static readonly MEMORY_LEAK_WATCHER: LeakageMonitor;
32
- static setLeakageMonitorEnabled(isEnabled: boolean): void;
33
- constructor(options?: EmitterOptions | undefined);
34
- get event(): Event<T>;
35
- fire(e: T): void;
36
- dispose(): void;
37
- }
38
- export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
39
- export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
40
- export declare class TickDelayedEvent implements IDisposable {
41
- private timer;
42
- private readonly _onFired;
43
- readonly onEvent: Event<void>;
44
- fire(): void;
45
- dispose(): void;
46
- }
47
- export {};
1
+ import { IDisposable } from './lifecycle';
2
+ export interface Event<T> {
3
+ (listener: (e: T) => any): IDisposable;
4
+ }
5
+ export interface EmitterOptions {
6
+ readonly replay?: boolean;
7
+ }
8
+ export declare namespace Event {
9
+ const any: <T>(...children: Event<T>[]) => Event<T>;
10
+ }
11
+ declare class LeakageMonitor {
12
+ readonly events: Map<Event<any>, Stacktrace>;
13
+ get size(): number;
14
+ add<T>(event: Event<T>, stacktrace: Stacktrace): void;
15
+ delete<T>(event: Event<T>): void;
16
+ clear(): void;
17
+ }
18
+ declare class Stacktrace {
19
+ readonly value: string;
20
+ static create(): Stacktrace;
21
+ private constructor();
22
+ print(): void;
23
+ }
24
+ export declare class Emitter<T> implements IDisposable {
25
+ private readonly options?;
26
+ private _event?;
27
+ private _last?;
28
+ private _listeners;
29
+ private _disposed;
30
+ static ENABLE_TRACKING: boolean;
31
+ static readonly MEMORY_LEAK_WATCHER: LeakageMonitor;
32
+ static setLeakageMonitorEnabled(isEnabled: boolean): void;
33
+ constructor(options?: EmitterOptions | undefined);
34
+ get event(): Event<T>;
35
+ fire(e: T): void;
36
+ dispose(): void;
37
+ }
38
+ export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
39
+ export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
40
+ export declare class TickDelayedEvent implements IDisposable {
41
+ private timer;
42
+ private readonly _onFired;
43
+ readonly onEvent: Event<void>;
44
+ fire(): void;
45
+ dispose(): void;
46
+ }
47
+ export {};
48
48
  //# sourceMappingURL=events.d.ts.map
@@ -1,157 +1,157 @@
1
- export var Event;
2
- (function (Event) {
3
- Event.any = (...children) => {
4
- return (listener) => {
5
- const disposables = children.map((child) => child(listener));
6
- return {
7
- dispose: () => {
8
- disposables.forEach((d) => {
9
- d.dispose();
10
- });
11
- },
12
- };
13
- };
14
- };
15
- })(Event || (Event = {}));
16
- class LeakageMonitor {
17
- constructor() {
18
- this.events = new Map();
19
- }
20
- get size() {
21
- return this.events.size;
22
- }
23
- add(event, stacktrace) {
24
- this.events.set(event, stacktrace);
25
- }
26
- delete(event) {
27
- this.events.delete(event);
28
- }
29
- clear() {
30
- this.events.clear();
31
- }
32
- }
33
- class Stacktrace {
34
- static create() {
35
- var _a;
36
- return new Stacktrace((_a = new Error().stack) !== null && _a !== void 0 ? _a : '');
37
- }
38
- constructor(value) {
39
- this.value = value;
40
- }
41
- print() {
42
- console.warn(this.value);
43
- }
44
- }
45
- class Listener {
46
- constructor(callback, stacktrace) {
47
- this.callback = callback;
48
- this.stacktrace = stacktrace;
49
- }
50
- }
51
- // relatively simple event emitter taken from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/event.ts
52
- export class Emitter {
53
- static setLeakageMonitorEnabled(isEnabled) {
54
- if (isEnabled !== Emitter.ENABLE_TRACKING) {
55
- Emitter.MEMORY_LEAK_WATCHER.clear();
56
- }
57
- Emitter.ENABLE_TRACKING = isEnabled;
58
- }
59
- constructor(options) {
60
- this.options = options;
61
- this._listeners = [];
62
- this._disposed = false;
63
- }
64
- get event() {
65
- if (!this._event) {
66
- this._event = (callback) => {
67
- var _a;
68
- if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.replay) && this._last !== undefined) {
69
- callback(this._last);
70
- }
71
- const listener = new Listener(callback, Emitter.ENABLE_TRACKING ? Stacktrace.create() : undefined);
72
- this._listeners.push(listener);
73
- return {
74
- dispose: () => {
75
- const index = this._listeners.indexOf(listener);
76
- if (index > -1) {
77
- this._listeners.splice(index, 1);
78
- }
79
- else if (Emitter.ENABLE_TRACKING) {
80
- // console.warn(
81
- // `Listener already disposed`,
82
- // Stacktrace.create().print()
83
- // );
84
- }
85
- },
86
- };
87
- };
88
- if (Emitter.ENABLE_TRACKING) {
89
- Emitter.MEMORY_LEAK_WATCHER.add(this._event, Stacktrace.create());
90
- }
91
- }
92
- return this._event;
93
- }
94
- fire(e) {
95
- this._last = e;
96
- for (const listener of this._listeners) {
97
- listener.callback(e);
98
- }
99
- }
100
- dispose() {
101
- if (!this._disposed) {
102
- this._disposed = true;
103
- if (this._listeners.length > 0) {
104
- if (Emitter.ENABLE_TRACKING) {
105
- queueMicrotask(() => {
106
- var _a;
107
- // don't check until stack of execution is completed to allow for out-of-order disposals within the same execution block
108
- for (const listener of this._listeners) {
109
- console.warn((_a = listener.stacktrace) === null || _a === void 0 ? void 0 : _a.print());
110
- }
111
- });
112
- }
113
- this._listeners = [];
114
- }
115
- if (Emitter.ENABLE_TRACKING && this._event) {
116
- Emitter.MEMORY_LEAK_WATCHER.delete(this._event);
117
- }
118
- }
119
- }
120
- }
121
- Emitter.ENABLE_TRACKING = false;
122
- Emitter.MEMORY_LEAK_WATCHER = new LeakageMonitor();
123
- export function addDisposableWindowListener(element, type, listener, options) {
124
- element.addEventListener(type, listener, options);
125
- return {
126
- dispose: () => {
127
- element.removeEventListener(type, listener, options);
128
- },
129
- };
130
- }
131
- export function addDisposableListener(element, type, listener, options) {
132
- element.addEventListener(type, listener, options);
133
- return {
134
- dispose: () => {
135
- element.removeEventListener(type, listener, options);
136
- },
137
- };
138
- }
139
- export class TickDelayedEvent {
140
- constructor() {
141
- this._onFired = new Emitter();
142
- this.onEvent = this._onFired.event;
143
- }
144
- fire() {
145
- if (this.timer) {
146
- clearTimeout(this.timer);
147
- }
148
- this.timer = setTimeout(() => {
149
- this._onFired.fire();
150
- clearTimeout(this.timer);
151
- });
152
- }
153
- dispose() {
154
- this._onFired.dispose();
155
- }
156
- }
1
+ export var Event;
2
+ (function (Event) {
3
+ Event.any = (...children) => {
4
+ return (listener) => {
5
+ const disposables = children.map((child) => child(listener));
6
+ return {
7
+ dispose: () => {
8
+ disposables.forEach((d) => {
9
+ d.dispose();
10
+ });
11
+ },
12
+ };
13
+ };
14
+ };
15
+ })(Event || (Event = {}));
16
+ class LeakageMonitor {
17
+ constructor() {
18
+ this.events = new Map();
19
+ }
20
+ get size() {
21
+ return this.events.size;
22
+ }
23
+ add(event, stacktrace) {
24
+ this.events.set(event, stacktrace);
25
+ }
26
+ delete(event) {
27
+ this.events.delete(event);
28
+ }
29
+ clear() {
30
+ this.events.clear();
31
+ }
32
+ }
33
+ class Stacktrace {
34
+ static create() {
35
+ var _a;
36
+ return new Stacktrace((_a = new Error().stack) !== null && _a !== void 0 ? _a : '');
37
+ }
38
+ constructor(value) {
39
+ this.value = value;
40
+ }
41
+ print() {
42
+ console.warn(this.value);
43
+ }
44
+ }
45
+ class Listener {
46
+ constructor(callback, stacktrace) {
47
+ this.callback = callback;
48
+ this.stacktrace = stacktrace;
49
+ }
50
+ }
51
+ // relatively simple event emitter taken from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/event.ts
52
+ export class Emitter {
53
+ static setLeakageMonitorEnabled(isEnabled) {
54
+ if (isEnabled !== Emitter.ENABLE_TRACKING) {
55
+ Emitter.MEMORY_LEAK_WATCHER.clear();
56
+ }
57
+ Emitter.ENABLE_TRACKING = isEnabled;
58
+ }
59
+ constructor(options) {
60
+ this.options = options;
61
+ this._listeners = [];
62
+ this._disposed = false;
63
+ }
64
+ get event() {
65
+ if (!this._event) {
66
+ this._event = (callback) => {
67
+ var _a;
68
+ if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.replay) && this._last !== undefined) {
69
+ callback(this._last);
70
+ }
71
+ const listener = new Listener(callback, Emitter.ENABLE_TRACKING ? Stacktrace.create() : undefined);
72
+ this._listeners.push(listener);
73
+ return {
74
+ dispose: () => {
75
+ const index = this._listeners.indexOf(listener);
76
+ if (index > -1) {
77
+ this._listeners.splice(index, 1);
78
+ }
79
+ else if (Emitter.ENABLE_TRACKING) {
80
+ // console.warn(
81
+ // `Listener already disposed`,
82
+ // Stacktrace.create().print()
83
+ // );
84
+ }
85
+ },
86
+ };
87
+ };
88
+ if (Emitter.ENABLE_TRACKING) {
89
+ Emitter.MEMORY_LEAK_WATCHER.add(this._event, Stacktrace.create());
90
+ }
91
+ }
92
+ return this._event;
93
+ }
94
+ fire(e) {
95
+ this._last = e;
96
+ for (const listener of this._listeners) {
97
+ listener.callback(e);
98
+ }
99
+ }
100
+ dispose() {
101
+ if (!this._disposed) {
102
+ this._disposed = true;
103
+ if (this._listeners.length > 0) {
104
+ if (Emitter.ENABLE_TRACKING) {
105
+ queueMicrotask(() => {
106
+ var _a;
107
+ // don't check until stack of execution is completed to allow for out-of-order disposals within the same execution block
108
+ for (const listener of this._listeners) {
109
+ console.warn((_a = listener.stacktrace) === null || _a === void 0 ? void 0 : _a.print());
110
+ }
111
+ });
112
+ }
113
+ this._listeners = [];
114
+ }
115
+ if (Emitter.ENABLE_TRACKING && this._event) {
116
+ Emitter.MEMORY_LEAK_WATCHER.delete(this._event);
117
+ }
118
+ }
119
+ }
120
+ }
121
+ Emitter.ENABLE_TRACKING = false;
122
+ Emitter.MEMORY_LEAK_WATCHER = new LeakageMonitor();
123
+ export function addDisposableWindowListener(element, type, listener, options) {
124
+ element.addEventListener(type, listener, options);
125
+ return {
126
+ dispose: () => {
127
+ element.removeEventListener(type, listener, options);
128
+ },
129
+ };
130
+ }
131
+ export function addDisposableListener(element, type, listener, options) {
132
+ element.addEventListener(type, listener, options);
133
+ return {
134
+ dispose: () => {
135
+ element.removeEventListener(type, listener, options);
136
+ },
137
+ };
138
+ }
139
+ export class TickDelayedEvent {
140
+ constructor() {
141
+ this._onFired = new Emitter();
142
+ this.onEvent = this._onFired.event;
143
+ }
144
+ fire() {
145
+ if (this.timer) {
146
+ clearTimeout(this.timer);
147
+ }
148
+ this.timer = setTimeout(() => {
149
+ this._onFired.fire();
150
+ clearTimeout(this.timer);
151
+ });
152
+ }
153
+ dispose() {
154
+ this._onFired.dispose();
155
+ }
156
+ }
157
157
  //# sourceMappingURL=events.js.map