flexlayout-react 0.8.11 → 0.8.13

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 (473) hide show
  1. package/README.md +16 -5
  2. package/declarations/Attribute.d.ts +25 -1
  3. package/declarations/AttributeDefinitions.d.ts +18 -1
  4. package/declarations/DockLocation.d.ts +22 -0
  5. package/declarations/I18nLabel.d.ts +2 -1
  6. package/declarations/Orientation.d.ts +4 -0
  7. package/declarations/Rect.d.ts +3 -0
  8. package/declarations/index.d.ts +1 -0
  9. package/declarations/model/BorderNode.d.ts +53 -0
  10. package/declarations/model/BorderSet.d.ts +28 -0
  11. package/declarations/model/IDraggable.d.ts +4 -0
  12. package/declarations/model/IDropTarget.d.ts +10 -0
  13. package/declarations/model/LayoutWindow.d.ts +16 -0
  14. package/declarations/model/Model.d.ts +55 -0
  15. package/declarations/model/Node.d.ts +61 -0
  16. package/declarations/model/RowNode.d.ts +67 -0
  17. package/declarations/model/TabNode.d.ts +79 -0
  18. package/declarations/model/TabSetNode.d.ts +60 -0
  19. package/declarations/model/Utils.d.ts +8 -0
  20. package/declarations/view/BorderButton.d.ts +13 -1
  21. package/declarations/view/BorderTab.d.ts +8 -0
  22. package/declarations/view/BorderTabSet.d.ts +10 -1
  23. package/declarations/view/DragContainer.d.ts +9 -1
  24. package/declarations/view/ErrorBoundary.d.ts +22 -1
  25. package/declarations/view/Icons.d.ts +1 -0
  26. package/declarations/view/Layout.d.ts +143 -1
  27. package/declarations/view/Overlay.d.ts +8 -1
  28. package/declarations/view/PopoutWindow.d.ts +14 -1
  29. package/declarations/view/PopupMenu.d.ts +12 -1
  30. package/declarations/view/Row.d.ts +9 -1
  31. package/declarations/view/Splitter.d.ts +14 -1
  32. package/declarations/view/Tab.d.ts +11 -1
  33. package/declarations/view/TabButton.d.ts +11 -1
  34. package/declarations/view/TabButtonStamp.d.ts +9 -1
  35. package/declarations/view/TabOverflowHook.d.ts +16 -1
  36. package/declarations/view/TabSet.d.ts +9 -1
  37. package/declarations/view/Utils.d.ts +13 -0
  38. package/lib/index.js +6410 -22
  39. package/package.json +34 -26
  40. package/ChangeLog.txt +0 -370
  41. package/declarations/DragDrop.d.ts +0 -15
  42. package/declarations/PopupMenu.d.ts +0 -1
  43. package/declarations/model/SplitterNode.d.ts +0 -5
  44. package/declarations/model/WindowLayout.d.ts +0 -24
  45. package/declarations/src/Attribute.d.ts +0 -1
  46. package/declarations/src/AttributeDefinitions.d.ts +0 -1
  47. package/declarations/src/DockLocation.d.ts +0 -12
  48. package/declarations/src/DropInfo.d.ts +0 -12
  49. package/declarations/src/I18nLabel.d.ts +0 -10
  50. package/declarations/src/Orientation.d.ts +0 -7
  51. package/declarations/src/PopupMenu.d.ts +0 -1
  52. package/declarations/src/Rect.d.ts +0 -31
  53. package/declarations/src/Types.d.ts +0 -92
  54. package/declarations/src/index.d.ts +0 -20
  55. package/declarations/src/model/Action.d.ts +0 -5
  56. package/declarations/src/model/Actions.d.ts +0 -110
  57. package/declarations/src/model/BorderNode.d.ts +0 -28
  58. package/declarations/src/model/BorderSet.d.ts +0 -3
  59. package/declarations/src/model/ICloseType.d.ts +0 -5
  60. package/declarations/src/model/IDraggable.d.ts +0 -2
  61. package/declarations/src/model/IDropTarget.d.ts +0 -2
  62. package/declarations/src/model/IJsonModel.d.ts +0 -153
  63. package/declarations/src/model/Model.d.ts +0 -98
  64. package/declarations/src/model/Node.d.ts +0 -16
  65. package/declarations/src/model/RowNode.d.ts +0 -11
  66. package/declarations/src/model/TabNode.d.ts +0 -36
  67. package/declarations/src/model/TabSetNode.d.ts +0 -37
  68. package/declarations/src/model/Utils.d.ts +0 -1
  69. package/declarations/src/view/BorderButton.d.ts +0 -1
  70. package/declarations/src/view/BorderTab.d.ts +0 -2
  71. package/declarations/src/view/BorderTabSet.d.ts +0 -1
  72. package/declarations/src/view/DragContainer.d.ts +0 -1
  73. package/declarations/src/view/ErrorBoundary.d.ts +0 -1
  74. package/declarations/src/view/FloatingWindow.d.ts +0 -1
  75. package/declarations/src/view/Icons.d.ts +0 -7
  76. package/declarations/src/view/Layout.d.ts +0 -113
  77. package/declarations/src/view/Overlay.d.ts +0 -1
  78. package/declarations/src/view/PopupMenu.d.ts +0 -1
  79. package/declarations/src/view/Row.d.ts +0 -1
  80. package/declarations/src/view/Splitter.d.ts +0 -1
  81. package/declarations/src/view/Tab.d.ts +0 -1
  82. package/declarations/src/view/TabButton.d.ts +0 -1
  83. package/declarations/src/view/TabButtonStamp.d.ts +0 -1
  84. package/declarations/src/view/TabOverflowHook.d.ts +0 -1
  85. package/declarations/src/view/TabSet.d.ts +0 -1
  86. package/declarations/src/view/Utils.d.ts +0 -4
  87. package/declarations/view/ExtendedResizeObserver.d.ts +0 -23
  88. package/declarations/view/FloatingWindow.d.ts +0 -1
  89. package/declarations/view/FloatingWindowTab.d.ts +0 -1
  90. package/declarations/view/TabFloating.d.ts +0 -1
  91. package/dist/flexlayout.js +0 -610
  92. package/dist/flexlayout_min.js +0 -2
  93. package/dist/flexlayout_min.js.LICENSE.txt +0 -29
  94. package/dist/src/Attribute.js +0 -43
  95. package/dist/src/Attribute.js.map +0 -1
  96. package/dist/src/AttributeDefinitions.js +0 -132
  97. package/dist/src/AttributeDefinitions.js.map +0 -1
  98. package/dist/src/DockLocation.js +0 -121
  99. package/dist/src/DockLocation.js.map +0 -1
  100. package/dist/src/DropInfo.js +0 -10
  101. package/dist/src/DropInfo.js.map +0 -1
  102. package/dist/src/I18nLabel.js +0 -14
  103. package/dist/src/I18nLabel.js.map +0 -1
  104. package/dist/src/Orientation.js +0 -23
  105. package/dist/src/Orientation.js.map +0 -1
  106. package/dist/src/Rect.js +0 -111
  107. package/dist/src/Rect.js.map +0 -1
  108. package/dist/src/Types.js +0 -95
  109. package/dist/src/Types.js.map +0 -1
  110. package/dist/src/index.js +0 -22
  111. package/dist/src/index.js.map +0 -1
  112. package/dist/src/model/Action.js +0 -7
  113. package/dist/src/model/Action.js.map +0 -1
  114. package/dist/src/model/Actions.js +0 -170
  115. package/dist/src/model/Actions.js.map +0 -1
  116. package/dist/src/model/BorderNode.js +0 -390
  117. package/dist/src/model/BorderNode.js.map +0 -1
  118. package/dist/src/model/BorderSet.js +0 -67
  119. package/dist/src/model/BorderSet.js.map +0 -1
  120. package/dist/src/model/ICloseType.js +0 -7
  121. package/dist/src/model/ICloseType.js.map +0 -1
  122. package/dist/src/model/IDraggable.js +0 -2
  123. package/dist/src/model/IDraggable.js.map +0 -1
  124. package/dist/src/model/IDropTarget.js +0 -2
  125. package/dist/src/model/IDropTarget.js.map +0 -1
  126. package/dist/src/model/IJsonModel.js +0 -2
  127. package/dist/src/model/IJsonModel.js.map +0 -1
  128. package/dist/src/model/LayoutWindow.js +0 -81
  129. package/dist/src/model/LayoutWindow.js.map +0 -1
  130. package/dist/src/model/Model.js +0 -608
  131. package/dist/src/model/Model.js.map +0 -1
  132. package/dist/src/model/Node.js +0 -218
  133. package/dist/src/model/Node.js.map +0 -1
  134. package/dist/src/model/RowNode.js +0 -492
  135. package/dist/src/model/RowNode.js.map +0 -1
  136. package/dist/src/model/TabNode.js +0 -293
  137. package/dist/src/model/TabNode.js.map +0 -1
  138. package/dist/src/model/TabSetNode.js +0 -469
  139. package/dist/src/model/TabSetNode.js.map +0 -1
  140. package/dist/src/model/Utils.js +0 -48
  141. package/dist/src/model/Utils.js.map +0 -1
  142. package/dist/src/view/BorderButton.js +0 -126
  143. package/dist/src/view/BorderButton.js.map +0 -1
  144. package/dist/src/view/BorderTab.js +0 -44
  145. package/dist/src/view/BorderTab.js.map +0 -1
  146. package/dist/src/view/BorderTabSet.js +0 -138
  147. package/dist/src/view/BorderTabSet.js.map +0 -1
  148. package/dist/src/view/DragContainer.js +0 -16
  149. package/dist/src/view/DragContainer.js.map +0 -1
  150. package/dist/src/view/ErrorBoundary.js +0 -24
  151. package/dist/src/view/ErrorBoundary.js.map +0 -1
  152. package/dist/src/view/Icons.js +0 -29
  153. package/dist/src/view/Icons.js.map +0 -1
  154. package/dist/src/view/Layout.js +0 -881
  155. package/dist/src/view/Layout.js.map +0 -1
  156. package/dist/src/view/Overlay.js +0 -9
  157. package/dist/src/view/Overlay.js.map +0 -1
  158. package/dist/src/view/PopoutWindow.js +0 -129
  159. package/dist/src/view/PopoutWindow.js.map +0 -1
  160. package/dist/src/view/PopupMenu.js +0 -89
  161. package/dist/src/view/PopupMenu.js.map +0 -1
  162. package/dist/src/view/Row.js +0 -46
  163. package/dist/src/view/Row.js.map +0 -1
  164. package/dist/src/view/SizeTracker.js +0 -12
  165. package/dist/src/view/SizeTracker.js.map +0 -1
  166. package/dist/src/view/Splitter.js +0 -192
  167. package/dist/src/view/Splitter.js.map +0 -1
  168. package/dist/src/view/Tab.js +0 -91
  169. package/dist/src/view/Tab.js.map +0 -1
  170. package/dist/src/view/TabButton.js +0 -124
  171. package/dist/src/view/TabButton.js.map +0 -1
  172. package/dist/src/view/TabButtonStamp.js +0 -15
  173. package/dist/src/view/TabButtonStamp.js.map +0 -1
  174. package/dist/src/view/TabOverflowHook.js +0 -266
  175. package/dist/src/view/TabOverflowHook.js.map +0 -1
  176. package/dist/src/view/TabSet.js +0 -256
  177. package/dist/src/view/TabSet.js.map +0 -1
  178. package/dist/src/view/Utils.js +0 -110
  179. package/dist/src/view/Utils.js.map +0 -1
  180. package/lib/Attribute.js +0 -43
  181. package/lib/Attribute.js.map +0 -1
  182. package/lib/AttributeDefinitions.js +0 -132
  183. package/lib/AttributeDefinitions.js.map +0 -1
  184. package/lib/DockLocation.js +0 -121
  185. package/lib/DockLocation.js.map +0 -1
  186. package/lib/DropInfo.js +0 -10
  187. package/lib/DropInfo.js.map +0 -1
  188. package/lib/I18nLabel.js +0 -14
  189. package/lib/I18nLabel.js.map +0 -1
  190. package/lib/Orientation.js +0 -23
  191. package/lib/Orientation.js.map +0 -1
  192. package/lib/Rect.js +0 -111
  193. package/lib/Rect.js.map +0 -1
  194. package/lib/Types.js +0 -95
  195. package/lib/Types.js.map +0 -1
  196. package/lib/index.js.map +0 -1
  197. package/lib/model/Action.js +0 -7
  198. package/lib/model/Action.js.map +0 -1
  199. package/lib/model/Actions.js +0 -170
  200. package/lib/model/Actions.js.map +0 -1
  201. package/lib/model/BorderNode.js +0 -390
  202. package/lib/model/BorderNode.js.map +0 -1
  203. package/lib/model/BorderSet.js +0 -67
  204. package/lib/model/BorderSet.js.map +0 -1
  205. package/lib/model/ICloseType.js +0 -7
  206. package/lib/model/ICloseType.js.map +0 -1
  207. package/lib/model/IDraggable.js +0 -2
  208. package/lib/model/IDraggable.js.map +0 -1
  209. package/lib/model/IDropTarget.js +0 -2
  210. package/lib/model/IDropTarget.js.map +0 -1
  211. package/lib/model/IJsonModel.js +0 -2
  212. package/lib/model/IJsonModel.js.map +0 -1
  213. package/lib/model/LayoutWindow.js +0 -81
  214. package/lib/model/LayoutWindow.js.map +0 -1
  215. package/lib/model/Model.js +0 -608
  216. package/lib/model/Model.js.map +0 -1
  217. package/lib/model/Node.js +0 -218
  218. package/lib/model/Node.js.map +0 -1
  219. package/lib/model/RowNode.js +0 -492
  220. package/lib/model/RowNode.js.map +0 -1
  221. package/lib/model/TabNode.js +0 -293
  222. package/lib/model/TabNode.js.map +0 -1
  223. package/lib/model/TabSetNode.js +0 -469
  224. package/lib/model/TabSetNode.js.map +0 -1
  225. package/lib/model/Utils.js +0 -48
  226. package/lib/model/Utils.js.map +0 -1
  227. package/lib/view/BorderButton.js +0 -126
  228. package/lib/view/BorderButton.js.map +0 -1
  229. package/lib/view/BorderTab.js +0 -56
  230. package/lib/view/BorderTab.js.map +0 -1
  231. package/lib/view/BorderTabSet.js +0 -138
  232. package/lib/view/BorderTabSet.js.map +0 -1
  233. package/lib/view/DragContainer.js +0 -16
  234. package/lib/view/DragContainer.js.map +0 -1
  235. package/lib/view/ErrorBoundary.js +0 -24
  236. package/lib/view/ErrorBoundary.js.map +0 -1
  237. package/lib/view/Icons.js +0 -29
  238. package/lib/view/Icons.js.map +0 -1
  239. package/lib/view/Layout.js +0 -881
  240. package/lib/view/Layout.js.map +0 -1
  241. package/lib/view/Overlay.js +0 -9
  242. package/lib/view/Overlay.js.map +0 -1
  243. package/lib/view/PopoutWindow.js +0 -129
  244. package/lib/view/PopoutWindow.js.map +0 -1
  245. package/lib/view/PopupMenu.js +0 -89
  246. package/lib/view/PopupMenu.js.map +0 -1
  247. package/lib/view/Row.js +0 -46
  248. package/lib/view/Row.js.map +0 -1
  249. package/lib/view/SizeTracker.js +0 -12
  250. package/lib/view/SizeTracker.js.map +0 -1
  251. package/lib/view/Splitter.js +0 -197
  252. package/lib/view/Splitter.js.map +0 -1
  253. package/lib/view/Tab.js +0 -91
  254. package/lib/view/Tab.js.map +0 -1
  255. package/lib/view/TabButton.js +0 -124
  256. package/lib/view/TabButton.js.map +0 -1
  257. package/lib/view/TabButtonStamp.js +0 -15
  258. package/lib/view/TabButtonStamp.js.map +0 -1
  259. package/lib/view/TabOverflowHook.js +0 -266
  260. package/lib/view/TabOverflowHook.js.map +0 -1
  261. package/lib/view/TabSet.js +0 -269
  262. package/lib/view/TabSet.js.map +0 -1
  263. package/lib/view/Utils.js +0 -110
  264. package/lib/view/Utils.js.map +0 -1
  265. package/playwright-report/data/01f8ff379b7b7c06b0f8dbd65cbd55e95f8ca470.zip +0 -0
  266. package/playwright-report/data/02a706b995d751dee8ac0429e29eafb796a23f96.zip +0 -0
  267. package/playwright-report/data/04468c5a7304bad1acbe32d3376bfc5038e172d9.zip +0 -0
  268. package/playwright-report/data/04ffe14721deea0c6402bb96c78055475f6cd687.zip +0 -0
  269. package/playwright-report/data/07e1bb8bd6407ceafa7a1051839d398f34b41a52.zip +0 -0
  270. package/playwright-report/data/0d17b99e2ddd975da4868f295b370a9fc9b55993.zip +0 -0
  271. package/playwright-report/data/108805618d29c7800d55d7dd8da36829fec366bd.zip +0 -0
  272. package/playwright-report/data/1271fd2bc76809c25b62351f4321b396e745a199.zip +0 -0
  273. package/playwright-report/data/16bd316f5e3e9ad6c9dc2a6a0388f3425c1a61d9.zip +0 -0
  274. package/playwright-report/data/1a1b06cebe59d981e21198164093230b0a1704fd.zip +0 -0
  275. package/playwright-report/data/1b3b6bba4aca415bc586b2a0abb18410af26fbf1.zip +0 -0
  276. package/playwright-report/data/1ce927369a55edf14ec99e0029d1a342cb0fcfa4.zip +0 -0
  277. package/playwright-report/data/20a694648a90f0a805a4397b73699142e5dd50c1.zip +0 -0
  278. package/playwright-report/data/211f1c8fc3f5d052d935906201f29a1e42a2fbd8.zip +0 -0
  279. package/playwright-report/data/2176124681e769fbba593a272e67331fd69e56ef.zip +0 -0
  280. package/playwright-report/data/2487db6273b09acd9a62a9ecfa8f1e411cc769df.zip +0 -0
  281. package/playwright-report/data/25abefed6606e15cac6dc83e3ea4e85896233020.zip +0 -0
  282. package/playwright-report/data/2752051b8593d432be1a623813f2dbee043dc959.zip +0 -0
  283. package/playwright-report/data/2d72001a7f57a11282fe741ca22501b34f7576a2.zip +0 -0
  284. package/playwright-report/data/308de4d252afe1db5aeda783ea3eaf09368aa812.zip +0 -0
  285. package/playwright-report/data/30f265807a34ee9bb2ddd931970be6f572a42ffe.zip +0 -0
  286. package/playwright-report/data/326599ace543d3340403f5eaa0f28ef73f7d3cfc.zip +0 -0
  287. package/playwright-report/data/3662fcf1839c6bb164e1aceea5e25b410bae6286.zip +0 -0
  288. package/playwright-report/data/38cdebbb090386af04f96f13bf45b2a23feb6cf5.zip +0 -0
  289. package/playwright-report/data/3b45c7876ca7a4208061f69fa0cce9f9e619557c.zip +0 -0
  290. package/playwright-report/data/3c6115f8ff03527f3b888e8c6626d086146bb961.zip +0 -0
  291. package/playwright-report/data/3e976a69f9bc188048c96969507a28fc5411da40.zip +0 -0
  292. package/playwright-report/data/420bd6c0ed97c53e6ee5108c11c337690ed9dd71.zip +0 -0
  293. package/playwright-report/data/424c925f1d020f7918c5b1d4e93a3aff4ffd0d35.zip +0 -0
  294. package/playwright-report/data/4459657c233583f0bb5f541ba2a56d14fc04324f.zip +0 -0
  295. package/playwright-report/data/45dbca16424f69b6af3f201fd918186e66e6a921.zip +0 -0
  296. package/playwright-report/data/4c7242437d15e34066b69d5f3a71e21f436d81bb.zip +0 -0
  297. package/playwright-report/data/56f84e2288e6485b68f0f78f79af97016d066eea.zip +0 -0
  298. package/playwright-report/data/679d4cfcb398dd2d19703be59bbf1de72f73fa3e.zip +0 -0
  299. package/playwright-report/data/686279f3ccdca1213fe91a9901f1ca469a41db4b.zip +0 -0
  300. package/playwright-report/data/69403980b98daeb052c732f3d984b7ccc51022aa.zip +0 -0
  301. package/playwright-report/data/6d91e10cd5dc95944881ea0f875bf0e531c63164.zip +0 -0
  302. package/playwright-report/data/6f362695f59905c3acdcafb6eeacfa4b068bc030.zip +0 -0
  303. package/playwright-report/data/71dd5897288168b0f7fb2e187f2b543e880733b1.zip +0 -0
  304. package/playwright-report/data/7540a41a9c123cffc1750447ccb69d9fb8cc8ba5.zip +0 -0
  305. package/playwright-report/data/78f8483a26c47ca761f43b1f142a9fb9d001b27e.zip +0 -0
  306. package/playwright-report/data/7e8bd5ba547094dcf303d450853b2f74f41749b2.zip +0 -0
  307. package/playwright-report/data/7fbec8e63ea2ee1702a94fe4d837067192e661f0.zip +0 -0
  308. package/playwright-report/data/87f2ea42a46cbd21813358d7d6e31d9999fca953.zip +0 -0
  309. package/playwright-report/data/8db527a1f9b753036cf63bb4afc96a765007fe82.zip +0 -0
  310. package/playwright-report/data/8e5ccd4bd56f3843f4e788c5e9842165221c2748.zip +0 -0
  311. package/playwright-report/data/8fc12e2795e02ee2ad773ec7be25f94b6ca697ed.zip +0 -0
  312. package/playwright-report/data/9d10ab1649ded4751d19014847e110b0b03ad126.zip +0 -0
  313. package/playwright-report/data/ab82c3994c6614fa6873fc92fd44ca78cb45f9d6.zip +0 -0
  314. package/playwright-report/data/ac554655d509fe64199a053e715def4ce4bbd618.zip +0 -0
  315. package/playwright-report/data/ad8e5a0cec5ec3369478099a58b7652c0dd636f1.zip +0 -0
  316. package/playwright-report/data/ae30baf5dea2dc0dd2ca87ffa08afb936b27fef1.zip +0 -0
  317. package/playwright-report/data/bc7631ffd4df693573a3233ec403a1f9cbcb00a9.zip +0 -0
  318. package/playwright-report/data/bcfe71e7532702969ecdde584a294907ed21525e.zip +0 -0
  319. package/playwright-report/data/bf020e09e20d0cd6e1b8aa82153e84f9d40c7f74.zip +0 -0
  320. package/playwright-report/data/c3452f499f82ef644c3d314626d3d9c762ff5c20.zip +0 -0
  321. package/playwright-report/data/c5dfbb00ea0965a4214f02cde22245958bb31c86.zip +0 -0
  322. package/playwright-report/data/c716ede7c5174d8a83653a6862605eca04783bad.zip +0 -0
  323. package/playwright-report/data/c95ca5869740edf6d1d627d120aa9ba26b1d3415.zip +0 -0
  324. package/playwright-report/data/cc17390169d327b4dfc2a9b3a8279e74ff975b1d.zip +0 -0
  325. package/playwright-report/data/d0ff6b9f342d792119f1513cc53c9f315a56251b.zip +0 -0
  326. package/playwright-report/data/d26377153bff611b5ba5a1148fc8858f7bb2cb7b.zip +0 -0
  327. package/playwright-report/data/dc0608de1b624a691f2f393bf450fc01591076ef.zip +0 -0
  328. package/playwright-report/data/dee4c585c248f4827601afbde02d3732761bdd8b.zip +0 -0
  329. package/playwright-report/data/e4cdfceef70735028de78f94f7e07a1e65fa317d.zip +0 -0
  330. package/playwright-report/data/e64d89424643af3f746a091f7567db49b0b45f3c.zip +0 -0
  331. package/playwright-report/data/e70483c7d13bb871f5c5b4aa54149172d58bf0c0.zip +0 -0
  332. package/playwright-report/data/e8333b653df262d800ee7b5329503b975d420e87.zip +0 -0
  333. package/playwright-report/data/ed1bd19a957a6165ba73a644af4959590b23eed9.zip +0 -0
  334. package/playwright-report/data/f35cf046cdf897abd96f318f79443407e58b8f0b.zip +0 -0
  335. package/playwright-report/data/f8793a7c69b939ac07422cf41aac45ebe4a86908.zip +0 -0
  336. package/playwright-report/data/fb2a383b96839380e90e0137363a574e665aed38.zip +0 -0
  337. package/playwright-report/data/fede8e774c66e329bdac055d6d67e73aa75b14fc.zip +0 -0
  338. package/playwright-report/index.html +0 -71
  339. package/playwright-report/trace/assets/codeMirrorModule-DpJ-EmBQ.js +0 -24
  340. package/playwright-report/trace/assets/defaultSettingsView-DTenqiGw.js +0 -259
  341. package/playwright-report/trace/codeMirrorModule.C3UTv-Ge.css +0 -1
  342. package/playwright-report/trace/codicon.DCmgc-ay.ttf +0 -0
  343. package/playwright-report/trace/defaultSettingsView.5fN5lw10.css +0 -1
  344. package/playwright-report/trace/index.CFOW-Ezb.css +0 -1
  345. package/playwright-report/trace/index.CUq7VgrV.js +0 -2
  346. package/playwright-report/trace/index.html +0 -43
  347. package/playwright-report/trace/playwright-logo.svg +0 -9
  348. package/playwright-report/trace/snapshot.html +0 -21
  349. package/playwright-report/trace/sw.bundle.js +0 -3
  350. package/playwright-report/trace/uiMode.BatfzHMG.css +0 -1
  351. package/playwright-report/trace/uiMode.CHJSAD7F.js +0 -5
  352. package/playwright-report/trace/uiMode.html +0 -17
  353. package/playwright-report/trace/xtermModule.Beg8tuEN.css +0 -32
  354. package/playwright.config.ts +0 -79
  355. package/screenshots/PlaywrightUI.png +0 -0
  356. package/src/Attribute.ts +0 -64
  357. package/src/AttributeDefinitions.ts +0 -144
  358. package/src/DockLocation.ts +0 -133
  359. package/src/DropInfo.ts +0 -20
  360. package/src/I18nLabel.ts +0 -12
  361. package/src/Orientation.ts +0 -28
  362. package/src/Rect.ts +0 -147
  363. package/src/Types.ts +0 -112
  364. package/src/index.ts +0 -23
  365. package/src/model/Action.ts +0 -9
  366. package/src/model/Actions.ts +0 -188
  367. package/src/model/BorderNode.ts +0 -458
  368. package/src/model/BorderSet.ts +0 -87
  369. package/src/model/ICloseType.ts +0 -5
  370. package/src/model/IDraggable.ts +0 -7
  371. package/src/model/IDropTarget.ts +0 -14
  372. package/src/model/IJsonModel.ts +0 -967
  373. package/src/model/LayoutWindow.ts +0 -119
  374. package/src/model/Model.ts +0 -704
  375. package/src/model/Node.ts +0 -280
  376. package/src/model/RowNode.ts +0 -559
  377. package/src/model/TabNode.ts +0 -424
  378. package/src/model/TabSetNode.ts +0 -592
  379. package/src/model/Utils.ts +0 -52
  380. package/src/view/BorderButton.tsx +0 -201
  381. package/src/view/BorderTab.tsx +0 -81
  382. package/src/view/BorderTabSet.tsx +0 -259
  383. package/src/view/DragContainer.tsx +0 -32
  384. package/src/view/ErrorBoundary.tsx +0 -42
  385. package/src/view/Icons.tsx +0 -57
  386. package/src/view/Layout.tsx +0 -1334
  387. package/src/view/Overlay.tsx +0 -21
  388. package/src/view/PopoutWindow.tsx +0 -152
  389. package/src/view/PopupMenu.tsx +0 -156
  390. package/src/view/Row.tsx +0 -68
  391. package/src/view/SizeTracker.tsx +0 -20
  392. package/src/view/Splitter.tsx +0 -262
  393. package/src/view/Tab.tsx +0 -128
  394. package/src/view/TabButton.tsx +0 -200
  395. package/src/view/TabButtonStamp.tsx +0 -42
  396. package/src/view/TabOverflowHook.tsx +0 -305
  397. package/src/view/TabSet.tsx +0 -475
  398. package/src/view/Utils.tsx +0 -135
  399. package/test-results/view-Add-methods-add-to-active-tabset-chromium/trace.zip +0 -0
  400. package/test-results/view-Add-methods-drag-to-border-chromium/trace.zip +0 -0
  401. package/test-results/view-Add-methods-drag-to-tabset-chromium/trace.zip +0 -0
  402. package/test-results/view-Delete-methods-delete-all-tabs-chromium/trace.zip +0 -0
  403. package/test-results/view-Delete-methods-delete-tab-chromium/trace.zip +0 -0
  404. package/test-results/view-Extended-App-onRenderTab-chromium/trace.zip +0 -0
  405. package/test-results/view-Extended-App-onRenderTab-in-border-chromium/trace.zip +0 -0
  406. package/test-results/view-Extended-App-onRenderTabSet-chromium/trace.zip +0 -0
  407. package/test-results/view-Extended-App-onRenderTabSet-for-border-chromium/trace.zip +0 -0
  408. package/test-results/view-Extended-App-onRenderTabSet-sticky-buttons-chromium/trace.zip +0 -0
  409. package/test-results/view-Extended-layout2-borders-autohide-left-chromium/trace.zip +0 -0
  410. package/test-results/view-Extended-layout2-borders-autohide-top-chromium/trace.zip +0 -0
  411. package/test-results/view-Extended-layout2-check-border-bottom-min-size-chromium/trace.zip +0 -0
  412. package/test-results/view-Extended-layout2-check-border-left-min-size-chromium/trace.zip +0 -0
  413. package/test-results/view-Extended-layout2-check-border-right-min-size-chromium/trace.zip +0 -0
  414. package/test-results/view-Extended-layout2-check-border-top-min-size-chromium/trace.zip +0 -0
  415. package/test-results/view-Extended-layout2-check-tabset-min-size-chromium/trace.zip +0 -0
  416. package/test-results/view-Extended-layout2-tabset-close-chromium/trace.zip +0 -0
  417. package/test-results/view-Maximize-methods-maximize-tabset-using-double-click-chromium/trace.zip +0 -0
  418. package/test-results/view-Maximize-methods-maximize-tabset-using-max-button-chromium/trace.zip +0 -0
  419. package/test-results/view-Others-click-on-tab-button-causes-tabset-activate-chromium/trace.zip +0 -0
  420. package/test-results/view-Others-click-on-tab-contents-causes-tabset-activate-chromium/trace.zip +0 -0
  421. package/test-results/view-Others-click-on-tabstrip-causes-tabset-activate-chromium/trace.zip +0 -0
  422. package/test-results/view-Others-rename-tab-cancelled-with-esc-chromium/trace.zip +0 -0
  423. package/test-results/view-Others-rename-tab-chromium/trace.zip +0 -0
  424. package/test-results/view-Overflow-menu-show-menu-chromium/trace.zip +0 -0
  425. package/test-results/view-Splitters-horizontal--5a358-ter-to-bottom-edge-and-back-chromium/trace.zip +0 -0
  426. package/test-results/view-Splitters-horizontal--f02d2-litter-to-top-edge-and-back-chromium/trace.zip +0 -0
  427. package/test-results/view-Splitters-horizontal-resizes-with-hsplitter-chromium/trace.zip +0 -0
  428. package/test-results/view-Splitters-vsplitter-chromium/trace.zip +0 -0
  429. package/test-results/view-Splitters-vsplitter-to-edge-chromium/trace.zip +0 -0
  430. package/test-results/view-Splitters-vsplitter-to-edge-left-chromium/trace.zip +0 -0
  431. package/test-results/view-borders-border-bottom-to-tab-chromium/trace.zip +0 -0
  432. package/test-results/view-borders-border-left-to-tab-chromium/trace.zip +0 -0
  433. package/test-results/view-borders-border-right-to-tab-chromium/trace.zip +0 -0
  434. package/test-results/view-borders-border-top-to-tab-chromium/trace.zip +0 -0
  435. package/test-results/view-borders-move-tab-in-border-bottom-chromium/trace.zip +0 -0
  436. package/test-results/view-borders-move-tab-in-border-left-chromium/trace.zip +0 -0
  437. package/test-results/view-borders-move-tab-in-border-right-chromium/trace.zip +0 -0
  438. package/test-results/view-borders-move-tab-in-border-top-chromium/trace.zip +0 -0
  439. package/test-results/view-borders-tab-to-border-bottom-chromium/trace.zip +0 -0
  440. package/test-results/view-borders-tab-to-border-left-chromium/trace.zip +0 -0
  441. package/test-results/view-borders-tab-to-border-right-chromium/trace.zip +0 -0
  442. package/test-results/view-borders-tab-to-border-top-chromium/trace.zip +0 -0
  443. package/test-results/view-borders-tab-to-open-border-bottom-center-chromium/trace.zip +0 -0
  444. package/test-results/view-borders-tab-to-open-border-bottom-chromium/trace.zip +0 -0
  445. package/test-results/view-borders-tab-to-open-border-left-center-chromium/trace.zip +0 -0
  446. package/test-results/view-borders-tab-to-open-border-left-chromium/trace.zip +0 -0
  447. package/test-results/view-borders-tab-to-open-border-right-center-chromium/trace.zip +0 -0
  448. package/test-results/view-borders-tab-to-open-border-right-chromium/trace.zip +0 -0
  449. package/test-results/view-borders-tab-to-open-border-top-center-chromium/trace.zip +0 -0
  450. package/test-results/view-borders-tab-to-open-border-top-chromium/trace.zip +0 -0
  451. package/test-results/view-drag-tests-two-tabs-tab-to-edge-chromium/trace.zip +0 -0
  452. package/test-results/view-drag-tests-two-tabs-tab-to-tab-bottom-chromium/trace.zip +0 -0
  453. package/test-results/view-drag-tests-two-tabs-tab-to-tab-center-chromium/trace.zip +0 -0
  454. package/test-results/view-drag-tests-two-tabs-tab-to-tab-left-chromium/trace.zip +0 -0
  455. package/test-results/view-drag-tests-two-tabs-tab-to-tab-right-chromium/trace.zip +0 -0
  456. package/test-results/view-drag-tests-two-tabs-tab-to-tab-top-chromium/trace.zip +0 -0
  457. package/test-results/view-tab-can-have-icon-chromium/trace.zip +0 -0
  458. package/test-results/view-three-tabs-move-tab-in-tabstrip-chromium/trace.zip +0 -0
  459. package/test-results/view-three-tabs-move-tabstrip-chromium/trace.zip +0 -0
  460. package/test-results/view-three-tabs-row-to-column-chromium/trace.zip +0 -0
  461. package/test-results/view-three-tabs-row-to-single-tabset-chromium/trace.zip +0 -0
  462. package/test-results/view-three-tabs-tab-to-edge-bottom-chromium/trace.zip +0 -0
  463. package/test-results/view-three-tabs-tab-to-edge-left-chromium/trace.zip +0 -0
  464. package/test-results/view-three-tabs-tab-to-edge-right-chromium/trace.zip +0 -0
  465. package/test-results/view-three-tabs-tab-to-edge-top-chromium/trace.zip +0 -0
  466. package/test-results/view-three-tabs-tab-to-tab-bottom-chromium/trace.zip +0 -0
  467. package/test-results/view-three-tabs-tab-to-tab-center-chromium/trace.zip +0 -0
  468. package/test-results/view-three-tabs-tab-to-tab-left-chromium/trace.zip +0 -0
  469. package/test-results/view-three-tabs-tab-to-tab-right-chromium/trace.zip +0 -0
  470. package/test-results/view-three-tabs-tab-to-tab-top-chromium/trace.zip +0 -0
  471. package/test-results/view-three-tabs-tab-to-tabset-chromium/trace.zip +0 -0
  472. package/tests-playwright/helpers.ts +0 -124
  473. package/tests-playwright/view.spec.ts +0 -911
@@ -1,592 +0,0 @@
1
- import { Attribute } from "../Attribute";
2
- import { AttributeDefinitions } from "../AttributeDefinitions";
3
- import { DockLocation } from "../DockLocation";
4
- import { DropInfo } from "../DropInfo";
5
- import { Orientation } from "../Orientation";
6
- import { Rect } from "../Rect";
7
- import { CLASSES } from "../Types";
8
- import { canDockToWindow } from "../view/Utils";
9
- import { BorderNode } from "./BorderNode";
10
- import { IDraggable } from "./IDraggable";
11
- import { IDropTarget } from "./IDropTarget";
12
- import { IJsonTabSetNode } from "./IJsonModel";
13
- import { LayoutWindow } from "./LayoutWindow";
14
- import { Model } from "./Model";
15
- import { Node } from "./Node";
16
- import { RowNode } from "./RowNode";
17
- import { TabNode } from "./TabNode";
18
- import { adjustSelectedIndex } from "./Utils";
19
-
20
- export class TabSetNode extends Node implements IDraggable, IDropTarget {
21
- static readonly TYPE = "tabset";
22
-
23
- /** @internal */
24
- static fromJson(json: any, model: Model, layoutWindow: LayoutWindow) {
25
- const newLayoutNode = new TabSetNode(model, json);
26
-
27
- if (json.children != null) {
28
- for (const jsonChild of json.children) {
29
- const child = TabNode.fromJson(jsonChild, model);
30
- newLayoutNode.addChild(child);
31
- }
32
- }
33
- if (newLayoutNode.children.length === 0) {
34
- newLayoutNode.setSelected(-1);
35
- }
36
-
37
- if (json.maximized && json.maximized === true) {
38
- layoutWindow.maximizedTabSet = newLayoutNode;
39
- }
40
-
41
- if (json.active && json.active === true) {
42
- layoutWindow.activeTabSet = newLayoutNode;
43
- }
44
-
45
- return newLayoutNode;
46
- }
47
- /** @internal */
48
- private static attributeDefinitions: AttributeDefinitions = TabSetNode.createAttributeDefinitions();
49
-
50
- /** @internal */
51
- private tabStripRect: Rect = Rect.empty();
52
- /** @internal */
53
- private contentRect: Rect = Rect.empty();
54
- /** @internal */
55
- private calculatedMinHeight: number;
56
- /** @internal */
57
- private calculatedMinWidth: number;
58
- /** @internal */
59
- private calculatedMaxHeight: number;
60
- /** @internal */
61
- private calculatedMaxWidth: number;
62
-
63
- /** @internal */
64
- constructor(model: Model, json: any) {
65
- super(model);
66
- this.calculatedMinHeight = 0;
67
- this.calculatedMinWidth = 0;
68
- this.calculatedMaxHeight = 0;
69
- this.calculatedMaxWidth = 0;
70
-
71
- TabSetNode.attributeDefinitions.fromJson(json, this.attributes);
72
- model.addNode(this);
73
- }
74
-
75
- getName() {
76
- return this.getAttr("name") as string | undefined;
77
- }
78
-
79
- isEnableActiveIcon() {
80
- return this.getAttr("enableActiveIcon") as boolean;
81
- }
82
-
83
- getSelected() {
84
- const selected = this.attributes.selected;
85
- if (selected !== undefined) {
86
- return selected as number;
87
- }
88
- return -1;
89
- }
90
-
91
- getSelectedNode() {
92
- const selected = this.getSelected();
93
- if (selected !== -1) {
94
- return this.children[selected];
95
- }
96
- return undefined;
97
- }
98
-
99
- getWeight(): number {
100
- return this.getAttr("weight") as number;
101
- }
102
-
103
- getAttrMinWidth() {
104
- return (this.getAttr("minWidth") as number);
105
- }
106
-
107
- getAttrMinHeight() {
108
- return this.getAttr("minHeight") as number;
109
- }
110
-
111
- getMinWidth() {
112
- return this.calculatedMinWidth;
113
- }
114
-
115
- getMinHeight() {
116
- return this.calculatedMinHeight;
117
- }
118
-
119
- /** @internal */
120
- getMinSize(orientation: Orientation) {
121
- if (orientation === Orientation.HORZ) {
122
- return this.getMinWidth();
123
- } else {
124
- return this.getMinHeight();
125
- }
126
- }
127
- getAttrMaxWidth() {
128
- return (this.getAttr("maxWidth") as number);
129
- }
130
-
131
- getAttrMaxHeight() {
132
- return this.getAttr("maxHeight") as number;
133
- }
134
-
135
- getMaxWidth() {
136
- return this.calculatedMaxWidth;
137
- }
138
-
139
- getMaxHeight() {
140
- return this.calculatedMaxHeight;
141
- }
142
-
143
- /** @internal */
144
- getMaxSize(orientation: Orientation) {
145
- if (orientation === Orientation.HORZ) {
146
- return this.getMaxWidth();
147
- } else {
148
- return this.getMaxHeight();
149
- }
150
- }
151
-
152
-
153
- /**
154
- * Returns the config attribute that can be used to store node specific data that
155
- * WILL be saved to the json. The config attribute should be changed via the action Actions.updateNodeAttributes rather
156
- * than directly, for example:
157
- * this.state.model.doAction(
158
- * FlexLayout.Actions.updateNodeAttributes(node.getId(), {config:myConfigObject}));
159
- */
160
- getConfig() {
161
- return this.attributes.config;
162
- }
163
-
164
- isMaximized() {
165
- return this.model.getMaximizedTabset(this.getWindowId()) === this;
166
- }
167
-
168
- isActive() {
169
- return this.model.getActiveTabset(this.getWindowId()) === this;
170
- }
171
-
172
- isEnableDeleteWhenEmpty() {
173
- return this.getAttr("enableDeleteWhenEmpty") as boolean;
174
- }
175
-
176
- isEnableDrop() {
177
- return this.getAttr("enableDrop") as boolean;
178
- }
179
-
180
- isEnableTabWrap() {
181
- return this.getAttr("enableTabWrap") as boolean;
182
- }
183
-
184
- isEnableDrag() {
185
- return this.getAttr("enableDrag") as boolean;
186
- }
187
-
188
- isEnableDivide() {
189
- return this.getAttr("enableDivide") as boolean;
190
- }
191
-
192
- isEnableMaximize() {
193
- return this.getAttr("enableMaximize") as boolean;
194
- }
195
-
196
- isEnableClose() {
197
- return this.getAttr("enableClose") as boolean;
198
- }
199
-
200
- isEnableSingleTabStretch() {
201
- return this.getAttr("enableSingleTabStretch") as boolean;
202
- }
203
-
204
- isEnableTabStrip() {
205
- return this.getAttr("enableTabStrip") as boolean;
206
- }
207
-
208
- isAutoSelectTab() {
209
- return this.getAttr("autoSelectTab") as boolean;
210
- }
211
-
212
- isEnableTabScrollbar() {
213
- return this.getAttr("enableTabScrollbar") as boolean;
214
- }
215
-
216
- getClassNameTabStrip() {
217
- return this.getAttr("classNameTabStrip") as string | undefined;
218
- }
219
-
220
- getTabLocation() {
221
- return this.getAttr("tabLocation") as string;
222
- }
223
-
224
-
225
-
226
- toJson(): IJsonTabSetNode {
227
- const json: any = {};
228
- TabSetNode.attributeDefinitions.toJson(json, this.attributes);
229
- json.children = this.children.map((child) => child.toJson());
230
-
231
- if (this.isActive()) {
232
- json.active = true;
233
- }
234
-
235
- if (this.isMaximized()) {
236
- json.maximized = true;
237
- }
238
-
239
- return json;
240
- }
241
-
242
- /** @internal */
243
- calcMinMaxSize() {
244
- this.calculatedMinHeight = this.getAttrMinHeight();
245
- this.calculatedMinWidth = this.getAttrMinWidth();
246
- this.calculatedMaxHeight = this.getAttrMaxHeight();
247
- this.calculatedMaxWidth = this.getAttrMaxWidth();
248
- for (const child of this.children) {
249
- const c = child as TabNode;
250
- this.calculatedMinWidth = Math.max(this.calculatedMinWidth, c.getMinWidth());
251
- this.calculatedMinHeight = Math.max(this.calculatedMinHeight, c.getMinHeight());
252
- this.calculatedMaxWidth = Math.min(this.calculatedMaxWidth, c.getMaxWidth());
253
- this.calculatedMaxHeight = Math.min(this.calculatedMaxHeight, c.getMaxHeight());
254
- }
255
-
256
- this.calculatedMinHeight += this.tabStripRect.height;
257
- this.calculatedMaxHeight += this.tabStripRect.height;
258
- }
259
-
260
- /** @internal */
261
- canMaximize() {
262
- if (this.isEnableMaximize()) {
263
- // always allow maximize toggle if already maximized
264
- if (this.getModel().getMaximizedTabset(this.getWindowId()) === this) {
265
- return true;
266
- }
267
- // only one tabset, so disable
268
- if (this.getParent() === this.getModel().getRoot(this.getWindowId()) && this.getModel().getRoot(this.getWindowId()).getChildren().length === 1) {
269
- return false;
270
- }
271
- return true;
272
- }
273
- return false;
274
- }
275
-
276
- /** @internal */
277
- setContentRect(rect: Rect) {
278
- this.contentRect = rect;
279
- }
280
-
281
- /** @internal */
282
- getContentRect() {
283
- return this.contentRect;
284
- }
285
-
286
- /** @internal */
287
- setTabStripRect(rect: Rect) {
288
- this.tabStripRect = rect;
289
- }
290
- /** @internal */
291
- setWeight(weight: number) {
292
- this.attributes.weight = weight;
293
- }
294
-
295
- /** @internal */
296
- setSelected(index: number) {
297
- this.attributes.selected = index;
298
- }
299
-
300
- getWindowId() {
301
- return (this.parent as RowNode).getWindowId();
302
- }
303
-
304
- /** @internal */
305
- canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined {
306
- let dropInfo;
307
-
308
- if (dragNode === this) {
309
- const dockLocation = DockLocation.CENTER;
310
- const outlineRect = this.tabStripRect;
311
- dropInfo = new DropInfo(this, outlineRect!, dockLocation, -1, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
312
- } else if (this.getWindowId() !== Model.MAIN_WINDOW_ID && !canDockToWindow(dragNode)) {
313
- return undefined;
314
- } else if (this.contentRect!.contains(x, y)) {
315
- let dockLocation = DockLocation.CENTER;
316
- if (this.model.getMaximizedTabset((this.parent as RowNode).getWindowId()) === undefined) {
317
- dockLocation = DockLocation.getLocation(this.contentRect!, x, y);
318
- }
319
- const outlineRect = dockLocation.getDockRect(this.rect);
320
- dropInfo = new DropInfo(this, outlineRect, dockLocation, -1, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
321
- } else if (this.tabStripRect != null && this.tabStripRect.contains(x, y)) {
322
- let r: Rect;
323
- let yy: number;
324
- let h: number;
325
- if (this.children.length === 0) {
326
- r = this.tabStripRect.clone();
327
- yy = r.y + 3;
328
- h = r.height - 4;
329
- r.width = 2;
330
- } else {
331
- let child = this.children[0] as TabNode;
332
- r = child.getTabRect()!;
333
- yy = r.y;
334
- h = r.height;
335
- let p = this.tabStripRect.x;
336
- let childCenter = 0;
337
- for (let i = 0; i < this.children.length; i++) {
338
- child = this.children[i] as TabNode;
339
- r = child.getTabRect()!;
340
- if (r.y !== yy) {
341
- yy = r.y
342
- p = this.tabStripRect.x;
343
- }
344
- childCenter = r.x + r.width / 2;
345
- if (p <= x && x < childCenter && r.y < y && y < r.getBottom()) {
346
- const dockLocation = DockLocation.CENTER;
347
- const outlineRect = new Rect(r.x - 2, r.y, 3, r.height);
348
- if (this.rect.x < r.x && r.x < this.rect.getRight()) {
349
- dropInfo = new DropInfo(this, outlineRect, dockLocation, i, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
350
- break;
351
- } else {
352
- return undefined;
353
- }
354
- }
355
- p = childCenter;
356
- }
357
- }
358
- if (dropInfo == null && r.getRight() < this.rect!.getRight()) {
359
- const dockLocation = DockLocation.CENTER;
360
- const outlineRect = new Rect(r.getRight() - 2, yy, 3, h);
361
- dropInfo = new DropInfo(this, outlineRect, dockLocation, this.children.length, CLASSES.FLEXLAYOUT__OUTLINE_RECT);
362
- }
363
- }
364
-
365
- if (!dragNode.canDockInto(dragNode, dropInfo)) {
366
- return undefined;
367
- }
368
-
369
- return dropInfo;
370
- }
371
-
372
- /** @internal */
373
- delete() {
374
- (this.parent as RowNode).removeChild(this);
375
- }
376
-
377
- /** @internal */
378
- remove(node: TabNode) {
379
- const removedIndex = this.removeChild(node);
380
- this.model.tidy();
381
-
382
- adjustSelectedIndex(this, removedIndex);
383
- }
384
-
385
- /** @internal */
386
- drop(dragNode: Node, location: DockLocation, index: number, select?: boolean) {
387
- const dockLocation = location;
388
-
389
- if (this === dragNode) {
390
- // tabset drop into itself
391
- return; // dock back to itself
392
- }
393
-
394
- let dragParent = dragNode.getParent() as BorderNode | TabSetNode | RowNode;
395
- let fromIndex = 0;
396
- if (dragParent !== undefined) {
397
- fromIndex = dragParent.removeChild(dragNode);
398
- // if selected node in border is being docked into tabset then deselect border tabs
399
- if (dragParent instanceof BorderNode && dragParent.getSelected() === fromIndex) {
400
- dragParent.setSelected(-1);
401
- } else {
402
- adjustSelectedIndex(dragParent, fromIndex);
403
- }
404
- }
405
-
406
- // if dropping a tab back to same tabset and moving to forward position then reduce insertion index
407
- if (dragNode instanceof TabNode && dragParent === this && fromIndex < index && index > 0) {
408
- index--;
409
- }
410
-
411
- // simple_bundled dock to existing tabset
412
- if (dockLocation === DockLocation.CENTER) {
413
- let insertPos = index;
414
- if (insertPos === -1) {
415
- insertPos = this.children.length;
416
- }
417
-
418
- if (dragNode instanceof TabNode) {
419
- this.addChild(dragNode, insertPos);
420
- if (select || (select !== false && this.isAutoSelectTab())) {
421
- this.setSelected(insertPos);
422
- }
423
- // console.log("added child at : " + insertPos);
424
- } else if (dragNode instanceof RowNode) {
425
- (dragNode as RowNode).forEachNode((child, level) => {
426
- if (child instanceof TabNode) {
427
- this.addChild(child, insertPos);
428
- // console.log("added child at : " + insertPos);
429
- insertPos++;
430
- }
431
- }, 0);
432
- } else {
433
- for (let i = 0; i < dragNode.getChildren().length; i++) {
434
- const child = dragNode.getChildren()[i];
435
- this.addChild(child, insertPos);
436
- // console.log("added child at : " + insertPos);
437
- insertPos++;
438
- }
439
- if (this.getSelected() === -1 && this.children.length > 0) {
440
- this.setSelected(0);
441
- }
442
- }
443
- this.model.setActiveTabset(this, (this.parent as RowNode).getWindowId());
444
- } else {
445
- let moveNode = dragNode as TabSetNode | RowNode | TabNode;
446
- if (dragNode instanceof TabNode) {
447
- // create new tabset parent
448
- // console.log("create a new tabset");
449
- const callback = this.model.getOnCreateTabSet();
450
- moveNode = new TabSetNode(this.model, callback ? callback(dragNode as TabNode) : {});
451
- moveNode.addChild(dragNode);
452
- // console.log("added child at end");
453
- dragParent = moveNode;
454
- } else if (dragNode instanceof RowNode) {
455
- const parent = (this.getParent()! as RowNode);
456
- // need to turn round if same orientation unless docking oposite direction
457
- if (dragNode.getOrientation() === parent.getOrientation() &&
458
- (location.getOrientation() === parent.getOrientation() || location === DockLocation.CENTER)) {
459
- const node = new RowNode(this.model, this.getWindowId(), {});
460
- node.addChild(dragNode);
461
- moveNode = node;
462
- }
463
- } else {
464
- moveNode = dragNode as TabSetNode;
465
- }
466
-
467
- const parentRow = this.parent as Node;
468
- const pos = parentRow.getChildren().indexOf(this);
469
-
470
- if (parentRow.getOrientation() === dockLocation.orientation) {
471
- moveNode.setWeight(this.getWeight() / 2);
472
- this.setWeight(this.getWeight() / 2);
473
- // console.log("added child 50% size at: " + pos + dockLocation.indexPlus);
474
- parentRow.addChild(moveNode, pos + dockLocation.indexPlus);
475
- } else {
476
- // create a new row to host the new tabset (it will go in the opposite direction)
477
- // console.log("create a new row");
478
- const newRow = new RowNode(this.model, this.getWindowId(), {});
479
- newRow.setWeight(this.getWeight());
480
- newRow.addChild(this);
481
- this.setWeight(50);
482
- moveNode.setWeight(50);
483
- // console.log("added child 50% size at: " + dockLocation.indexPlus);
484
- newRow.addChild(moveNode, dockLocation.indexPlus);
485
-
486
- parentRow.removeChild(this);
487
- parentRow.addChild(newRow, pos);
488
- }
489
- if (moveNode instanceof TabSetNode) {
490
- this.model.setActiveTabset(moveNode, this.getWindowId());
491
- }
492
- }
493
- this.model.tidy();
494
- }
495
-
496
- /** @internal */
497
- updateAttrs(json: any) {
498
- TabSetNode.attributeDefinitions.update(json, this.attributes);
499
- }
500
-
501
- /** @internal */
502
- getAttributeDefinitions() {
503
- return TabSetNode.attributeDefinitions;
504
- }
505
-
506
- /** @internal */
507
- static getAttributeDefinitions() {
508
- return TabSetNode.attributeDefinitions;
509
- }
510
-
511
- /** @internal */
512
- private static createAttributeDefinitions(): AttributeDefinitions {
513
- const attributeDefinitions = new AttributeDefinitions();
514
- attributeDefinitions.add("type", TabSetNode.TYPE, true).setType(Attribute.STRING).setFixed();
515
- attributeDefinitions.add("id", undefined).setType(Attribute.STRING).setDescription(
516
- `the unique id of the tab set, if left undefined a uuid will be assigned`
517
- );
518
- attributeDefinitions.add("weight", 100).setType(Attribute.NUMBER).setDescription(
519
- `relative weight for sizing of this tabset in parent row`
520
- );
521
- attributeDefinitions.add("selected", 0).setType(Attribute.NUMBER).setDescription(
522
- `index of selected/visible tab in tabset`
523
- );
524
- attributeDefinitions.add("name", undefined).setType(Attribute.STRING);
525
- attributeDefinitions.add("config", undefined).setType("any").setDescription(
526
- `a place to hold json config used in your own code`
527
- );
528
-
529
- attributeDefinitions.addInherited("enableDeleteWhenEmpty", "tabSetEnableDeleteWhenEmpty").setDescription(
530
- `whether to delete this tabset when is has no tabs`
531
- );
532
- attributeDefinitions.addInherited("enableDrop", "tabSetEnableDrop").setDescription(
533
- `allow user to drag tabs into this tabset`
534
- );
535
- attributeDefinitions.addInherited("enableDrag", "tabSetEnableDrag").setDescription(
536
- `allow user to drag tabs out this tabset`
537
- );
538
- attributeDefinitions.addInherited("enableDivide", "tabSetEnableDivide").setDescription(
539
- `allow user to drag tabs to region of this tabset, splitting into new tabset`
540
- );
541
- attributeDefinitions.addInherited("enableMaximize", "tabSetEnableMaximize").setDescription(
542
- `allow user to maximize tabset to fill view via maximize button`
543
- );
544
- attributeDefinitions.addInherited("enableClose", "tabSetEnableClose").setDescription(
545
- `allow user to close tabset via a close button`
546
- );
547
- attributeDefinitions.addInherited("enableSingleTabStretch", "tabSetEnableSingleTabStretch").setDescription(
548
- `if the tabset has only a single tab then stretch the single tab to fill area and display in a header style`
549
- );
550
-
551
- attributeDefinitions.addInherited("classNameTabStrip", "tabSetClassNameTabStrip").setDescription(
552
- `a class name to apply to the tab strip`
553
- );
554
- attributeDefinitions.addInherited("enableTabStrip", "tabSetEnableTabStrip").setDescription(
555
- `enable tab strip and allow multiple tabs in this tabset`
556
- );
557
- attributeDefinitions.addInherited("minWidth", "tabSetMinWidth").setDescription(
558
- `minimum width (in px) for this tabset`
559
- );
560
- attributeDefinitions.addInherited("minHeight", "tabSetMinHeight").setDescription(
561
- `minimum height (in px) for this tabset`
562
- );
563
- attributeDefinitions.addInherited("maxWidth", "tabSetMaxWidth").setDescription(
564
- `maximum width (in px) for this tabset`
565
- );
566
- attributeDefinitions.addInherited("maxHeight", "tabSetMaxHeight").setDescription(
567
- `maximum height (in px) for this tabset`
568
- );
569
-
570
- attributeDefinitions.addInherited("enableTabWrap", "tabSetEnableTabWrap").setDescription(
571
- `wrap tabs onto multiple lines`
572
- );
573
- attributeDefinitions.addInherited("tabLocation", "tabSetTabLocation").setDescription(
574
- `the location of the tabs either top or bottom`
575
- );
576
- attributeDefinitions.addInherited("autoSelectTab", "tabSetAutoSelectTab").setType(Attribute.BOOLEAN).setDescription(
577
- `whether to select new/moved tabs in tabset`
578
- );
579
- attributeDefinitions.addInherited("enableActiveIcon", "tabSetEnableActiveIcon").setType(Attribute.BOOLEAN).setDescription(
580
- `whether the active icon (*) should be displayed when the tabset is active`
581
- );
582
-
583
- attributeDefinitions.addInherited("enableTabScrollbar", "tabSetEnableTabScrollbar").setType(Attribute.BOOLEAN).setDescription(
584
- `whether to show a mini scrollbar for the tabs`
585
- );
586
-
587
- return attributeDefinitions;
588
- }
589
-
590
- }
591
-
592
-
@@ -1,52 +0,0 @@
1
- import { TabSetNode } from "./TabSetNode";
2
- import { BorderNode } from "./BorderNode";
3
- import { RowNode } from "./RowNode";
4
- import { TabNode } from "./TabNode";
5
-
6
- /** @internal */
7
- export function adjustSelectedIndexAfterDock(node: TabNode) {
8
- const parent = node.getParent();
9
- if (parent !== null && (parent instanceof TabSetNode || parent instanceof BorderNode)) {
10
- const children = parent.getChildren();
11
- for (let i = 0; i < children.length; i++) {
12
- const child = children[i] as TabNode;
13
- if (child === node) {
14
- parent.setSelected(i);
15
- return;
16
- }
17
- }
18
- }
19
- }
20
-
21
- /** @internal */
22
- export function adjustSelectedIndex(parent: TabSetNode | BorderNode | RowNode, removedIndex: number) {
23
- // for the tabset/border being removed from set the selected index
24
- if (parent !== undefined && (parent instanceof TabSetNode || parent instanceof BorderNode)) {
25
- const selectedIndex = (parent as TabSetNode | BorderNode).getSelected();
26
- if (selectedIndex !== -1) {
27
- if (removedIndex === selectedIndex && parent.getChildren().length > 0) {
28
- if (removedIndex >= parent.getChildren().length) {
29
- // removed last tab; select new last tab
30
- parent.setSelected(parent.getChildren().length - 1);
31
- } else {
32
- // leave selected index as is, selecting next tab after this one
33
- }
34
- } else if (removedIndex < selectedIndex) {
35
- parent.setSelected(selectedIndex - 1);
36
- } else if (removedIndex > selectedIndex) {
37
- // leave selected index as is
38
- } else {
39
- parent.setSelected(-1);
40
- }
41
- }
42
- }
43
- }
44
-
45
- export function randomUUID(): string {
46
- // @ts-ignore
47
- return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
48
- (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
49
- );
50
- }
51
-
52
-