flexlayout-react 0.7.15 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/ChangeLog.txt +23 -0
  2. package/README.md +157 -330
  3. package/Screenshot_light.png +0 -0
  4. package/Screenshot_rounded.png +0 -0
  5. package/declarations/Attribute.d.ts +1 -1
  6. package/declarations/AttributeDefinitions.d.ts +1 -1
  7. package/declarations/DockLocation.d.ts +12 -12
  8. package/declarations/DropInfo.d.ts +12 -12
  9. package/declarations/I18nLabel.d.ts +12 -14
  10. package/declarations/Orientation.d.ts +7 -7
  11. package/declarations/PopupMenu.d.ts +1 -1
  12. package/declarations/Rect.d.ts +41 -28
  13. package/declarations/Types.d.ts +95 -79
  14. package/declarations/examples/demo/Utils.d.ts +4 -0
  15. package/declarations/index.d.ts +21 -22
  16. package/declarations/model/Action.d.ts +5 -5
  17. package/declarations/model/Actions.d.ts +127 -110
  18. package/declarations/model/BorderNode.d.ts +30 -34
  19. package/declarations/model/BorderSet.d.ts +3 -4
  20. package/declarations/model/ICloseType.d.ts +5 -5
  21. package/declarations/model/IDraggable.d.ts +2 -2
  22. package/declarations/model/IDropTarget.d.ts +2 -2
  23. package/declarations/model/IJsonModel.d.ts +811 -149
  24. package/declarations/model/LayoutWindow.d.ts +28 -0
  25. package/declarations/model/Model.d.ts +91 -86
  26. package/declarations/model/Node.d.ts +17 -17
  27. package/declarations/model/RowNode.d.ts +10 -11
  28. package/declarations/model/TabNode.d.ts +44 -37
  29. package/declarations/model/TabSetNode.d.ts +44 -41
  30. package/declarations/model/Utils.d.ts +1 -1
  31. package/declarations/model/WindowLayout.d.ts +24 -0
  32. package/declarations/src/Attribute.d.ts +1 -0
  33. package/declarations/src/AttributeDefinitions.d.ts +1 -0
  34. package/declarations/src/DockLocation.d.ts +12 -0
  35. package/declarations/src/DropInfo.d.ts +12 -0
  36. package/declarations/src/I18nLabel.d.ts +10 -0
  37. package/declarations/src/Orientation.d.ts +7 -0
  38. package/declarations/src/PopupMenu.d.ts +1 -0
  39. package/declarations/src/Rect.d.ts +31 -0
  40. package/declarations/src/Types.d.ts +92 -0
  41. package/declarations/src/index.d.ts +20 -0
  42. package/declarations/src/model/Action.d.ts +5 -0
  43. package/declarations/src/model/Actions.d.ts +110 -0
  44. package/declarations/src/model/BorderNode.d.ts +28 -0
  45. package/declarations/src/model/BorderSet.d.ts +3 -0
  46. package/declarations/src/model/ICloseType.d.ts +5 -0
  47. package/declarations/src/model/IDraggable.d.ts +2 -0
  48. package/declarations/src/model/IDropTarget.d.ts +2 -0
  49. package/declarations/src/model/IJsonModel.d.ts +153 -0
  50. package/declarations/src/model/Model.d.ts +98 -0
  51. package/declarations/src/model/Node.d.ts +16 -0
  52. package/declarations/src/model/RowNode.d.ts +11 -0
  53. package/declarations/src/model/TabNode.d.ts +36 -0
  54. package/declarations/src/model/TabSetNode.d.ts +37 -0
  55. package/declarations/src/model/Utils.d.ts +1 -0
  56. package/declarations/src/view/BorderButton.d.ts +1 -0
  57. package/declarations/src/view/BorderTab.d.ts +2 -0
  58. package/declarations/src/view/BorderTabSet.d.ts +1 -0
  59. package/declarations/src/view/DragContainer.d.ts +1 -0
  60. package/declarations/src/view/ErrorBoundary.d.ts +1 -0
  61. package/declarations/src/view/FloatingWindow.d.ts +1 -0
  62. package/declarations/src/view/Icons.d.ts +7 -0
  63. package/declarations/src/view/Layout.d.ts +113 -0
  64. package/declarations/src/view/Overlay.d.ts +1 -0
  65. package/declarations/src/view/PopupMenu.d.ts +1 -0
  66. package/declarations/src/view/Row.d.ts +1 -0
  67. package/declarations/src/view/Splitter.d.ts +1 -0
  68. package/declarations/src/view/Tab.d.ts +1 -0
  69. package/declarations/src/view/TabButton.d.ts +1 -0
  70. package/declarations/src/view/TabButtonStamp.d.ts +1 -0
  71. package/declarations/src/view/TabOverflowHook.d.ts +1 -0
  72. package/declarations/src/view/TabSet.d.ts +1 -0
  73. package/declarations/src/view/Utils.d.ts +4 -0
  74. package/declarations/view/BorderButton.d.ts +1 -1
  75. package/declarations/view/BorderTab.d.ts +2 -0
  76. package/declarations/view/BorderTabSet.d.ts +1 -1
  77. package/declarations/view/DragContainer.d.ts +1 -0
  78. package/declarations/view/ErrorBoundary.d.ts +1 -1
  79. package/declarations/view/ExtendedResizeObserver.d.ts +23 -0
  80. package/declarations/view/FloatingWindow.d.ts +1 -1
  81. package/declarations/view/Icons.d.ts +8 -7
  82. package/declarations/view/Layout.d.ts +139 -161
  83. package/declarations/view/Overlay.d.ts +1 -0
  84. package/declarations/view/PopoutWindow.d.ts +1 -0
  85. package/declarations/view/PopupMenu.d.ts +1 -0
  86. package/declarations/view/Row.d.ts +1 -0
  87. package/declarations/view/SizeTracker.d.ts +10 -0
  88. package/declarations/view/Splitter.d.ts +1 -1
  89. package/declarations/view/Tab.d.ts +1 -1
  90. package/declarations/view/TabButton.d.ts +1 -1
  91. package/declarations/view/TabButtonStamp.d.ts +1 -1
  92. package/declarations/view/TabOverflowHook.d.ts +1 -1
  93. package/declarations/view/TabSet.d.ts +1 -1
  94. package/declarations/view/Utils.d.ts +11 -1
  95. package/dist/bundles/demo.js +232052 -0
  96. package/dist/bundles/demo.js.map +1 -0
  97. package/dist/flexlayout.js +122 -92
  98. package/dist/flexlayout_min.js +1 -1
  99. package/lib/Attribute.js +42 -31
  100. package/lib/Attribute.js.map +1 -1
  101. package/lib/AttributeDefinitions.js +131 -108
  102. package/lib/AttributeDefinitions.js.map +1 -1
  103. package/lib/DockLocation.js +120 -124
  104. package/lib/DockLocation.js.map +1 -1
  105. package/lib/DropInfo.js +9 -13
  106. package/lib/DropInfo.js.map +1 -1
  107. package/lib/I18nLabel.js +13 -18
  108. package/lib/I18nLabel.js.map +1 -1
  109. package/lib/Orientation.js +22 -26
  110. package/lib/Orientation.js.map +1 -1
  111. package/lib/Rect.js +104 -72
  112. package/lib/Rect.js.map +1 -1
  113. package/lib/Types.js +96 -83
  114. package/lib/Types.js.map +1 -1
  115. package/lib/index.js +21 -38
  116. package/lib/index.js.map +1 -1
  117. package/lib/model/Action.js +6 -10
  118. package/lib/model/Action.js.map +1 -1
  119. package/lib/model/Actions.js +169 -155
  120. package/lib/model/Actions.js.map +1 -1
  121. package/lib/model/BorderNode.js +385 -406
  122. package/lib/model/BorderNode.js.map +1 -1
  123. package/lib/model/BorderSet.js +66 -121
  124. package/lib/model/BorderSet.js.map +1 -1
  125. package/lib/model/ICloseType.js +6 -9
  126. package/lib/model/ICloseType.js.map +1 -1
  127. package/lib/model/IDraggable.js +1 -2
  128. package/lib/model/IDropTarget.js +1 -2
  129. package/lib/model/IJsonModel.js +1 -2
  130. package/lib/model/LayoutWindow.js +83 -0
  131. package/lib/model/LayoutWindow.js.map +1 -0
  132. package/lib/model/Model.js +614 -496
  133. package/lib/model/Model.js.map +1 -1
  134. package/lib/model/Node.js +217 -228
  135. package/lib/model/Node.js.map +1 -1
  136. package/lib/model/RowNode.js +491 -504
  137. package/lib/model/RowNode.js.map +1 -1
  138. package/lib/model/TabNode.js +289 -184
  139. package/lib/model/TabNode.js.map +1 -1
  140. package/lib/model/TabSetNode.js +457 -446
  141. package/lib/model/TabSetNode.js.map +1 -1
  142. package/lib/model/Utils.js +47 -82
  143. package/lib/model/Utils.js.map +1 -1
  144. package/lib/view/BorderButton.js +124 -138
  145. package/lib/view/BorderButton.js.map +1 -1
  146. package/lib/view/BorderTab.js +47 -0
  147. package/lib/view/BorderTab.js.map +1 -0
  148. package/lib/view/BorderTabSet.js +134 -128
  149. package/lib/view/BorderTabSet.js.map +1 -1
  150. package/lib/view/DragContainer.js +16 -0
  151. package/lib/view/DragContainer.js.map +1 -0
  152. package/lib/view/ErrorBoundary.js +23 -27
  153. package/lib/view/ErrorBoundary.js.map +1 -1
  154. package/lib/view/Icons.js +40 -45
  155. package/lib/view/Icons.js.map +1 -1
  156. package/lib/view/Layout.js +918 -907
  157. package/lib/view/Layout.js.map +1 -1
  158. package/lib/view/Overlay.js +9 -0
  159. package/lib/view/Overlay.js.map +1 -0
  160. package/lib/view/PopoutWindow.js +129 -0
  161. package/lib/view/PopoutWindow.js.map +1 -0
  162. package/lib/view/PopupMenu.js +71 -0
  163. package/lib/view/PopupMenu.js.map +1 -0
  164. package/lib/view/Row.js +45 -0
  165. package/lib/view/Row.js.map +1 -0
  166. package/lib/view/SizeTracker.js +11 -0
  167. package/lib/view/SizeTracker.js.map +1 -0
  168. package/lib/view/Splitter.js +191 -147
  169. package/lib/view/Splitter.js.map +1 -1
  170. package/lib/view/Tab.js +86 -60
  171. package/lib/view/Tab.js.map +1 -1
  172. package/lib/view/TabButton.js +122 -135
  173. package/lib/view/TabButton.js.map +1 -1
  174. package/lib/view/TabButtonStamp.js +16 -21
  175. package/lib/view/TabButtonStamp.js.map +1 -1
  176. package/lib/view/TabOverflowHook.js +150 -149
  177. package/lib/view/TabOverflowHook.js.map +1 -1
  178. package/lib/view/TabSet.js +267 -234
  179. package/lib/view/TabSet.js.map +1 -1
  180. package/lib/view/Utils.js +126 -68
  181. package/lib/view/Utils.js.map +1 -1
  182. package/package.json +36 -30
  183. package/src/Attribute.ts +23 -0
  184. package/src/AttributeDefinitions.ts +38 -15
  185. package/src/DockLocation.ts +13 -13
  186. package/src/I18nLabel.ts +7 -9
  187. package/src/Rect.ts +53 -1
  188. package/src/Types.ts +16 -0
  189. package/src/index.ts +1 -2
  190. package/src/model/Actions.ts +49 -29
  191. package/src/model/BorderNode.ts +208 -214
  192. package/src/model/BorderSet.ts +42 -91
  193. package/src/model/IJsonModel.ts +883 -103
  194. package/src/model/LayoutWindow.ts +121 -0
  195. package/src/model/Model.ts +488 -366
  196. package/src/model/Node.ts +98 -111
  197. package/src/model/RowNode.ts +323 -319
  198. package/src/model/TabNode.ts +294 -110
  199. package/src/model/TabSetNode.ts +300 -242
  200. package/src/model/Utils.ts +6 -32
  201. package/src/view/BorderButton.tsx +32 -52
  202. package/src/view/BorderTab.tsx +70 -0
  203. package/src/view/BorderTabSet.tsx +64 -52
  204. package/src/view/DragContainer.tsx +32 -0
  205. package/src/view/Icons.tsx +6 -0
  206. package/src/view/Layout.tsx +1051 -1046
  207. package/src/view/Overlay.tsx +22 -0
  208. package/src/view/PopoutWindow.tsx +152 -0
  209. package/src/{PopupMenu.tsx → view/PopupMenu.tsx} +36 -31
  210. package/src/view/Row.tsx +68 -0
  211. package/src/view/SizeTracker.tsx +20 -0
  212. package/src/view/Splitter.tsx +167 -112
  213. package/src/view/Tab.tsx +76 -42
  214. package/src/view/TabButton.tsx +36 -55
  215. package/src/view/TabButtonStamp.tsx +5 -9
  216. package/src/view/TabOverflowHook.tsx +14 -9
  217. package/src/view/TabSet.tsx +217 -176
  218. package/src/view/Utils.tsx +119 -39
  219. package/style/_base.scss +140 -34
  220. package/style/dark.css +685 -580
  221. package/style/dark.css.map +1 -1
  222. package/style/dark.scss +3 -1
  223. package/style/gray.css +668 -563
  224. package/style/gray.css.map +1 -1
  225. package/style/gray.scss +2 -0
  226. package/style/light.css +669 -564
  227. package/style/light.css.map +1 -1
  228. package/style/light.scss +4 -2
  229. package/style/rounded.css +697 -0
  230. package/style/rounded.css.map +1 -0
  231. package/style/rounded.scss +194 -0
  232. package/style/underline.css +690 -585
  233. package/style/underline.css.map +1 -1
  234. package/style/underline.scss +2 -0
  235. package/cypress.config.ts +0 -16
  236. package/lib/DragDrop.js +0 -316
  237. package/lib/DragDrop.js.map +0 -1
  238. package/lib/PopupMenu.js +0 -68
  239. package/lib/PopupMenu.js.map +0 -1
  240. package/lib/model/SplitterNode.js +0 -72
  241. package/lib/model/SplitterNode.js.map +0 -1
  242. package/lib/view/FloatingWindow.js +0 -123
  243. package/lib/view/FloatingWindow.js.map +0 -1
  244. package/lib/view/FloatingWindowTab.js +0 -19
  245. package/lib/view/FloatingWindowTab.js.map +0 -1
  246. package/lib/view/TabFloating.js +0 -66
  247. package/lib/view/TabFloating.js.map +0 -1
  248. package/src/DragDrop.ts +0 -392
  249. package/src/model/SplitterNode.ts +0 -78
  250. package/src/view/FloatingWindow.tsx +0 -140
  251. package/src/view/FloatingWindowTab.tsx +0 -29
  252. package/src/view/TabFloating.tsx +0 -101
@@ -1 +0,0 @@
1
- {"version":3,"file":"FloatingWindow.js","sourceRoot":"","sources":["../../src/view/FloatingWindow.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,yCAAyC;AACzC,kCAA+B;AAC/B,oCAAmC;AAkBnC,gBAAgB;AACT,MAAM,cAAc,GAAG,CAAC,KAAoD,EAAE,EAAE;IACnF,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAM,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA0B,SAAS,CAAC,CAAC;IAEjF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACvB,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;QACD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,WAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,oFAAoF;QACpF,qFAAqF;QACrF,kEAAkE;QAClE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;YACjF,IAAI,KAAK,GAA4B,SAAS,CAAC;YAC/C,IAAI;gBACA,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC/B;YAAC,OAAO,CAAC,EAAE;gBACR,mDAAmD;aACtD;YAED,IAAI;gBACA,OAAO;oBACH,GAAG,MAAM;oBACT;wBACI,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;qBACpE;iBACJ,CAAC;aACL;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,MAAM,CAAC;aACjB;QACL,CAAC,EAAE,EAAmB,CAAC,CAAC;QACxB,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1G,IAAI,YAAY,CAAC,OAAO,KAAK,IAAI,EAAE;YAC/B,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtC,oDAAoD;YACpD,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE;gBACzC,IAAI,YAAY,CAAC,OAAO,EAAE;oBACtB,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC7B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC/B;YACL,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/C,IAAI,SAAS,EAAE;oBACX,MAAM,cAAc,GAAG,YAAY,CAAC,OAAQ,CAAC,QAAQ,CAAC;oBACtD,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC;oBAC7B,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1D,aAAa,CAAC,SAAS,GAAG,eAAO,CAAC,mCAAmC,CAAC;oBACtE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC/C,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBACzC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;oBAEH,kEAAkE;oBAClE,YAAY,CAAC,OAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE;wBACxD,aAAa,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;SACN;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAC7C,aAAa,CAAC,EAAE,CAAC,CAAC;SACrB;QAED,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,KAAK,CAAC;YAClB,qCAAqC;YACrC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,YAAY,CAAC,OAAO,EAAE;oBACtB,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC7B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC/B;YACL,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,OAAO,KAAK,SAAS,EAAE;QACvB,OAAO,IAAA,wBAAY,EAAC,QAAQ,EAAE,OAAQ,CAAC,CAAC;KAC3C;SAAM;QACH,OAAO,IAAI,CAAC;KACf;AACL,CAAC,CAAC;AAvFW,QAAA,cAAc,kBAuFzB;AAEF,gBAAgB;AAChB,SAAS,UAAU,CAAC,GAAa,EAAE,WAA0B;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QAClC,IAAI,UAAU,CAAC,IAAI,EAAE;YACjB,wDAAwD;YACxD,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YACpC,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC;YAChC,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC,IAAK,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/B,QAAQ,CAAC,IAAI,CACT,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpB,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC,CACL,CAAC;SACL;aAAM;YACH,IAAI,UAAU,CAAC,KAAK,EAAE;gBAClB,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;oBACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/C;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC3B;SACJ;KACJ;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FloatingWindowTab = void 0;
4
- const React = require("react");
5
- const ErrorBoundary_1 = require("./ErrorBoundary");
6
- const I18nLabel_1 = require("../I18nLabel");
7
- const react_1 = require("react");
8
- const Types_1 = require("../Types");
9
- /** @internal */
10
- const FloatingWindowTab = (props) => {
11
- const { layout, node, factory } = props;
12
- const cm = layout.getClassName;
13
- const child = factory(node);
14
- return (React.createElement("div", { className: cm(Types_1.CLASSES.FLEXLAYOUT__FLOATING_WINDOW_TAB) },
15
- React.createElement(ErrorBoundary_1.ErrorBoundary, { message: props.layout.i18nName(I18nLabel_1.I18nLabel.Error_rendering_component) },
16
- React.createElement(react_1.Fragment, null, child))));
17
- };
18
- exports.FloatingWindowTab = FloatingWindowTab;
19
- //# sourceMappingURL=FloatingWindowTab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FloatingWindowTab.js","sourceRoot":"","sources":["../../src/view/FloatingWindowTab.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAG/B,mDAAgD;AAChD,4CAAyC;AACzC,iCAAiC;AACjC,oCAAmC;AASnC,gBAAgB;AACT,MAAM,iBAAiB,GAAG,CAAC,KAA8B,EAAE,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,CACH,6BAAK,SAAS,EAAE,EAAE,CAAC,eAAO,CAAC,+BAA+B,CAAC;QACvD,oBAAC,6BAAa,IAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAS,CAAC,yBAAyB,CAAC;YAC9E,oBAAC,gBAAQ,QAAE,KAAK,CAAY,CAChB,CACd,CACT,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,iBAAiB,qBAY5B"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TabFloating = void 0;
4
- const React = require("react");
5
- const Actions_1 = require("../model/Actions");
6
- const TabSetNode_1 = require("../model/TabSetNode");
7
- const Types_1 = require("../Types");
8
- const I18nLabel_1 = require("../I18nLabel");
9
- const Utils_1 = require("./Utils");
10
- /** @internal */
11
- const TabFloating = (props) => {
12
- const { layout, selected, node, path } = props;
13
- const showPopout = () => {
14
- if (node.getWindow()) {
15
- node.getWindow().focus();
16
- }
17
- };
18
- const dockPopout = () => {
19
- layout.doAction(Actions_1.Actions.unFloatTab(node.getId()));
20
- };
21
- const onMouseDown = () => {
22
- const parent = node.getParent();
23
- if (parent.getType() === TabSetNode_1.TabSetNode.TYPE) {
24
- if (!parent.isActive()) {
25
- layout.doAction(Actions_1.Actions.setActiveTabset(parent.getId()));
26
- }
27
- }
28
- };
29
- const onClickFocus = (event) => {
30
- event.preventDefault();
31
- showPopout();
32
- };
33
- const onClickDock = (event) => {
34
- event.preventDefault();
35
- dockPopout();
36
- };
37
- const cm = layout.getClassName;
38
- const parentNode = node.getParent();
39
- const style = node._styleWithPosition();
40
- if (!selected) {
41
- (0, Utils_1.hideElement)(style, node.getModel().isUseVisibility());
42
- }
43
- if (parentNode instanceof TabSetNode_1.TabSetNode) {
44
- if (node.getModel().getMaximizedTabset() !== undefined && !parentNode.isMaximized()) {
45
- (0, Utils_1.hideElement)(style, node.getModel().isUseVisibility());
46
- }
47
- }
48
- const message = layout.i18nName(I18nLabel_1.I18nLabel.Floating_Window_Message);
49
- const showMessage = layout.i18nName(I18nLabel_1.I18nLabel.Floating_Window_Show_Window);
50
- const dockMessage = layout.i18nName(I18nLabel_1.I18nLabel.Floating_Window_Dock_Window);
51
- const customRenderCallback = layout.getOnRenderFloatingTabPlaceholder();
52
- if (customRenderCallback) {
53
- return (React.createElement("div", { className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_FLOATING), onMouseDown: onMouseDown, onTouchStart: onMouseDown, style: style }, customRenderCallback(dockPopout, showPopout)));
54
- }
55
- else {
56
- return (React.createElement("div", { className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_FLOATING), "data-layout-path": path, onMouseDown: onMouseDown, onTouchStart: onMouseDown, style: style },
57
- React.createElement("div", { className: cm(Types_1.CLASSES.FLEXLAYOUT__TAB_FLOATING_INNER) },
58
- React.createElement("div", null, message),
59
- React.createElement("div", null,
60
- React.createElement("a", { href: "#", onClick: onClickFocus }, showMessage)),
61
- React.createElement("div", null,
62
- React.createElement("a", { href: "#", onClick: onClickDock }, dockMessage)))));
63
- }
64
- };
65
- exports.TabFloating = TabFloating;
66
- //# sourceMappingURL=TabFloating.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabFloating.js","sourceRoot":"","sources":["../../src/view/TabFloating.tsx"],"names":[],"mappings":"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"}
package/src/DragDrop.ts DELETED
@@ -1,392 +0,0 @@
1
- import * as React from "react";
2
- import { Rect } from "./Rect";
3
-
4
- /** @internal */
5
- const canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
6
-
7
- export class DragDrop {
8
- static instance = new DragDrop();
9
-
10
- /** @internal */
11
- private _fDblClick: ((event: Event) => void) | undefined;
12
- /** @internal */
13
- private _fClick: ((event: Event) => void) | undefined;
14
- /** @internal */
15
- private _fDragEnd: ((event: Event) => void) | undefined;
16
- /** @internal */
17
- private _fDragMove: ((event: React.MouseEvent<Element>) => void) | undefined;
18
- /** @internal */
19
- private _fDragStart: ((pos: { clientX: number; clientY: number }) => boolean) | undefined;
20
- /** @internal */
21
- private _fDragCancel: ((wasDragging: boolean) => void) | undefined;
22
-
23
- /** @internal */
24
- private _glass: HTMLDivElement | undefined;
25
- /** @internal */
26
- private _defaultGlassCursor: string;
27
- /** @internal */
28
- private _glassCursorOverride: string | undefined;
29
- /** @internal */
30
- private _manualGlassManagement: boolean = false;
31
- /** @internal */
32
- private _lastClick: number;
33
- /** @internal */
34
- private _clickX: number;
35
- /** @internal */
36
- private _clickY: number;
37
- /** @internal */
38
- private _startX: number = 0;
39
- /** @internal */
40
- private _startY: number = 0;
41
- /** @internal */
42
- private _dragDepth: number = 0;
43
- /** @internal */
44
- private _glassShowing: boolean = false;
45
- /** @internal */
46
- private _dragging: boolean = false;
47
- /** @internal */
48
- private _active: boolean = false; // drag and drop is in progress, can be used on ios to prevent body scrolling (see demo)
49
- /** @internal */
50
- private _document?: Document;
51
- /** @internal */
52
- private _rootElement?: HTMLElement | undefined;
53
- /** @internal */
54
- private _lastEvent?: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element> | undefined;
55
-
56
- /** @internal */
57
- private constructor() {
58
- if (canUseDOM) {
59
- // check for serverside rendering
60
- this._glass = document.createElement("div");
61
- this._glass.style.zIndex = "998";
62
- this._glass.style.backgroundColor = "transparent";
63
- this._glass.style.outline = "none";
64
- }
65
-
66
- this._defaultGlassCursor = "default";
67
-
68
- this._onMouseMove = this._onMouseMove.bind(this);
69
- this._onMouseUp = this._onMouseUp.bind(this);
70
- this._onKeyPress = this._onKeyPress.bind(this);
71
- this._onDragCancel = this._onDragCancel.bind(this);
72
- this._onDragEnter = this._onDragEnter.bind(this);
73
- this._onDragLeave = this._onDragLeave.bind(this);
74
- this.resizeGlass = this.resizeGlass.bind(this);
75
-
76
- this._lastClick = 0;
77
- this._clickX = 0;
78
- this._clickY = 0;
79
- }
80
-
81
- // if you add the glass pane then you should remove it
82
- addGlass(fCancel: ((wasDragging: boolean) => void) | undefined) {
83
- if (!this._glassShowing) {
84
- if (!this._document) {
85
- this._document = window.document;
86
- }
87
- if (!this._rootElement) {
88
- this._rootElement = this._document.body;
89
- }
90
- this.resizeGlass();
91
- this._document.defaultView?.addEventListener('resize', this.resizeGlass);
92
- this._document.body.appendChild(this._glass!);
93
- this._glass!.tabIndex = -1;
94
- this._glass!.focus();
95
- this._glass!.addEventListener("keydown", this._onKeyPress);
96
- this._glass!.addEventListener("dragenter", this._onDragEnter, { passive: false });
97
- this._glass!.addEventListener("dragover", this._onMouseMove, { passive: false });
98
- this._glass!.addEventListener("dragleave", this._onDragLeave, { passive: false });
99
- this._glassShowing = true;
100
- this._fDragCancel = fCancel;
101
- this._manualGlassManagement = false;
102
- } else {
103
- // second call to addGlass (via dragstart)
104
- this._manualGlassManagement = true;
105
- }
106
- }
107
-
108
- resizeGlass() {
109
- const glassRect = Rect.fromElement(this._rootElement!);
110
- glassRect.positionElement(this._glass!, "fixed");
111
- }
112
-
113
- hideGlass() {
114
- if (this._glassShowing) {
115
- this._document!.body.removeChild(this._glass!);
116
- this._document!.defaultView?.removeEventListener('resize', this.resizeGlass);
117
- this._glassShowing = false;
118
- this._document = undefined;
119
- this._rootElement = undefined;
120
- this.setGlassCursorOverride(undefined);
121
- }
122
- }
123
-
124
- /** @internal */
125
- _updateGlassCursor() {
126
- this._glass!.style.cursor = this._glassCursorOverride ?? this._defaultGlassCursor;
127
- }
128
-
129
- /** @internal */
130
- _setDefaultGlassCursor(cursor: string) {
131
- this._defaultGlassCursor = cursor;
132
- this._updateGlassCursor()
133
- }
134
-
135
- setGlassCursorOverride(cursor: string | undefined) {
136
- this._glassCursorOverride = cursor;
137
- this._updateGlassCursor()
138
- }
139
-
140
- startDrag(
141
- event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element> | undefined,
142
- fDragStart: ((pos: { clientX: number; clientY: number }) => boolean) | undefined,
143
- fDragMove: ((event: React.MouseEvent<Element>) => void) | undefined,
144
- fDragEnd: ((event: Event) => void) | undefined,
145
- fDragCancel?: ((wasDragging: boolean) => void) | undefined,
146
- fClick?: ((event: Event) => void) | undefined,
147
- fDblClick?: ((event: Event) => void) | undefined,
148
- currentDocument?: Document,
149
- rootElement?: HTMLDivElement
150
- ) {
151
- // prevent 'duplicate' action (mouse event for same action as previous touch event (a fix for ios))
152
- if (event && this._lastEvent && this._lastEvent.type.startsWith("touch") && event.type.startsWith("mouse") && event.timeStamp - this._lastEvent.timeStamp < 500) {
153
- return;
154
- }
155
-
156
- if (this._dragging) {
157
- return;
158
- }
159
-
160
- this._lastEvent = event;
161
-
162
- if (currentDocument) {
163
- this._document = currentDocument;
164
- } else {
165
- this._document = window.document;
166
- }
167
- if (rootElement) {
168
- this._rootElement = rootElement;
169
- } else {
170
- this._rootElement = this._document.body;
171
- }
172
-
173
- const posEvent = this._getLocationEvent(event);
174
- this.addGlass(fDragCancel);
175
-
176
- if (event) {
177
- this._startX = posEvent.clientX;
178
- this._startY = posEvent.clientY;
179
- if (!window.matchMedia || window.matchMedia("(pointer: fine)").matches) {
180
- this._setDefaultGlassCursor(getComputedStyle(event.target as Element).cursor);
181
- }
182
- this._stopPropagation(event);
183
- this._preventDefault(event);
184
- } else {
185
- this._startX = 0;
186
- this._startY = 0;
187
- this._setDefaultGlassCursor("default");
188
- }
189
-
190
- this._dragging = false;
191
- this._fDragStart = fDragStart;
192
- this._fDragMove = fDragMove;
193
- this._fDragEnd = fDragEnd;
194
- this._fDragCancel = fDragCancel;
195
- this._fClick = fClick;
196
- this._fDblClick = fDblClick;
197
-
198
- this._active = true;
199
-
200
- if (event?.type === 'dragenter') {
201
- this._dragDepth = 1;
202
- this._rootElement.addEventListener("dragenter", this._onDragEnter, { passive: false });
203
- this._rootElement.addEventListener("dragover", this._onMouseMove, { passive: false });
204
- this._rootElement.addEventListener("dragleave", this._onDragLeave, { passive: false });
205
- this._document.addEventListener("dragend", this._onDragCancel, { passive: false });
206
- this._document.addEventListener("drop", this._onMouseUp, { passive: false });
207
- } else {
208
- this._document.addEventListener("mouseup", this._onMouseUp, { passive: false });
209
- this._document.addEventListener("mousemove", this._onMouseMove, { passive: false });
210
- this._document.addEventListener("touchend", this._onMouseUp, { passive: false });
211
- this._document.addEventListener("touchmove", this._onMouseMove, { passive: false });
212
- }
213
- }
214
-
215
- isDragging() {
216
- return this._dragging;
217
- }
218
-
219
- isActive() {
220
- return this._active;
221
- }
222
-
223
- toString() {
224
- const rtn = "(DragDrop: " + "startX=" + this._startX + ", startY=" + this._startY + ", dragging=" + this._dragging + ")";
225
-
226
- return rtn;
227
- }
228
-
229
- /** @internal */
230
- private _onKeyPress(event: KeyboardEvent) {
231
- if (event.code === 'Escape') {
232
- // esc
233
- this._onDragCancel();
234
- }
235
- }
236
-
237
- /** @internal */
238
- private _onDragCancel() {
239
- this._rootElement!.removeEventListener("dragenter", this._onDragEnter);
240
- this._rootElement!.removeEventListener("dragover", this._onMouseMove);
241
- this._rootElement!.removeEventListener("dragleave", this._onDragLeave);
242
- this._document!.removeEventListener("dragend", this._onDragCancel);
243
- this._document!.removeEventListener("drop", this._onMouseUp);
244
- this._document!.removeEventListener("mousemove", this._onMouseMove);
245
- this._document!.removeEventListener("mouseup", this._onMouseUp);
246
- this._document!.removeEventListener("touchend", this._onMouseUp);
247
- this._document!.removeEventListener("touchmove", this._onMouseMove);
248
- this.hideGlass();
249
- if (this._fDragCancel !== undefined) {
250
- this._fDragCancel(this._dragging);
251
- }
252
- this._dragging = false;
253
- this._active = false;
254
- }
255
-
256
- /** @internal */
257
- private _getLocationEvent(event: any) {
258
- let posEvent: any = event;
259
- if (event && event.touches) {
260
- posEvent = event.touches[0];
261
- }
262
- return posEvent;
263
- }
264
-
265
- /** @internal */
266
- private _getLocationEventEnd(event: any) {
267
- let posEvent: any = event;
268
- if (event.changedTouches) {
269
- posEvent = event.changedTouches[0];
270
- }
271
- return posEvent;
272
- }
273
-
274
- /** @internal */
275
- private _stopPropagation(event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element>) {
276
- if (event.stopPropagation) {
277
- event.stopPropagation();
278
- }
279
- }
280
-
281
- /** @internal */
282
- private _preventDefault(event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element>) {
283
- if (event.preventDefault && event.cancelable) {
284
- event.preventDefault();
285
- }
286
- return event;
287
- }
288
-
289
- /** @internal */
290
- private _onMouseMove(event: Event | React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement> | React.DragEvent<Element>) {
291
- this._lastEvent = event;
292
-
293
- const posEvent = this._getLocationEvent(event);
294
- this._stopPropagation(event);
295
- this._preventDefault(event);
296
-
297
- if (!this._dragging && (Math.abs(this._startX - posEvent.clientX) > 5 || Math.abs(this._startY - posEvent.clientY) > 5)) {
298
- this._dragging = true;
299
- if (this._fDragStart) {
300
- this._setDefaultGlassCursor("move");
301
- this._dragging = this._fDragStart({ clientX: this._startX, clientY: this._startY });
302
- }
303
- }
304
-
305
- if (this._dragging) {
306
- if (this._fDragMove) {
307
- this._fDragMove(posEvent);
308
- }
309
- }
310
- return false;
311
- }
312
-
313
- /** @internal */
314
- private _onMouseUp(event: Event) {
315
- this._lastEvent = event;
316
-
317
- const posEvent = this._getLocationEventEnd(event);
318
-
319
- this._stopPropagation(event);
320
- this._preventDefault(event);
321
-
322
- this._active = false;
323
-
324
- this._rootElement!.removeEventListener("dragenter", this._onDragEnter);
325
- this._rootElement!.removeEventListener("dragover", this._onMouseMove);
326
- this._rootElement!.removeEventListener("dragleave", this._onDragLeave);
327
- this._document!.removeEventListener("dragend", this._onDragCancel);
328
- this._document!.removeEventListener("drop", this._onMouseUp);
329
- this._document!.removeEventListener("mousemove", this._onMouseMove);
330
- this._document!.removeEventListener("mouseup", this._onMouseUp);
331
- this._document!.removeEventListener("touchend", this._onMouseUp);
332
- this._document!.removeEventListener("touchmove", this._onMouseMove);
333
-
334
- if (!this._manualGlassManagement) {
335
- this.hideGlass();
336
- }
337
-
338
- if (this._dragging) {
339
- this._dragging = false;
340
- if (this._fDragEnd) {
341
- this._fDragEnd(event);
342
- }
343
- // dump("set dragging = false\n");
344
- } else {
345
- if (this._fDragCancel) {
346
- this._fDragCancel(this._dragging);
347
- }
348
- if (Math.abs(this._startX - posEvent.clientX) <= 5 && Math.abs(this._startY - posEvent.clientY) <= 5) {
349
-
350
- let isDoubleClick = false;
351
- const clickTime = new Date().getTime();
352
- // check for double click
353
- if (Math.abs(this._clickX - posEvent.clientX) <= 5 && Math.abs(this._clickY - posEvent.clientY) <= 5) {
354
- if (clickTime - this._lastClick < 500) {
355
- if (this._fDblClick) {
356
- this._fDblClick(event);
357
- isDoubleClick = true;
358
- }
359
- }
360
- }
361
-
362
- if (!isDoubleClick && this._fClick) {
363
- this._fClick(event);
364
- }
365
-
366
- this._lastClick = clickTime;
367
- this._clickX = posEvent.clientX;
368
- this._clickY = posEvent.clientY;
369
- }
370
- }
371
- return false;
372
- }
373
-
374
- /** @internal */
375
- private _onDragEnter(event: DragEvent) {
376
- this._preventDefault(event);
377
- this._stopPropagation(event);
378
- this._dragDepth++;
379
- return false;
380
- }
381
-
382
- /** @internal */
383
- private _onDragLeave(event: DragEvent) {
384
- this._preventDefault(event);
385
- this._stopPropagation(event);
386
- this._dragDepth--;
387
- if (this._dragDepth <= 0) {
388
- this._onDragCancel();
389
- }
390
- return false;
391
- }
392
- }
@@ -1,78 +0,0 @@
1
- import { AttributeDefinitions } from "../AttributeDefinitions";
2
- import { Orientation } from "../Orientation";
3
- import { Model } from "./Model";
4
- import { Node } from "./Node";
5
-
6
- export class SplitterNode extends Node {
7
- static readonly TYPE: string = "splitter";
8
-
9
- /** @internal */
10
- constructor(model: Model) {
11
- super(model);
12
- this._fixed = true;
13
- this._attributes.type = SplitterNode.TYPE;
14
- model._addNode(this);
15
- }
16
-
17
- /** @internal */
18
- getWidth() {
19
- return this._model.getSplitterSize();
20
- }
21
-
22
- /** @internal */
23
- getMinWidth() {
24
- if (this.getOrientation() === Orientation.VERT) {
25
- return this._model.getSplitterSize();
26
- } else {
27
- return 0;
28
- }
29
- }
30
-
31
- /** @internal */
32
- getHeight() {
33
- return this._model.getSplitterSize();
34
- }
35
-
36
- /** @internal */
37
- getMinHeight() {
38
- if (this.getOrientation() === Orientation.HORZ) {
39
- return this._model.getSplitterSize();
40
- } else {
41
- return 0;
42
- }
43
- }
44
-
45
- /** @internal */
46
- getMinSize(orientation: Orientation) {
47
- if (orientation === Orientation.HORZ) {
48
- return this.getMinWidth();
49
- } else {
50
- return this.getMinHeight();
51
- }
52
- }
53
-
54
- /** @internal */
55
- getWeight(): number {
56
- return 0;
57
- }
58
-
59
- /** @internal */
60
- _setWeight(value: number): void { }
61
-
62
- /** @internal */
63
- _getPrefSize(orientation: Orientation): number {
64
- return this._model.getSplitterSize();
65
- }
66
-
67
- /** @internal */
68
- _updateAttrs(json: any): void { }
69
-
70
- /** @internal */
71
- _getAttributeDefinitions(): AttributeDefinitions {
72
- return new AttributeDefinitions();
73
- }
74
-
75
- toJson(): undefined {
76
- return undefined;
77
- }
78
- }