flexlayout-react 0.8.9 → 0.8.11

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 (312) hide show
  1. package/ChangeLog.txt +12 -0
  2. package/README.md +30 -24
  3. package/declarations/view/BorderTab.d.ts +1 -2
  4. package/declarations/view/Icons.d.ts +7 -8
  5. package/declarations/view/Layout.d.ts +1 -1
  6. package/declarations/view/SizeTracker.d.ts +1 -1
  7. package/dist/flexlayout.js +51 -31
  8. package/dist/flexlayout_min.js +1 -1
  9. package/dist/flexlayout_min.js.LICENSE.txt +10 -0
  10. package/dist/src/Attribute.js +43 -0
  11. package/dist/src/Attribute.js.map +1 -0
  12. package/dist/src/AttributeDefinitions.js +132 -0
  13. package/dist/src/AttributeDefinitions.js.map +1 -0
  14. package/dist/src/DockLocation.js +121 -0
  15. package/dist/src/DockLocation.js.map +1 -0
  16. package/dist/src/DropInfo.js +10 -0
  17. package/dist/src/DropInfo.js.map +1 -0
  18. package/dist/src/I18nLabel.js +14 -0
  19. package/dist/src/I18nLabel.js.map +1 -0
  20. package/dist/src/Orientation.js +23 -0
  21. package/dist/src/Orientation.js.map +1 -0
  22. package/dist/src/Rect.js +111 -0
  23. package/dist/src/Rect.js.map +1 -0
  24. package/dist/src/Types.js +95 -0
  25. package/dist/src/Types.js.map +1 -0
  26. package/dist/src/index.js +22 -0
  27. package/dist/src/index.js.map +1 -0
  28. package/dist/src/model/Action.js +7 -0
  29. package/dist/src/model/Action.js.map +1 -0
  30. package/dist/src/model/Actions.js +170 -0
  31. package/dist/src/model/Actions.js.map +1 -0
  32. package/dist/src/model/BorderNode.js +390 -0
  33. package/dist/src/model/BorderNode.js.map +1 -0
  34. package/dist/src/model/BorderSet.js +67 -0
  35. package/dist/src/model/BorderSet.js.map +1 -0
  36. package/dist/src/model/ICloseType.js +7 -0
  37. package/dist/src/model/ICloseType.js.map +1 -0
  38. package/dist/src/model/IDraggable.js +2 -0
  39. package/dist/src/model/IDraggable.js.map +1 -0
  40. package/dist/src/model/IDropTarget.js +2 -0
  41. package/dist/src/model/IDropTarget.js.map +1 -0
  42. package/dist/src/model/IJsonModel.js +2 -0
  43. package/dist/src/model/IJsonModel.js.map +1 -0
  44. package/dist/src/model/LayoutWindow.js +81 -0
  45. package/dist/src/model/LayoutWindow.js.map +1 -0
  46. package/dist/src/model/Model.js +608 -0
  47. package/dist/src/model/Model.js.map +1 -0
  48. package/dist/src/model/Node.js +218 -0
  49. package/dist/src/model/Node.js.map +1 -0
  50. package/dist/src/model/RowNode.js +492 -0
  51. package/dist/src/model/RowNode.js.map +1 -0
  52. package/dist/src/model/TabNode.js +293 -0
  53. package/dist/src/model/TabNode.js.map +1 -0
  54. package/dist/src/model/TabSetNode.js +469 -0
  55. package/dist/src/model/TabSetNode.js.map +1 -0
  56. package/dist/src/model/Utils.js +48 -0
  57. package/dist/src/model/Utils.js.map +1 -0
  58. package/dist/src/view/BorderButton.js +126 -0
  59. package/dist/src/view/BorderButton.js.map +1 -0
  60. package/dist/src/view/BorderTab.js +44 -0
  61. package/dist/src/view/BorderTab.js.map +1 -0
  62. package/dist/src/view/BorderTabSet.js +138 -0
  63. package/dist/src/view/BorderTabSet.js.map +1 -0
  64. package/dist/src/view/DragContainer.js +16 -0
  65. package/dist/src/view/DragContainer.js.map +1 -0
  66. package/dist/src/view/ErrorBoundary.js +24 -0
  67. package/dist/src/view/ErrorBoundary.js.map +1 -0
  68. package/dist/src/view/Icons.js +29 -0
  69. package/dist/src/view/Icons.js.map +1 -0
  70. package/dist/src/view/Layout.js +881 -0
  71. package/dist/src/view/Layout.js.map +1 -0
  72. package/dist/src/view/Overlay.js +9 -0
  73. package/dist/src/view/Overlay.js.map +1 -0
  74. package/dist/src/view/PopoutWindow.js +129 -0
  75. package/dist/src/view/PopoutWindow.js.map +1 -0
  76. package/dist/src/view/PopupMenu.js +89 -0
  77. package/dist/src/view/PopupMenu.js.map +1 -0
  78. package/dist/src/view/Row.js +46 -0
  79. package/dist/src/view/Row.js.map +1 -0
  80. package/dist/src/view/SizeTracker.js +12 -0
  81. package/dist/src/view/SizeTracker.js.map +1 -0
  82. package/dist/src/view/Splitter.js +192 -0
  83. package/dist/src/view/Splitter.js.map +1 -0
  84. package/dist/src/view/Tab.js +91 -0
  85. package/dist/src/view/Tab.js.map +1 -0
  86. package/dist/src/view/TabButton.js +124 -0
  87. package/dist/src/view/TabButton.js.map +1 -0
  88. package/dist/src/view/TabButtonStamp.js +15 -0
  89. package/dist/src/view/TabButtonStamp.js.map +1 -0
  90. package/dist/src/view/TabOverflowHook.js +266 -0
  91. package/dist/src/view/TabOverflowHook.js.map +1 -0
  92. package/dist/src/view/TabSet.js +256 -0
  93. package/dist/src/view/TabSet.js.map +1 -0
  94. package/dist/src/view/Utils.js +110 -0
  95. package/dist/src/view/Utils.js.map +1 -0
  96. package/lib/AttributeDefinitions.js +2 -2
  97. package/lib/AttributeDefinitions.js.map +1 -1
  98. package/lib/Rect.js +1 -1
  99. package/lib/Rect.js.map +1 -1
  100. package/lib/view/BorderButton.js +7 -9
  101. package/lib/view/BorderButton.js.map +1 -1
  102. package/lib/view/BorderTab.js +18 -9
  103. package/lib/view/BorderTab.js.map +1 -1
  104. package/lib/view/BorderTabSet.js +11 -17
  105. package/lib/view/BorderTabSet.js.map +1 -1
  106. package/lib/view/DragContainer.js +2 -2
  107. package/lib/view/DragContainer.js.map +1 -1
  108. package/lib/view/ErrorBoundary.js +2 -2
  109. package/lib/view/ErrorBoundary.js.map +1 -1
  110. package/lib/view/Icons.js +8 -20
  111. package/lib/view/Icons.js.map +1 -1
  112. package/lib/view/Layout.js +44 -84
  113. package/lib/view/Layout.js.map +1 -1
  114. package/lib/view/Overlay.js +2 -2
  115. package/lib/view/Overlay.js.map +1 -1
  116. package/lib/view/PopupMenu.js +4 -5
  117. package/lib/view/PopupMenu.js.map +1 -1
  118. package/lib/view/Row.js +5 -4
  119. package/lib/view/Row.js.map +1 -1
  120. package/lib/view/SizeTracker.js +2 -1
  121. package/lib/view/SizeTracker.js.map +1 -1
  122. package/lib/view/Splitter.js +9 -4
  123. package/lib/view/Splitter.js.map +1 -1
  124. package/lib/view/Tab.js +3 -4
  125. package/lib/view/Tab.js.map +1 -1
  126. package/lib/view/TabButton.js +7 -9
  127. package/lib/view/TabButton.js.map +1 -1
  128. package/lib/view/TabButtonStamp.js +4 -6
  129. package/lib/view/TabButtonStamp.js.map +1 -1
  130. package/lib/view/TabSet.js +38 -42
  131. package/lib/view/TabSet.js.map +1 -1
  132. package/lib/view/Utils.js +3 -3
  133. package/lib/view/Utils.js.map +1 -1
  134. package/package.json +87 -77
  135. package/playwright-report/data/01f8ff379b7b7c06b0f8dbd65cbd55e95f8ca470.zip +0 -0
  136. package/playwright-report/data/02a706b995d751dee8ac0429e29eafb796a23f96.zip +0 -0
  137. package/playwright-report/data/04468c5a7304bad1acbe32d3376bfc5038e172d9.zip +0 -0
  138. package/playwright-report/data/04ffe14721deea0c6402bb96c78055475f6cd687.zip +0 -0
  139. package/playwright-report/data/07e1bb8bd6407ceafa7a1051839d398f34b41a52.zip +0 -0
  140. package/playwright-report/data/0d17b99e2ddd975da4868f295b370a9fc9b55993.zip +0 -0
  141. package/playwright-report/data/108805618d29c7800d55d7dd8da36829fec366bd.zip +0 -0
  142. package/playwright-report/data/1271fd2bc76809c25b62351f4321b396e745a199.zip +0 -0
  143. package/playwright-report/data/16bd316f5e3e9ad6c9dc2a6a0388f3425c1a61d9.zip +0 -0
  144. package/playwright-report/data/1a1b06cebe59d981e21198164093230b0a1704fd.zip +0 -0
  145. package/playwright-report/data/1b3b6bba4aca415bc586b2a0abb18410af26fbf1.zip +0 -0
  146. package/playwright-report/data/1ce927369a55edf14ec99e0029d1a342cb0fcfa4.zip +0 -0
  147. package/playwright-report/data/20a694648a90f0a805a4397b73699142e5dd50c1.zip +0 -0
  148. package/playwright-report/data/211f1c8fc3f5d052d935906201f29a1e42a2fbd8.zip +0 -0
  149. package/playwright-report/data/2176124681e769fbba593a272e67331fd69e56ef.zip +0 -0
  150. package/playwright-report/data/2487db6273b09acd9a62a9ecfa8f1e411cc769df.zip +0 -0
  151. package/playwright-report/data/25abefed6606e15cac6dc83e3ea4e85896233020.zip +0 -0
  152. package/playwright-report/data/2752051b8593d432be1a623813f2dbee043dc959.zip +0 -0
  153. package/playwright-report/data/2d72001a7f57a11282fe741ca22501b34f7576a2.zip +0 -0
  154. package/playwright-report/data/308de4d252afe1db5aeda783ea3eaf09368aa812.zip +0 -0
  155. package/playwright-report/data/30f265807a34ee9bb2ddd931970be6f572a42ffe.zip +0 -0
  156. package/playwright-report/data/326599ace543d3340403f5eaa0f28ef73f7d3cfc.zip +0 -0
  157. package/playwright-report/data/3662fcf1839c6bb164e1aceea5e25b410bae6286.zip +0 -0
  158. package/playwright-report/data/38cdebbb090386af04f96f13bf45b2a23feb6cf5.zip +0 -0
  159. package/playwright-report/data/3b45c7876ca7a4208061f69fa0cce9f9e619557c.zip +0 -0
  160. package/playwright-report/data/3c6115f8ff03527f3b888e8c6626d086146bb961.zip +0 -0
  161. package/playwright-report/data/3e976a69f9bc188048c96969507a28fc5411da40.zip +0 -0
  162. package/playwright-report/data/420bd6c0ed97c53e6ee5108c11c337690ed9dd71.zip +0 -0
  163. package/playwright-report/data/424c925f1d020f7918c5b1d4e93a3aff4ffd0d35.zip +0 -0
  164. package/playwright-report/data/4459657c233583f0bb5f541ba2a56d14fc04324f.zip +0 -0
  165. package/playwright-report/data/45dbca16424f69b6af3f201fd918186e66e6a921.zip +0 -0
  166. package/playwright-report/data/4c7242437d15e34066b69d5f3a71e21f436d81bb.zip +0 -0
  167. package/playwright-report/data/56f84e2288e6485b68f0f78f79af97016d066eea.zip +0 -0
  168. package/playwright-report/data/679d4cfcb398dd2d19703be59bbf1de72f73fa3e.zip +0 -0
  169. package/playwright-report/data/686279f3ccdca1213fe91a9901f1ca469a41db4b.zip +0 -0
  170. package/playwright-report/data/69403980b98daeb052c732f3d984b7ccc51022aa.zip +0 -0
  171. package/playwright-report/data/6d91e10cd5dc95944881ea0f875bf0e531c63164.zip +0 -0
  172. package/playwright-report/data/6f362695f59905c3acdcafb6eeacfa4b068bc030.zip +0 -0
  173. package/playwright-report/data/71dd5897288168b0f7fb2e187f2b543e880733b1.zip +0 -0
  174. package/playwright-report/data/7540a41a9c123cffc1750447ccb69d9fb8cc8ba5.zip +0 -0
  175. package/playwright-report/data/78f8483a26c47ca761f43b1f142a9fb9d001b27e.zip +0 -0
  176. package/playwright-report/data/7e8bd5ba547094dcf303d450853b2f74f41749b2.zip +0 -0
  177. package/playwright-report/data/7fbec8e63ea2ee1702a94fe4d837067192e661f0.zip +0 -0
  178. package/playwright-report/data/87f2ea42a46cbd21813358d7d6e31d9999fca953.zip +0 -0
  179. package/playwright-report/data/8db527a1f9b753036cf63bb4afc96a765007fe82.zip +0 -0
  180. package/playwright-report/data/8e5ccd4bd56f3843f4e788c5e9842165221c2748.zip +0 -0
  181. package/playwright-report/data/8fc12e2795e02ee2ad773ec7be25f94b6ca697ed.zip +0 -0
  182. package/playwright-report/data/9d10ab1649ded4751d19014847e110b0b03ad126.zip +0 -0
  183. package/playwright-report/data/ab82c3994c6614fa6873fc92fd44ca78cb45f9d6.zip +0 -0
  184. package/playwright-report/data/ac554655d509fe64199a053e715def4ce4bbd618.zip +0 -0
  185. package/playwright-report/data/ad8e5a0cec5ec3369478099a58b7652c0dd636f1.zip +0 -0
  186. package/playwright-report/data/ae30baf5dea2dc0dd2ca87ffa08afb936b27fef1.zip +0 -0
  187. package/playwright-report/data/bc7631ffd4df693573a3233ec403a1f9cbcb00a9.zip +0 -0
  188. package/playwright-report/data/bcfe71e7532702969ecdde584a294907ed21525e.zip +0 -0
  189. package/playwright-report/data/bf020e09e20d0cd6e1b8aa82153e84f9d40c7f74.zip +0 -0
  190. package/playwright-report/data/c3452f499f82ef644c3d314626d3d9c762ff5c20.zip +0 -0
  191. package/playwright-report/data/c5dfbb00ea0965a4214f02cde22245958bb31c86.zip +0 -0
  192. package/playwright-report/data/c716ede7c5174d8a83653a6862605eca04783bad.zip +0 -0
  193. package/playwright-report/data/c95ca5869740edf6d1d627d120aa9ba26b1d3415.zip +0 -0
  194. package/playwright-report/data/cc17390169d327b4dfc2a9b3a8279e74ff975b1d.zip +0 -0
  195. package/playwright-report/data/d0ff6b9f342d792119f1513cc53c9f315a56251b.zip +0 -0
  196. package/playwright-report/data/d26377153bff611b5ba5a1148fc8858f7bb2cb7b.zip +0 -0
  197. package/playwright-report/data/dc0608de1b624a691f2f393bf450fc01591076ef.zip +0 -0
  198. package/playwright-report/data/dee4c585c248f4827601afbde02d3732761bdd8b.zip +0 -0
  199. package/playwright-report/data/e4cdfceef70735028de78f94f7e07a1e65fa317d.zip +0 -0
  200. package/playwright-report/data/e64d89424643af3f746a091f7567db49b0b45f3c.zip +0 -0
  201. package/playwright-report/data/e70483c7d13bb871f5c5b4aa54149172d58bf0c0.zip +0 -0
  202. package/playwright-report/data/e8333b653df262d800ee7b5329503b975d420e87.zip +0 -0
  203. package/playwright-report/data/ed1bd19a957a6165ba73a644af4959590b23eed9.zip +0 -0
  204. package/playwright-report/data/f35cf046cdf897abd96f318f79443407e58b8f0b.zip +0 -0
  205. package/playwright-report/data/f8793a7c69b939ac07422cf41aac45ebe4a86908.zip +0 -0
  206. package/playwright-report/data/fb2a383b96839380e90e0137363a574e665aed38.zip +0 -0
  207. package/playwright-report/data/fede8e774c66e329bdac055d6d67e73aa75b14fc.zip +0 -0
  208. package/playwright-report/index.html +71 -0
  209. package/playwright-report/trace/assets/codeMirrorModule-DpJ-EmBQ.js +24 -0
  210. package/playwright-report/trace/assets/defaultSettingsView-DTenqiGw.js +259 -0
  211. package/playwright-report/trace/codeMirrorModule.C3UTv-Ge.css +1 -0
  212. package/playwright-report/trace/codicon.DCmgc-ay.ttf +0 -0
  213. package/playwright-report/trace/defaultSettingsView.5fN5lw10.css +1 -0
  214. package/playwright-report/trace/index.CFOW-Ezb.css +1 -0
  215. package/playwright-report/trace/index.CUq7VgrV.js +2 -0
  216. package/playwright-report/trace/index.html +43 -0
  217. package/playwright-report/trace/playwright-logo.svg +9 -0
  218. package/playwright-report/trace/snapshot.html +21 -0
  219. package/playwright-report/trace/sw.bundle.js +3 -0
  220. package/playwright-report/trace/uiMode.BatfzHMG.css +1 -0
  221. package/playwright-report/trace/uiMode.CHJSAD7F.js +5 -0
  222. package/playwright-report/trace/uiMode.html +17 -0
  223. package/playwright-report/trace/xtermModule.Beg8tuEN.css +32 -0
  224. package/playwright.config.ts +79 -0
  225. package/screenshots/PlaywrightUI.png +0 -0
  226. package/src/AttributeDefinitions.ts +2 -2
  227. package/src/Rect.ts +1 -1
  228. package/src/view/BorderButton.tsx +1 -1
  229. package/src/view/BorderTab.tsx +18 -7
  230. package/src/view/Icons.tsx +0 -2
  231. package/src/view/Layout.tsx +14 -10
  232. package/src/view/Overlay.tsx +0 -1
  233. package/src/view/Splitter.tsx +6 -0
  234. package/src/view/TabButton.tsx +1 -1
  235. package/src/view/TabButtonStamp.tsx +0 -1
  236. package/src/view/TabSet.tsx +16 -7
  237. package/test-results/view-Add-methods-add-to-active-tabset-chromium/trace.zip +0 -0
  238. package/test-results/view-Add-methods-drag-to-border-chromium/trace.zip +0 -0
  239. package/test-results/view-Add-methods-drag-to-tabset-chromium/trace.zip +0 -0
  240. package/test-results/view-Delete-methods-delete-all-tabs-chromium/trace.zip +0 -0
  241. package/test-results/view-Delete-methods-delete-tab-chromium/trace.zip +0 -0
  242. package/test-results/view-Extended-App-onRenderTab-chromium/trace.zip +0 -0
  243. package/test-results/view-Extended-App-onRenderTab-in-border-chromium/trace.zip +0 -0
  244. package/test-results/view-Extended-App-onRenderTabSet-chromium/trace.zip +0 -0
  245. package/test-results/view-Extended-App-onRenderTabSet-for-border-chromium/trace.zip +0 -0
  246. package/test-results/view-Extended-App-onRenderTabSet-sticky-buttons-chromium/trace.zip +0 -0
  247. package/test-results/view-Extended-layout2-borders-autohide-left-chromium/trace.zip +0 -0
  248. package/test-results/view-Extended-layout2-borders-autohide-top-chromium/trace.zip +0 -0
  249. package/test-results/view-Extended-layout2-check-border-bottom-min-size-chromium/trace.zip +0 -0
  250. package/test-results/view-Extended-layout2-check-border-left-min-size-chromium/trace.zip +0 -0
  251. package/test-results/view-Extended-layout2-check-border-right-min-size-chromium/trace.zip +0 -0
  252. package/test-results/view-Extended-layout2-check-border-top-min-size-chromium/trace.zip +0 -0
  253. package/test-results/view-Extended-layout2-check-tabset-min-size-chromium/trace.zip +0 -0
  254. package/test-results/view-Extended-layout2-tabset-close-chromium/trace.zip +0 -0
  255. package/test-results/view-Maximize-methods-maximize-tabset-using-double-click-chromium/trace.zip +0 -0
  256. package/test-results/view-Maximize-methods-maximize-tabset-using-max-button-chromium/trace.zip +0 -0
  257. package/test-results/view-Others-click-on-tab-button-causes-tabset-activate-chromium/trace.zip +0 -0
  258. package/test-results/view-Others-click-on-tab-contents-causes-tabset-activate-chromium/trace.zip +0 -0
  259. package/test-results/view-Others-click-on-tabstrip-causes-tabset-activate-chromium/trace.zip +0 -0
  260. package/test-results/view-Others-rename-tab-cancelled-with-esc-chromium/trace.zip +0 -0
  261. package/test-results/view-Others-rename-tab-chromium/trace.zip +0 -0
  262. package/test-results/view-Overflow-menu-show-menu-chromium/trace.zip +0 -0
  263. package/test-results/view-Splitters-horizontal--5a358-ter-to-bottom-edge-and-back-chromium/trace.zip +0 -0
  264. package/test-results/view-Splitters-horizontal--f02d2-litter-to-top-edge-and-back-chromium/trace.zip +0 -0
  265. package/test-results/view-Splitters-horizontal-resizes-with-hsplitter-chromium/trace.zip +0 -0
  266. package/test-results/view-Splitters-vsplitter-chromium/trace.zip +0 -0
  267. package/test-results/view-Splitters-vsplitter-to-edge-chromium/trace.zip +0 -0
  268. package/test-results/view-Splitters-vsplitter-to-edge-left-chromium/trace.zip +0 -0
  269. package/test-results/view-borders-border-bottom-to-tab-chromium/trace.zip +0 -0
  270. package/test-results/view-borders-border-left-to-tab-chromium/trace.zip +0 -0
  271. package/test-results/view-borders-border-right-to-tab-chromium/trace.zip +0 -0
  272. package/test-results/view-borders-border-top-to-tab-chromium/trace.zip +0 -0
  273. package/test-results/view-borders-move-tab-in-border-bottom-chromium/trace.zip +0 -0
  274. package/test-results/view-borders-move-tab-in-border-left-chromium/trace.zip +0 -0
  275. package/test-results/view-borders-move-tab-in-border-right-chromium/trace.zip +0 -0
  276. package/test-results/view-borders-move-tab-in-border-top-chromium/trace.zip +0 -0
  277. package/test-results/view-borders-tab-to-border-bottom-chromium/trace.zip +0 -0
  278. package/test-results/view-borders-tab-to-border-left-chromium/trace.zip +0 -0
  279. package/test-results/view-borders-tab-to-border-right-chromium/trace.zip +0 -0
  280. package/test-results/view-borders-tab-to-border-top-chromium/trace.zip +0 -0
  281. package/test-results/view-borders-tab-to-open-border-bottom-center-chromium/trace.zip +0 -0
  282. package/test-results/view-borders-tab-to-open-border-bottom-chromium/trace.zip +0 -0
  283. package/test-results/view-borders-tab-to-open-border-left-center-chromium/trace.zip +0 -0
  284. package/test-results/view-borders-tab-to-open-border-left-chromium/trace.zip +0 -0
  285. package/test-results/view-borders-tab-to-open-border-right-center-chromium/trace.zip +0 -0
  286. package/test-results/view-borders-tab-to-open-border-right-chromium/trace.zip +0 -0
  287. package/test-results/view-borders-tab-to-open-border-top-center-chromium/trace.zip +0 -0
  288. package/test-results/view-borders-tab-to-open-border-top-chromium/trace.zip +0 -0
  289. package/test-results/view-drag-tests-two-tabs-tab-to-edge-chromium/trace.zip +0 -0
  290. package/test-results/view-drag-tests-two-tabs-tab-to-tab-bottom-chromium/trace.zip +0 -0
  291. package/test-results/view-drag-tests-two-tabs-tab-to-tab-center-chromium/trace.zip +0 -0
  292. package/test-results/view-drag-tests-two-tabs-tab-to-tab-left-chromium/trace.zip +0 -0
  293. package/test-results/view-drag-tests-two-tabs-tab-to-tab-right-chromium/trace.zip +0 -0
  294. package/test-results/view-drag-tests-two-tabs-tab-to-tab-top-chromium/trace.zip +0 -0
  295. package/test-results/view-tab-can-have-icon-chromium/trace.zip +0 -0
  296. package/test-results/view-three-tabs-move-tab-in-tabstrip-chromium/trace.zip +0 -0
  297. package/test-results/view-three-tabs-move-tabstrip-chromium/trace.zip +0 -0
  298. package/test-results/view-three-tabs-row-to-column-chromium/trace.zip +0 -0
  299. package/test-results/view-three-tabs-row-to-single-tabset-chromium/trace.zip +0 -0
  300. package/test-results/view-three-tabs-tab-to-edge-bottom-chromium/trace.zip +0 -0
  301. package/test-results/view-three-tabs-tab-to-edge-left-chromium/trace.zip +0 -0
  302. package/test-results/view-three-tabs-tab-to-edge-right-chromium/trace.zip +0 -0
  303. package/test-results/view-three-tabs-tab-to-edge-top-chromium/trace.zip +0 -0
  304. package/test-results/view-three-tabs-tab-to-tab-bottom-chromium/trace.zip +0 -0
  305. package/test-results/view-three-tabs-tab-to-tab-center-chromium/trace.zip +0 -0
  306. package/test-results/view-three-tabs-tab-to-tab-left-chromium/trace.zip +0 -0
  307. package/test-results/view-three-tabs-tab-to-tab-right-chromium/trace.zip +0 -0
  308. package/test-results/view-three-tabs-tab-to-tab-top-chromium/trace.zip +0 -0
  309. package/test-results/view-three-tabs-tab-to-tabset-chromium/trace.zip +0 -0
  310. package/tests-playwright/helpers.ts +124 -0
  311. package/tests-playwright/view.spec.ts +911 -0
  312. package/declarations/examples/demo/Utils.d.ts +0 -4
package/ChangeLog.txt CHANGED
@@ -1,3 +1,15 @@
1
+ 0.8.11
2
+ Updated dependencies
3
+ Fix for initial tab flash
4
+ Disabled popout of MUI tabs in demo (because Emotion generated styles (in production) cannot be copied to popout window)
5
+ Converted Cypress tests to Playwright
6
+ Updated demo app to use React hooks
7
+
8
+ 0.8.10
9
+ Fix for #481 Numpad Enter doesn't confirm rename
10
+ Work around <StrictMode> issue in React 19 (https://github.com/facebook/react/issues/29585) causing
11
+ tabs to re-mount when moved
12
+
1
13
  0.8.9
2
14
  Fix for #480 Actions.selectTab is called when closing Tab
3
15
  Added isVisible() method to TabNode
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  ![npm](https://img.shields.io/npm/dw/flexlayout-react)
5
5
  [![npm](https://img.shields.io/npm/v/flexlayout-react)](https://www.npmjs.com/package/flexlayout-react)
6
6
 
7
- FlexLayout is a layout manager that arranges React components in multiple tab sets, tabs can be resized and moved.
7
+ FlexLayout is a layout manager that arranges React components in multiple tabsets, tabs can be resized and moved.
8
8
 
9
9
  ![FlexLayout Demo Screenshot](screenshots/Screenshot_light.png?raw=true "FlexLayout Demo Screenshot")
10
10
 
@@ -22,20 +22,21 @@ Features:
22
22
  * splitters
23
23
  * tabs (scrolling or wrapped)
24
24
  * tab dragging and ordering
25
- * tab set dragging (move all the tabs in a tab set in one operation)
26
- * dock to tab set or edge of frame
27
- * maximize tab set (double click tab set header or use icon)
25
+ * tabset dragging (move all the tabs in a tabset in one operation)
26
+ * dock to tabset or edge of frame
27
+ * maximize tabset (double click tabset header or use icon)
28
28
  * tab overflow (show menu when tabs overflow, scroll tabs using mouse wheel)
29
- * border tab sets
29
+ * border tabsets
30
30
  * popout tabs into new browser windows
31
31
  * submodels, allow layouts inside layouts
32
32
  * tab renaming (double click tab text to rename)
33
33
  * theming - light, dark, underline, gray, rounded and combined
34
34
  * works on mobile devices (iPad, Android)
35
- * add tabs using drag, add to active tab set, add to tab set by id
36
- * tab and tab set attributes: enableTabStrip, enableDock, enableDrop...
37
- * customizable tabs and tab set rendering
35
+ * add tabs using drag, add to active tabset, add to tabset by id
36
+ * tab and tabset attributes: enableTabStrip, enableDock, enableDrop...
37
+ * customizable tabs and tabset rendering
38
38
  * component state is preserved when tabs are moved
39
+ * Playwright tests
39
40
  * typescript type declarations
40
41
 
41
42
  ## Installation
@@ -71,7 +72,7 @@ or by adding the css to your html:
71
72
 
72
73
  ## Usage
73
74
 
74
- The `<Layout>` component renders the tab sets and splitters, it takes the following props:
75
+ The `<Layout>` component renders the tabsets and splitters, it takes the following props:
75
76
 
76
77
 
77
78
  #### Required props:
@@ -150,9 +151,9 @@ function App() {
150
151
  }
151
152
  ```
152
153
 
153
- The above code would render two tab sets horizontally each containing a single tab that hosts a div component (returned from the factory). The tabs could be moved and resized by dragging and dropping. Additional tabs could be added to the layout by sending actions to the model.
154
+ The above code would render two tabsets horizontally each containing a single tab that hosts a div component (returned from the factory). The tabs could be moved and resized by dragging and dropping. Additional tabs could be added to the layout by sending actions to the model.
154
155
 
155
- <img src="screenshots/Screenshot_two_tabs.png?raw=true" alt="Simple layout" title="Generated Layout" style="border: 1px solid #ccc;" />
156
+ <img src="screenshots/Screenshot_two_tabs.png?raw=true" alt="Simple layout" title="Generated Layout"/>
156
157
 
157
158
 
158
159
  Try it now using [CodeSandbox](https://codesandbox.io/p/sandbox/yvjzqf)
@@ -233,8 +234,7 @@ You can use the `<Layout>` prop onRenderTab to customize the tab rendering:
233
234
 
234
235
  <img src="screenshots/Screenshot_customize_tab.png?raw=true"
235
236
  alt="FlexLayout Tab structure"
236
- title="Tab structure"
237
- style="border: 1px solid #ccc;" />
237
+ title="Tab structure"/>
238
238
 
239
239
  Update the renderValues parameter as needed:
240
240
 
@@ -254,15 +254,14 @@ onRenderTab = (node: TabNode, renderValues: ITabRenderValues) => {
254
254
  }
255
255
  ```
256
256
 
257
- ## Customizing Tab sets
257
+ ## Customizing Tabsets
258
258
 
259
- You can use the `<Layout>` prop onRenderTabSet to customize the tab set rendering:
259
+ You can use the `<Layout>` prop onRenderTabSet to customize the tabset rendering:
260
260
 
261
261
 
262
262
  <img src="screenshots/Screenshot_customize_tabset.png?raw=true"
263
263
  alt="FlexLayout Tab structure"
264
- title="Tab set structure"
265
- style="border: 1px solid #ccc;" />
264
+ title="Tabset structure" />
266
265
 
267
266
  Update the renderValues parameter as needed:
268
267
 
@@ -342,11 +341,11 @@ The JSON model is well defined as a set of TypeScript interfaces, see the doc fo
342
341
 
343
342
  [Row Attributes doc](https://rawgit.com/caplin/FlexLayout/demos/demos/v0.8/typedoc/interfaces/IJsonRowNode.html)
344
343
 
345
- ## Tab Set Config Attributes
344
+ ## TabSet Config Attributes
346
345
 
347
- [Tab set Attributes doc](https://rawgit.com/caplin/FlexLayout/demos/demos/v0.8/typedoc/interfaces/IJsonTabSetNode.html)
346
+ [Tabset Attributes doc](https://rawgit.com/caplin/FlexLayout/demos/demos/v0.8/typedoc/interfaces/IJsonTabSetNode.html)
348
347
 
349
- Note: tab sets will be dynamically created as tabs are moved, and deleted when all their tabs are removed (unless enableDeleteWhenEmpty is false).
348
+ Note: tabsets will be dynamically created as tabs are moved, and deleted when all their tabs are removed (unless enableDeleteWhenEmpty is false).
350
349
 
351
350
  ## Tab Config attributes
352
351
 
@@ -371,7 +370,7 @@ Example:
371
370
  ```
372
371
  layoutRef.current.addTabToTabSet("NAVIGATION", {type:"tab", component:"grid", name:"a grid"});
373
372
  ```
374
- This would add a new grid component to the tab set with id "NAVIGATION" (where layoutRef is a ref to the Layout element, see https://reactjs.org/docs/refs-and-the-dom.html ).
373
+ This would add a new grid component to the tabset with id "NAVIGATION" (where layoutRef is a ref to the Layout element, see https://reactjs.org/docs/refs-and-the-dom.html ).
375
374
 
376
375
 
377
376
 
@@ -439,7 +438,7 @@ for example see the getDocument() callback in agGrid at https://www.ag-grid.com/
439
438
  these will not work correctly without modification
440
439
  * Some third party controls will suspend when the global document is hidden
441
440
  you can use the tab overlay attribute to 'gray out' these tabs when the main window is hidden
442
- * Resize observers may be throttled (or stay attached to the main window), so you may need to use some other way to resize the component when in a popout (see aggrid component in demo).
441
+ * Resize observers may be throttled (or stay attached to the main window), so you may need to use some other way to resize the component when in a popout.
443
442
  * Popouts will not size and position correctly when the browser is zoomed (ie set to 50% zoom)
444
443
  * Popouts cannot reload in maximized or minimized states
445
444
  * by default flexlayout will maintain react state when moving tabs between windows, but you can use the
@@ -463,8 +462,15 @@ pnpm start
463
462
 
464
463
  Open your browser at http://localhost:8080/examples/ to show the examples directory, click on the examples to run them.
465
464
 
466
- The 'pnpm start' command will watch for changes to flexlayout and example source, so you can make changes to the code
467
- and then refresh the browser to see the result.
465
+ The 'pnpm start' command will watch for changes to flexlayout and example source, so you can make changes to the code and then refresh the browser to see the result.
466
+
467
+ Once the demo is running you can run the Playwright tests by running (in another terminal window)
468
+
469
+ ```
470
+ pnpm playwright
471
+ ```
472
+
473
+ <img src="screenshots/PlaywrightUI.png?raw=true" alt="PlaywrightUI" title="PlaywrightUI screenshot"/>
468
474
 
469
475
  To build the npm distribution run 'pnpm build', this will create the artifacts in the dist dir.
470
476
 
@@ -1,2 +1 @@
1
- import * as React from "react";
2
- export declare function BorderTab(props: IBorderTabProps): React.JSX.Element;
1
+ export declare function BorderTab(props: IBorderTabProps): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,7 @@
1
- import * as React from "react";
2
- export declare const CloseIcon: () => React.JSX.Element;
3
- export declare const MaximizeIcon: () => React.JSX.Element;
4
- export declare const OverflowIcon: () => React.JSX.Element;
5
- export declare const EdgeIcon: () => React.JSX.Element;
6
- export declare const PopoutIcon: () => React.JSX.Element;
7
- export declare const RestoreIcon: () => React.JSX.Element;
8
- export declare const AsterickIcon: () => React.JSX.Element;
1
+ export declare const CloseIcon: () => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MaximizeIcon: () => import("react/jsx-runtime").JSX.Element;
3
+ export declare const OverflowIcon: () => import("react/jsx-runtime").JSX.Element;
4
+ export declare const EdgeIcon: () => import("react/jsx-runtime").JSX.Element;
5
+ export declare const PopoutIcon: () => import("react/jsx-runtime").JSX.Element;
6
+ export declare const RestoreIcon: () => import("react/jsx-runtime").JSX.Element;
7
+ export declare const AsterickIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -98,7 +98,7 @@ export declare class Layout extends React.Component<ILayoutProps> {
98
98
  /** Get the root div element of the layout */
99
99
  getRootDiv(): HTMLDivElement | null;
100
100
  }
101
- export declare const FlexLayoutVersion = "0.8.9";
101
+ export declare const FlexLayoutVersion = "0.8.11";
102
102
  export type DragRectRenderCallback = (content: React.ReactNode | undefined, node?: Node, json?: IJsonTabNode) => React.ReactNode | undefined;
103
103
  export type NodeMouseEvent = (node: TabNode | TabSetNode | BorderNode, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
104
104
  export type ShowOverflowMenuCallback = (node: TabSetNode | BorderNode, mouseEvent: React.MouseEvent<HTMLElement, MouseEvent>, items: {
@@ -7,4 +7,4 @@ export interface ISizeTrackerProps {
7
7
  tabsRevision: number;
8
8
  children: React.ReactNode;
9
9
  }
10
- export declare const SizeTracker: React.MemoExoticComponent<({ children }: ISizeTrackerProps) => React.JSX.Element>;
10
+ export declare const SizeTracker: React.MemoExoticComponent<({ children }: ISizeTrackerProps) => import("react/jsx-runtime").JSX.Element>;