flexlayout-react 0.8.12 → 0.8.14

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 (307) 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 +35 -26
  40. package/ChangeLog.txt +0 -372
  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/src/Attribute.ts +0 -64
  266. package/src/AttributeDefinitions.ts +0 -144
  267. package/src/DockLocation.ts +0 -133
  268. package/src/DropInfo.ts +0 -20
  269. package/src/I18nLabel.ts +0 -12
  270. package/src/Orientation.ts +0 -28
  271. package/src/Rect.ts +0 -147
  272. package/src/Types.ts +0 -112
  273. package/src/index.ts +0 -23
  274. package/src/model/Action.ts +0 -9
  275. package/src/model/Actions.ts +0 -188
  276. package/src/model/BorderNode.ts +0 -458
  277. package/src/model/BorderSet.ts +0 -87
  278. package/src/model/ICloseType.ts +0 -5
  279. package/src/model/IDraggable.ts +0 -7
  280. package/src/model/IDropTarget.ts +0 -14
  281. package/src/model/IJsonModel.ts +0 -967
  282. package/src/model/LayoutWindow.ts +0 -119
  283. package/src/model/Model.ts +0 -704
  284. package/src/model/Node.ts +0 -280
  285. package/src/model/RowNode.ts +0 -559
  286. package/src/model/TabNode.ts +0 -424
  287. package/src/model/TabSetNode.ts +0 -592
  288. package/src/model/Utils.ts +0 -52
  289. package/src/view/BorderButton.tsx +0 -201
  290. package/src/view/BorderTab.tsx +0 -81
  291. package/src/view/BorderTabSet.tsx +0 -259
  292. package/src/view/DragContainer.tsx +0 -32
  293. package/src/view/ErrorBoundary.tsx +0 -42
  294. package/src/view/Icons.tsx +0 -57
  295. package/src/view/Layout.tsx +0 -1334
  296. package/src/view/Overlay.tsx +0 -21
  297. package/src/view/PopoutWindow.tsx +0 -152
  298. package/src/view/PopupMenu.tsx +0 -156
  299. package/src/view/Row.tsx +0 -68
  300. package/src/view/SizeTracker.tsx +0 -20
  301. package/src/view/Splitter.tsx +0 -262
  302. package/src/view/Tab.tsx +0 -128
  303. package/src/view/TabButton.tsx +0 -200
  304. package/src/view/TabButtonStamp.tsx +0 -42
  305. package/src/view/TabOverflowHook.tsx +0 -305
  306. package/src/view/TabSet.tsx +0 -475
  307. package/src/view/Utils.tsx +0 -135
@@ -1,9 +1,35 @@
1
+ import { AttributeDefinitions } from "../AttributeDefinitions";
2
+ import { DockLocation } from "../DockLocation";
3
+ import { DropInfo } from "../DropInfo";
4
+ import { Orientation } from "../Orientation";
5
+ import { Rect } from "../Rect";
1
6
  import { IDraggable } from "./IDraggable";
2
7
  import { IDropTarget } from "./IDropTarget";
3
8
  import { IJsonTabSetNode } from "./IJsonModel";
9
+ import { LayoutWindow } from "./LayoutWindow";
10
+ import { Model } from "./Model";
4
11
  import { Node } from "./Node";
12
+ import { TabNode } from "./TabNode";
5
13
  export declare class TabSetNode extends Node implements IDraggable, IDropTarget {
6
14
  static readonly TYPE = "tabset";
15
+ /** @internal */
16
+ static fromJson(json: any, model: Model, layoutWindow: LayoutWindow): TabSetNode;
17
+ /** @internal */
18
+ private static attributeDefinitions;
19
+ /** @internal */
20
+ private tabStripRect;
21
+ /** @internal */
22
+ private contentRect;
23
+ /** @internal */
24
+ private calculatedMinHeight;
25
+ /** @internal */
26
+ private calculatedMinWidth;
27
+ /** @internal */
28
+ private calculatedMaxHeight;
29
+ /** @internal */
30
+ private calculatedMaxWidth;
31
+ /** @internal */
32
+ constructor(model: Model, json: any);
7
33
  getName(): string | undefined;
8
34
  isEnableActiveIcon(): boolean;
9
35
  getSelected(): number;
@@ -13,10 +39,14 @@ export declare class TabSetNode extends Node implements IDraggable, IDropTarget
13
39
  getAttrMinHeight(): number;
14
40
  getMinWidth(): number;
15
41
  getMinHeight(): number;
42
+ /** @internal */
43
+ getMinSize(orientation: Orientation): number;
16
44
  getAttrMaxWidth(): number;
17
45
  getAttrMaxHeight(): number;
18
46
  getMaxWidth(): number;
19
47
  getMaxHeight(): number;
48
+ /** @internal */
49
+ getMaxSize(orientation: Orientation): number;
20
50
  /**
21
51
  * Returns the config attribute that can be used to store node specific data that
22
52
  * WILL be saved to the json. The config attribute should be changed via the action Actions.updateNodeAttributes rather
@@ -41,5 +71,35 @@ export declare class TabSetNode extends Node implements IDraggable, IDropTarget
41
71
  getClassNameTabStrip(): string | undefined;
42
72
  getTabLocation(): string;
43
73
  toJson(): IJsonTabSetNode;
74
+ /** @internal */
75
+ calcMinMaxSize(): void;
76
+ /** @internal */
77
+ canMaximize(): boolean;
78
+ /** @internal */
79
+ setContentRect(rect: Rect): void;
80
+ /** @internal */
81
+ getContentRect(): Rect;
82
+ /** @internal */
83
+ setTabStripRect(rect: Rect): void;
84
+ /** @internal */
85
+ setWeight(weight: number): void;
86
+ /** @internal */
87
+ setSelected(index: number): void;
44
88
  getWindowId(): string;
89
+ /** @internal */
90
+ canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
91
+ /** @internal */
92
+ delete(): void;
93
+ /** @internal */
94
+ remove(node: TabNode): void;
95
+ /** @internal */
96
+ drop(dragNode: Node, location: DockLocation, index: number, select?: boolean): void;
97
+ /** @internal */
98
+ updateAttrs(json: any): void;
99
+ /** @internal */
100
+ getAttributeDefinitions(): AttributeDefinitions;
101
+ /** @internal */
102
+ static getAttributeDefinitions(): AttributeDefinitions;
103
+ /** @internal */
104
+ private static createAttributeDefinitions;
45
105
  }
@@ -1 +1,9 @@
1
+ import { TabSetNode } from "./TabSetNode";
2
+ import { BorderNode } from "./BorderNode";
3
+ import { RowNode } from "./RowNode";
4
+ import { TabNode } from "./TabNode";
5
+ /** @internal */
6
+ export declare function adjustSelectedIndexAfterDock(node: TabNode): void;
7
+ /** @internal */
8
+ export declare function adjustSelectedIndex(parent: TabSetNode | BorderNode | RowNode, removedIndex: number): void;
1
9
  export declare function randomUUID(): string;
@@ -1 +1,13 @@
1
- export {};
1
+ import { TabNode } from "../model/TabNode";
2
+ import { IIcons, LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface IBorderButtonProps {
5
+ layout: LayoutInternal;
6
+ node: TabNode;
7
+ selected: boolean;
8
+ border: string;
9
+ icons: IIcons;
10
+ path: string;
11
+ }
12
+ /** @internal */
13
+ export declare const BorderButton: (props: IBorderButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,9 @@
1
+ import { LayoutInternal } from "./Layout";
2
+ import { BorderNode } from "../model/BorderNode";
3
+ /** @internal */
4
+ export interface IBorderTabProps {
5
+ layout: LayoutInternal;
6
+ border: BorderNode;
7
+ show: boolean;
8
+ }
1
9
  export declare function BorderTab(props: IBorderTabProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1,10 @@
1
- export {};
1
+ import { BorderNode } from "../model/BorderNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface IBorderTabSetProps {
5
+ border: BorderNode;
6
+ layout: LayoutInternal;
7
+ size: number;
8
+ }
9
+ /** @internal */
10
+ export declare const BorderTabSet: (props: IBorderTabSetProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,9 @@
1
- export {};
1
+ import { TabNode } from "../model/TabNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface IDragContainerProps {
5
+ node: TabNode;
6
+ layout: LayoutInternal;
7
+ }
8
+ /** @internal */
9
+ export declare const DragContainer: (props: IDragContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,22 @@
1
- export {};
1
+ import * as React from "react";
2
+ import { ErrorInfo } from "react";
3
+ /** @internal */
4
+ export interface IErrorBoundaryProps {
5
+ message: string;
6
+ retryText: string;
7
+ children: React.ReactNode;
8
+ }
9
+ /** @internal */
10
+ export interface IErrorBoundaryState {
11
+ hasError: boolean;
12
+ }
13
+ /** @internal */
14
+ export declare class ErrorBoundary extends React.Component<IErrorBoundaryProps, IErrorBoundaryState> {
15
+ constructor(props: IErrorBoundaryProps);
16
+ static getDerivedStateFromError(error: Error): {
17
+ hasError: boolean;
18
+ };
19
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
20
+ retry: () => void;
21
+ render(): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
22
+ }
@@ -5,3 +5,4 @@ export declare const EdgeIcon: () => import("react/jsx-runtime").JSX.Element;
5
5
  export declare const PopoutIcon: () => import("react/jsx-runtime").JSX.Element;
6
6
  export declare const RestoreIcon: () => import("react/jsx-runtime").JSX.Element;
7
7
  export declare const AsterickIcon: () => import("react/jsx-runtime").JSX.Element;
8
+ export declare const AddIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,16 @@
1
1
  import * as React from "react";
2
+ import { DockLocation } from "../DockLocation";
2
3
  import { I18nLabel } from "../I18nLabel";
4
+ import { Rect } from "../Rect";
3
5
  import { Action } from "../model/Action";
4
6
  import { BorderNode } from "../model/BorderNode";
7
+ import { IDraggable } from "../model/IDraggable";
5
8
  import { IJsonTabNode } from "../model/IJsonModel";
6
9
  import { Model } from "../model/Model";
7
10
  import { Node } from "../model/Node";
8
11
  import { TabNode } from "../model/TabNode";
9
12
  import { TabSetNode } from "../model/TabSetNode";
13
+ import { LayoutWindow } from "../model/LayoutWindow";
10
14
  export interface ILayoutProps {
11
15
  /** the model for this layout */
12
16
  model: Model;
@@ -56,6 +60,12 @@ export interface ILayoutProps {
56
60
  * A React component that hosts a multi-tabbed layout
57
61
  */
58
62
  export declare class Layout extends React.Component<ILayoutProps> {
63
+ /** @internal */
64
+ private selfRef;
65
+ /** @internal */
66
+ private revision;
67
+ /** @internal */
68
+ constructor(props: ILayoutProps);
59
69
  /** re-render the layout */
60
70
  redraw(): void;
61
71
  /**
@@ -97,8 +107,126 @@ export declare class Layout extends React.Component<ILayoutProps> {
97
107
  setDragComponent(event: DragEvent, component: React.ReactNode, x: number, y: number): void;
98
108
  /** Get the root div element of the layout */
99
109
  getRootDiv(): HTMLDivElement | null;
110
+ /** @internal */
111
+ render(): import("react/jsx-runtime").JSX.Element;
100
112
  }
101
- export declare const FlexLayoutVersion = "0.8.12";
113
+ /** @internal */
114
+ interface ILayoutInternalProps extends ILayoutProps {
115
+ renderRevision: number;
116
+ windowId?: string;
117
+ mainLayout?: LayoutInternal;
118
+ }
119
+ /** @internal */
120
+ interface ILayoutInternalState {
121
+ rect: Rect;
122
+ editingTab?: TabNode;
123
+ portal?: React.ReactPortal;
124
+ showEdges: boolean;
125
+ showOverlay: boolean;
126
+ calculatedBorderBarSize: number;
127
+ layoutRevision: number;
128
+ forceRevision: number;
129
+ showHiddenBorder: DockLocation;
130
+ }
131
+ /** @internal */
132
+ export declare class LayoutInternal extends React.Component<ILayoutInternalProps, ILayoutInternalState> {
133
+ static dragState: DragState | undefined;
134
+ private selfRef;
135
+ private moveablesRef;
136
+ private findBorderBarSizeRef;
137
+ private mainRef;
138
+ private previousModel?;
139
+ private orderedTabIds;
140
+ private orderedTabMoveableIds;
141
+ private moveableElementMap;
142
+ private dropInfo;
143
+ private outlineDiv?;
144
+ private currentDocument?;
145
+ private currentWindow?;
146
+ private supportsPopout;
147
+ private popoutURL;
148
+ private icons;
149
+ private resizeObserver?;
150
+ private dragEnterCount;
151
+ private dragging;
152
+ private windowId;
153
+ private layoutWindow;
154
+ private mainLayout;
155
+ private isMainWindow;
156
+ private isDraggingOverWindow;
157
+ private styleObserver;
158
+ private popoutWindowName;
159
+ constructor(props: ILayoutInternalProps);
160
+ componentDidMount(): void;
161
+ componentDidUpdate(): void;
162
+ componentWillUnmount(): void;
163
+ render(): import("react/jsx-runtime").JSX.Element;
164
+ renderBorders(inner: React.ReactNode): import("react/jsx-runtime").JSX.Element;
165
+ renderLayout(): import("react/jsx-runtime").JSX.Element;
166
+ renderEdgeIndicators(): React.ReactNode[];
167
+ renderWindows(): React.ReactNode[];
168
+ renderTabMoveables(): Map<string, React.ReactNode>;
169
+ renderTabStamps(): React.ReactNode[];
170
+ renderTabs(): Map<string, React.ReactNode>;
171
+ renderMetricsElements(): import("react/jsx-runtime").JSX.Element;
172
+ checkForBorderToShow(x: number, y: number): void;
173
+ updateLayoutMetrics: () => void;
174
+ tidyMoveablesMap(): void;
175
+ reorderComponents(components: Map<string, React.ReactNode>, ids: string[]): React.ReactNode[];
176
+ onModelChange: (action: Action) => void;
177
+ redraw(type?: string): void;
178
+ redrawInternal(type: string): void;
179
+ doAction(action: Action): Node | undefined;
180
+ updateRect: () => void;
181
+ getBoundingClientRect(div: HTMLElement): Rect;
182
+ getMoveableContainer(): HTMLDivElement | null;
183
+ getMoveableElement(id: string): HTMLElement;
184
+ getMainLayout(): LayoutInternal;
185
+ getClassName: (defaultClassName: string) => string;
186
+ getCurrentDocument(): Document | undefined;
187
+ getDomRect(): Rect;
188
+ getWindowId(): string;
189
+ getRootDiv(): HTMLDivElement | null;
190
+ getMainElement(): HTMLDivElement | null;
191
+ getFactory(): (node: TabNode) => React.ReactNode;
192
+ isSupportsPopout(): boolean;
193
+ isRealtimeResize(): boolean;
194
+ getPopoutURL(): string;
195
+ setEditingTab(tabNode?: TabNode): void;
196
+ getEditingTab(): TabNode | undefined;
197
+ getModel(): Model;
198
+ onCloseWindow: (windowLayout: LayoutWindow) => void;
199
+ onSetWindow: (windowLayout: LayoutWindow, window: Window) => void;
200
+ getScreenRect(inRect: Rect): Rect;
201
+ addTabToTabSet(tabsetId: string, json: IJsonTabNode): TabNode | undefined;
202
+ addTabToActiveTabSet(json: IJsonTabNode): TabNode | undefined;
203
+ showControlInPortal: (control: React.ReactNode, element: HTMLElement) => void;
204
+ hideControlInPortal: () => void;
205
+ getIcons: () => IIcons;
206
+ maximize(tabsetNode: TabSetNode): void;
207
+ customizeTab(tabNode: TabNode, renderValues: ITabRenderValues): void;
208
+ customizeTabSet(tabSetNode: TabSetNode | BorderNode, renderValues: ITabSetRenderValues): void;
209
+ i18nName(id: I18nLabel, param?: string): string;
210
+ getShowOverflowMenu(): ShowOverflowMenuCallback | undefined;
211
+ getTabSetPlaceHolderCallback(): TabSetPlaceHolderCallback | undefined;
212
+ showContextMenu(node: TabNode | TabSetNode | BorderNode, event: React.MouseEvent<HTMLElement, MouseEvent>): void;
213
+ auxMouseClick(node: TabNode | TabSetNode | BorderNode, event: React.MouseEvent<HTMLElement, MouseEvent>): void;
214
+ showOverlay(show: boolean): void;
215
+ addTabWithDragAndDrop(event: DragEvent, json: IJsonTabNode, onDrop?: (node?: Node, event?: React.DragEvent<HTMLElement>) => void): void;
216
+ moveTabWithDragAndDrop(event: DragEvent, node: (TabNode | TabSetNode)): void;
217
+ setDragNode: (event: DragEvent, node: Node & IDraggable) => void;
218
+ setDragComponent(event: DragEvent, component: React.ReactNode, x: number, y: number): void;
219
+ setDraggingOverWindow(overWindow: boolean): void;
220
+ onDragEnterRaw: (event: React.DragEvent<HTMLElement>) => void;
221
+ onDragLeaveRaw: (event: React.DragEvent<HTMLElement>) => void;
222
+ clearDragMain(): void;
223
+ clearDragLocal(): void;
224
+ onDragEnter: (event: React.DragEvent<HTMLElement>) => void;
225
+ onDragOver: (event: React.DragEvent<HTMLElement>) => void;
226
+ onDragLeave: (event: React.DragEvent<HTMLElement>) => void;
227
+ onDrop: (event: React.DragEvent<HTMLElement>) => void;
228
+ }
229
+ export declare const FlexLayoutVersion = "0.8.14";
102
230
  export type DragRectRenderCallback = (content: React.ReactNode | undefined, node?: Node, json?: IJsonTabNode) => React.ReactNode | undefined;
103
231
  export type NodeMouseEvent = (node: TabNode | TabSetNode | BorderNode, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
104
232
  export type ShowOverflowMenuCallback = (node: TabSetNode | BorderNode, mouseEvent: React.MouseEvent<HTMLElement, MouseEvent>, items: {
@@ -140,3 +268,17 @@ export interface IIcons {
140
268
  edgeArrow?: React.ReactNode;
141
269
  activeTabset?: (React.ReactNode | ((tabSetNode: TabSetNode) => React.ReactNode));
142
270
  }
271
+ declare enum DragSource {
272
+ Internal = "internal",
273
+ External = "external",
274
+ Add = "add"
275
+ }
276
+ declare class DragState {
277
+ readonly mainLayout: LayoutInternal;
278
+ readonly dragSource: DragSource;
279
+ readonly dragNode: Node & IDraggable | undefined;
280
+ readonly dragJson: IJsonTabNode | undefined;
281
+ readonly fnNewNodeDropped: ((node?: Node, event?: React.DragEvent<HTMLElement>) => void) | undefined;
282
+ constructor(mainLayout: LayoutInternal, dragSource: DragSource, dragNode: Node & IDraggable | undefined, dragJson: IJsonTabNode | undefined, fnNewNodeDropped: ((node?: Node, event?: React.DragEvent<HTMLElement>) => void) | undefined);
283
+ }
284
+ export {};
@@ -1 +1,8 @@
1
- export {};
1
+ import { LayoutInternal } from "./Layout";
2
+ /** @internal */
3
+ export interface IOverlayProps {
4
+ layout: LayoutInternal;
5
+ show: boolean;
6
+ }
7
+ /** @internal */
8
+ export declare const Overlay: (props: IOverlayProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,14 @@
1
- export {};
1
+ import * as React from "react";
2
+ import { LayoutInternal } from "./Layout";
3
+ import { LayoutWindow } from "../model/LayoutWindow";
4
+ /** @internal */
5
+ export interface IPopoutWindowProps {
6
+ title: string;
7
+ layout: LayoutInternal;
8
+ layoutWindow: LayoutWindow;
9
+ url: string;
10
+ onCloseWindow: (layoutWindow: LayoutWindow) => void;
11
+ onSetWindow: (layoutWindow: LayoutWindow, window: Window) => void;
12
+ }
13
+ /** @internal */
14
+ export declare const PopoutWindow: (props: React.PropsWithChildren<IPopoutWindowProps>) => React.ReactPortal | null;
@@ -1 +1,12 @@
1
- export {};
1
+ import { TabNode } from "../model/TabNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ import { TabSetNode } from "../model/TabSetNode";
4
+ import { BorderNode } from "../model/BorderNode";
5
+ /** @internal */
6
+ export declare function showPopup(triggerElement: Element, parentNode: TabSetNode | BorderNode, items: {
7
+ index: number;
8
+ node: TabNode;
9
+ }[], onSelect: (item: {
10
+ index: number;
11
+ node: TabNode;
12
+ }) => void, layout: LayoutInternal): void;
@@ -1 +1,9 @@
1
- export {};
1
+ import { RowNode } from "../model/RowNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface IRowProps {
5
+ layout: LayoutInternal;
6
+ node: RowNode;
7
+ }
8
+ /** @internal */
9
+ export declare const Row: (props: IRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,14 @@
1
- export {};
1
+ import { BorderNode } from "../model/BorderNode";
2
+ import { RowNode } from "../model/RowNode";
3
+ import { LayoutInternal } from "./Layout";
4
+ /** @internal */
5
+ export interface ISplitterProps {
6
+ layout: LayoutInternal;
7
+ node: RowNode | BorderNode;
8
+ index: number;
9
+ horizontal: boolean;
10
+ }
11
+ /** @internal */
12
+ export declare let splitterDragging: boolean;
13
+ /** @internal */
14
+ export declare const Splitter: (props: ISplitterProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,11 @@
1
- export {};
1
+ import { TabNode } from "../model/TabNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface ITabProps {
5
+ layout: LayoutInternal;
6
+ node: TabNode;
7
+ selected: boolean;
8
+ path: string;
9
+ }
10
+ /** @internal */
11
+ export declare const Tab: (props: ITabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,11 @@
1
- export {};
1
+ import { TabNode } from "../model/TabNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface ITabButtonProps {
5
+ layout: LayoutInternal;
6
+ node: TabNode;
7
+ selected: boolean;
8
+ path: string;
9
+ }
10
+ /** @internal */
11
+ export declare const TabButton: (props: ITabButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,9 @@
1
- export {};
1
+ import { TabNode } from "../model/TabNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface ITabButtonStampProps {
5
+ node: TabNode;
6
+ layout: LayoutInternal;
7
+ }
8
+ /** @internal */
9
+ export declare const TabButtonStamp: (props: ITabButtonStampProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,16 @@
1
- export {};
1
+ import * as React from "react";
2
+ import { TabSetNode } from "../model/TabSetNode";
3
+ import { BorderNode } from "../model/BorderNode";
4
+ import { Orientation } from "../Orientation";
5
+ import { LayoutInternal } from "./Layout";
6
+ /** @internal */
7
+ export declare const useTabOverflow: (layout: LayoutInternal, node: TabSetNode | BorderNode, orientation: Orientation, tabStripRef: React.RefObject<HTMLElement | null>, miniScrollRef: React.RefObject<HTMLElement | null>, tabClassName: string) => {
8
+ selfRef: React.RefObject<HTMLDivElement | null>;
9
+ userControlledPositionRef: React.RefObject<boolean>;
10
+ onScroll: () => void;
11
+ onScrollPointerDown: (event: React.PointerEvent<HTMLElement>) => void;
12
+ hiddenTabs: number[];
13
+ onMouseWheel: (event: React.WheelEvent<HTMLElement>) => void;
14
+ isDockStickyButtons: boolean;
15
+ isShowHiddenTabs: boolean;
16
+ };
@@ -1 +1,9 @@
1
- export {};
1
+ import { TabSetNode } from "../model/TabSetNode";
2
+ import { LayoutInternal } from "./Layout";
3
+ /** @internal */
4
+ export interface ITabSetProps {
5
+ layout: LayoutInternal;
6
+ node: TabSetNode;
7
+ }
8
+ /** @internal */
9
+ export declare const TabSet: (props: ITabSetProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,18 @@
1
1
  import * as React from "react";
2
2
  import { Node } from "../model/Node";
3
+ import { TabNode } from "../model/TabNode";
4
+ import { LayoutInternal } from "./Layout";
5
+ /** @internal */
6
+ export declare function isDesktop(): boolean;
7
+ /** @internal */
8
+ export declare function getRenderStateEx(layout: LayoutInternal, node: TabNode, iconAngle?: number): {
9
+ leading: import("react/jsx-runtime").JSX.Element | undefined;
10
+ content: string | Iterable<React.ReactNode>;
11
+ name: string;
12
+ buttons: any[];
13
+ };
14
+ /** @internal */
15
+ export declare function isAuxMouseEvent(event: React.MouseEvent<HTMLElement, MouseEvent> | React.TouchEvent<HTMLElement>): boolean;
3
16
  export declare function enablePointerOnIFrames(enable: boolean, currentDocument: Document): void;
4
17
  export declare function getElementsByTagName(tag: string, currentDocument: Document): Element[];
5
18
  export declare function startDrag(doc: Document, event: React.PointerEvent<HTMLElement>, drag: (x: number, y: number) => void, dragEnd: () => void, dragCancel: () => void): void;