flexlayout-react 0.8.12 → 0.8.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +34 -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
package/README.md CHANGED
@@ -274,7 +274,18 @@ For example:
274
274
 
275
275
  ```
276
276
  onRenderTabSet = (node: (TabSetNode | BorderNode), renderValues: ITabSetRenderValues) => {
277
- renderValues.stickyButtons.push(<img key="add" style={{width:"1em", height:"1em"}} src="images/add.svg"/>);
277
+ renderValues.stickyButtons.push(
278
+ <button
279
+ key="Add"
280
+ title="Add"
281
+ className="flexlayout__tab_toolbar_button"
282
+ onClick={() => {
283
+ model.doAction(Actions.addNode({
284
+ component: "placeholder",
285
+ name: "Added " + nextAddIndex.current++
286
+ }, node.getId(), DockLocation.CENTER, -1, true));
287
+ }}
288
+ ><AddIcon/></button>);
278
289
 
279
290
  renderValues.buttons.push(<img key="menu" style={{width:"1em", height:"1em"}} src="images/menu.svg"/>);
280
291
  }
@@ -457,12 +468,12 @@ pnpm install
457
468
  Compile the project and run the examples:
458
469
 
459
470
  ```
460
- pnpm start
471
+ pnpm dev
461
472
  ```
462
473
 
463
- Open your browser at http://localhost:8080/examples/ to show the examples directory, click on the examples to run them.
474
+ Open your browser at the address shown to see the Demo app.
464
475
 
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.
476
+ The 'pnpm dev' command will watch for changes to flexlayout and the Demo, so you can make changes to the code and then refresh the browser to see the result.
466
477
 
467
478
  Once the demo is running you can run the Playwright tests by running (in another terminal window)
468
479
 
@@ -472,7 +483,7 @@ pnpm playwright
472
483
 
473
484
  <img src="screenshots/PlaywrightUI.png?raw=true" alt="PlaywrightUI" title="PlaywrightUI screenshot"/>
474
485
 
475
- To build the npm distribution run 'pnpm build', this will create the artifacts in the dist dir.
486
+ To build the npm distribution run 'pnpm build'.
476
487
 
477
488
  ## Alternative Layout Managers
478
489
 
@@ -1 +1,25 @@
1
- export {};
1
+ /** @internal */
2
+ export declare class Attribute {
3
+ static NUMBER: string;
4
+ static STRING: string;
5
+ static BOOLEAN: string;
6
+ name: string;
7
+ alias: string | undefined;
8
+ modelName?: string;
9
+ pairedAttr?: Attribute;
10
+ pairedType?: string;
11
+ defaultValue: any;
12
+ alwaysWriteJson?: boolean;
13
+ type?: string;
14
+ required: boolean;
15
+ fixed: boolean;
16
+ description?: string;
17
+ constructor(name: string, modelName: string | undefined, defaultValue: any, alwaysWriteJson?: boolean);
18
+ setType(value: string): this;
19
+ setAlias(value: string): this;
20
+ setDescription(value: string): void;
21
+ setRequired(): this;
22
+ setFixed(): this;
23
+ setpairedAttr(value: Attribute): void;
24
+ setPairedType(value: string): void;
25
+ }
@@ -1 +1,18 @@
1
- export {};
1
+ import { Attribute } from "./Attribute";
2
+ /** @internal */
3
+ export declare class AttributeDefinitions {
4
+ attributes: Attribute[];
5
+ nameToAttribute: Map<string, Attribute>;
6
+ constructor();
7
+ addWithAll(name: string, modelName: string | undefined, defaultValue: any, alwaysWriteJson?: boolean): Attribute;
8
+ addInherited(name: string, modelName: string): Attribute;
9
+ add(name: string, defaultValue: any, alwaysWriteJson?: boolean): Attribute;
10
+ getAttributes(): Attribute[];
11
+ getModelName(name: string): string | undefined;
12
+ toJson(jsonObj: any, obj: any): void;
13
+ fromJson(jsonObj: any, obj: any): void;
14
+ update(jsonObj: any, obj: any): void;
15
+ setDefaults(obj: any): void;
16
+ pairAttributes(type: string, childAttributes: AttributeDefinitions): void;
17
+ toTypescriptInterface(name: string, parentAttributes: AttributeDefinitions | undefined): string;
18
+ }
@@ -1,4 +1,5 @@
1
1
  import { Orientation } from "./Orientation";
2
+ import { Rect } from "./Rect";
2
3
  export declare class DockLocation {
3
4
  static values: Map<string, DockLocation>;
4
5
  static TOP: DockLocation;
@@ -6,7 +7,28 @@ export declare class DockLocation {
6
7
  static LEFT: DockLocation;
7
8
  static RIGHT: DockLocation;
8
9
  static CENTER: DockLocation;
10
+ /** @internal */
11
+ static getByName(name: string): DockLocation;
12
+ /** @internal */
13
+ static getLocation(rect: Rect, x: number, y: number): DockLocation;
14
+ /** @internal */
15
+ name: string;
16
+ /** @internal */
17
+ orientation: Orientation;
18
+ /** @internal */
19
+ indexPlus: number;
20
+ /** @internal */
21
+ constructor(_name: string, _orientation: Orientation, _indexPlus: number);
9
22
  getName(): string;
10
23
  getOrientation(): Orientation;
24
+ /** @internal */
25
+ getDockRect(r: Rect): Rect;
26
+ /** @internal */
27
+ split(rect: Rect, size: number): {
28
+ start: Rect;
29
+ end: Rect;
30
+ };
31
+ /** @internal */
32
+ reflect(): DockLocation;
11
33
  toString(): string;
12
34
  }
@@ -8,5 +8,6 @@ export declare enum I18nLabel {
8
8
  Restore = "Restore tab set",
9
9
  Popout_Tab = "Popout selected tab",
10
10
  Overflow_Menu_Tooltip = "Hidden tabs",
11
- Error_rendering_component = "Error rendering component"
11
+ Error_rendering_component = "Error rendering component",
12
+ Error_rendering_component_retry = "Retry"
12
13
  }
@@ -2,6 +2,10 @@ export declare class Orientation {
2
2
  static HORZ: Orientation;
3
3
  static VERT: Orientation;
4
4
  static flip(from: Orientation): Orientation;
5
+ /** @internal */
6
+ private _name;
7
+ /** @internal */
8
+ private constructor();
5
9
  getName(): string;
6
10
  toString(): string;
7
11
  }
@@ -1,4 +1,5 @@
1
1
  import { IJsonRect } from "./model/IJsonModel";
2
+ import { Orientation } from "./Orientation";
2
3
  export declare class Rect {
3
4
  static empty(): Rect;
4
5
  static fromJson(json: IJsonRect): Rect;
@@ -39,5 +40,7 @@ export declare class Rect {
39
40
  right: number;
40
41
  }): Rect;
41
42
  centerInRect(outerRect: Rect): void;
43
+ /** @internal */
44
+ _getSize(orientation: Orientation): number;
42
45
  toString(): string;
43
46
  }
@@ -1,4 +1,5 @@
1
1
  export * from './view/Layout';
2
+ export * from './view/Icons';
2
3
  export * from './model/Action';
3
4
  export * from './model/Actions';
4
5
  export * from './model/BorderNode';
@@ -1,11 +1,28 @@
1
+ import { AttributeDefinitions } from "../AttributeDefinitions";
1
2
  import { DockLocation } from "../DockLocation";
3
+ import { DropInfo } from "../DropInfo";
2
4
  import { Orientation } from "../Orientation";
5
+ import { Rect } from "../Rect";
6
+ import { IDraggable } from "./IDraggable";
3
7
  import { IDropTarget } from "./IDropTarget";
4
8
  import { IJsonBorderNode } from "./IJsonModel";
9
+ import { Model } from "./Model";
5
10
  import { Node } from "./Node";
6
11
  import { TabNode } from "./TabNode";
7
12
  export declare class BorderNode extends Node implements IDropTarget {
8
13
  static readonly TYPE = "border";
14
+ /** @internal */
15
+ static fromJson(json: any, model: Model): BorderNode;
16
+ /** @internal */
17
+ private static attributeDefinitions;
18
+ /** @internal */
19
+ private contentRect;
20
+ /** @internal */
21
+ private tabHeaderRect;
22
+ /** @internal */
23
+ private location;
24
+ /** @internal */
25
+ constructor(location: DockLocation, json: any, model: Model);
9
26
  getLocation(): DockLocation;
10
27
  getClassName(): string | undefined;
11
28
  isHorizontal(): boolean;
@@ -27,5 +44,41 @@ export declare class BorderNode extends Node implements IDropTarget {
27
44
  isMaximized(): boolean;
28
45
  isShowing(): boolean;
29
46
  toJson(): IJsonBorderNode;
47
+ /** @internal */
48
+ isAutoSelectTab(whenOpen?: boolean): boolean;
30
49
  isEnableTabScrollbar(): boolean;
50
+ /** @internal */
51
+ setSelected(index: number): void;
52
+ /** @internal */
53
+ getTabHeaderRect(): Rect;
54
+ /** @internal */
55
+ setTabHeaderRect(r: Rect): void;
56
+ /** @internal */
57
+ getRect(): Rect;
58
+ /** @internal */
59
+ getContentRect(): Rect;
60
+ /** @internal */
61
+ setContentRect(r: Rect): void;
62
+ /** @internal */
63
+ isEnableDrop(): boolean;
64
+ /** @internal */
65
+ setSize(pos: number): void;
66
+ /** @internal */
67
+ updateAttrs(json: any): void;
68
+ /** @internal */
69
+ remove(node: TabNode): void;
70
+ /** @internal */
71
+ canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
72
+ /** @internal */
73
+ drop(dragNode: Node & IDraggable, location: DockLocation, index: number, select?: boolean): void;
74
+ /** @internal */
75
+ getSplitterBounds(index: number, useMinSize?: boolean): number[];
76
+ /** @internal */
77
+ calculateSplit(splitter: BorderNode, splitterPos: number): number;
78
+ /** @internal */
79
+ getAttributeDefinitions(): AttributeDefinitions;
80
+ /** @internal */
81
+ static getAttributeDefinitions(): AttributeDefinitions;
82
+ /** @internal */
83
+ private static createAttributeDefinitions;
31
84
  }
@@ -1,3 +1,31 @@
1
+ import { DockLocation } from "../DockLocation";
2
+ import { DropInfo } from "../DropInfo";
3
+ import { BorderNode } from "./BorderNode";
4
+ import { IDraggable } from "./IDraggable";
5
+ import { Model } from "./Model";
6
+ import { Node } from "./Node";
1
7
  export declare class BorderSet {
8
+ /** @internal */
9
+ static fromJson(json: any, model: Model): BorderSet;
10
+ /** @internal */
11
+ private borders;
12
+ /** @internal */
13
+ private borderMap;
14
+ /** @internal */
15
+ private layoutHorizontal;
16
+ /** @internal */
17
+ constructor(_model: Model);
2
18
  toJson(): import("./IJsonModel").IJsonBorderNode[];
19
+ /** @internal */
20
+ getLayoutHorizontal(): boolean;
21
+ /** @internal */
22
+ getBorders(): BorderNode[];
23
+ /** @internal */
24
+ getBorderMap(): Map<DockLocation, BorderNode>;
25
+ /** @internal */
26
+ forEachNode(fn: (node: Node, level: number) => void): void;
27
+ /** @internal */
28
+ setPaths(): void;
29
+ /** @internal */
30
+ findDropTargetNode(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
3
31
  }
@@ -1,2 +1,6 @@
1
1
  export interface IDraggable {
2
+ /** @internal */
3
+ isEnableDrag(): boolean;
4
+ /** @internal */
5
+ getName(): string | undefined;
2
6
  }
@@ -1,2 +1,12 @@
1
+ import { DockLocation } from "../DockLocation";
2
+ import { DropInfo } from "../DropInfo";
3
+ import { IDraggable } from "./IDraggable";
4
+ import { Node } from "./Node";
1
5
  export interface IDropTarget {
6
+ /** @internal */
7
+ canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
8
+ /** @internal */
9
+ drop(dragNode: Node & IDraggable, location: DockLocation, index: number, select?: boolean): void;
10
+ /** @internal */
11
+ isEnableDrop(): boolean;
2
12
  }
@@ -23,6 +23,22 @@ export declare class LayoutWindow {
23
23
  get root(): RowNode | undefined;
24
24
  get maximizedTabSet(): TabSetNode | undefined;
25
25
  get activeTabSet(): TabSetNode | undefined;
26
+ /** @internal */
27
+ set rect(value: Rect);
28
+ /** @internal */
29
+ set layout(value: LayoutInternal);
30
+ /** @internal */
31
+ set window(value: Window | undefined);
32
+ /** @internal */
33
+ set root(value: RowNode | undefined);
34
+ /** @internal */
35
+ set maximizedTabSet(value: TabSetNode | undefined);
36
+ /** @internal */
37
+ set activeTabSet(value: TabSetNode | undefined);
38
+ /** @internal */
39
+ get toScreenRectFunction(): (rect: Rect) => Rect;
40
+ /** @internal */
41
+ set toScreenRectFunction(value: (rect: Rect) => Rect);
26
42
  toJson(): IJsonPopout;
27
43
  static fromJson(windowJson: IJsonPopout, model: Model, windowId: string): LayoutWindow;
28
44
  }
@@ -1,17 +1,45 @@
1
1
  import { DropInfo } from "../DropInfo";
2
2
  import { Action } from "./Action";
3
3
  import { BorderSet } from "./BorderSet";
4
+ import { IDraggable } from "./IDraggable";
4
5
  import { IJsonModel, ITabSetAttributes } from "./IJsonModel";
5
6
  import { Node } from "./Node";
6
7
  import { RowNode } from "./RowNode";
7
8
  import { TabNode } from "./TabNode";
8
9
  import { TabSetNode } from "./TabSetNode";
9
10
  import { LayoutWindow } from "./LayoutWindow";
11
+ /** @internal */
12
+ export declare const DefaultMin = 0;
13
+ /** @internal */
14
+ export declare const DefaultMax = 99999;
10
15
  /**
11
16
  * Class containing the Tree of Nodes used by the FlexLayout component
12
17
  */
13
18
  export declare class Model {
14
19
  static MAIN_WINDOW_ID: string;
20
+ /** @internal */
21
+ private static attributeDefinitions;
22
+ /** @internal */
23
+ private attributes;
24
+ /** @internal */
25
+ private idMap;
26
+ /** @internal */
27
+ private changeListeners;
28
+ /** @internal */
29
+ private borders;
30
+ /** @internal */
31
+ private onAllowDrop?;
32
+ /** @internal */
33
+ private onCreateTabSet?;
34
+ /** @internal */
35
+ private windows;
36
+ /** @internal */
37
+ private rootWindow;
38
+ /**
39
+ * 'private' constructor. Use the static method Model.fromJson(json) to create a model
40
+ * @internal
41
+ */
42
+ protected constructor();
15
43
  /**
16
44
  * Update the node tree by performing the given action,
17
45
  * Actions should be generated via static methods on the Actions class
@@ -87,5 +115,32 @@ export declare class Model {
87
115
  addChangeListener(listener: ((action: Action) => void)): void;
88
116
  removeChangeListener(listener: ((action: Action) => void)): void;
89
117
  toString(): string;
118
+ /***********************internal ********************************/
119
+ /** @internal */
120
+ removeEmptyWindows(): void;
121
+ /** @internal */
122
+ setActiveTabset(tabsetNode: TabSetNode | undefined, windowId: string): void;
123
+ /** @internal */
124
+ setMaximizedTabset(tabsetNode: (TabSetNode | undefined), windowId: string): void;
125
+ /** @internal */
126
+ updateIdMap(): void;
127
+ /** @internal */
128
+ addNode(node: Node): void;
129
+ /** @internal */
130
+ findDropTargetNode(windowId: string, dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
131
+ /** @internal */
132
+ tidy(): void;
133
+ /** @internal */
134
+ updateAttrs(json: any): void;
135
+ /** @internal */
136
+ nextUniqueId(): string;
137
+ /** @internal */
138
+ getAttribute(name: string): any;
139
+ /** @internal */
140
+ getOnAllowDrop(): ((dragNode: Node, dropInfo: DropInfo) => boolean) | undefined;
141
+ /** @internal */
142
+ getOnCreateTabSet(): ((tabNode?: TabNode) => ITabSetAttributes) | undefined;
90
143
  static toTypescriptInterfaces(): void;
144
+ /** @internal */
145
+ private static createAttributeDefinitions;
91
146
  }
@@ -1,8 +1,27 @@
1
+ import { AttributeDefinitions } from "../AttributeDefinitions";
2
+ import { DropInfo } from "../DropInfo";
1
3
  import { Orientation } from "../Orientation";
2
4
  import { Rect } from "../Rect";
5
+ import { IDraggable } from "./IDraggable";
3
6
  import { IJsonBorderNode, IJsonRowNode, IJsonTabNode, IJsonTabSetNode } from "./IJsonModel";
4
7
  import { Model } from "./Model";
5
8
  export declare abstract class Node {
9
+ /** @internal */
10
+ protected model: Model;
11
+ /** @internal */
12
+ protected attributes: Record<string, any>;
13
+ /** @internal */
14
+ protected parent?: Node;
15
+ /** @internal */
16
+ protected children: Node[];
17
+ /** @internal */
18
+ protected rect: Rect;
19
+ /** @internal */
20
+ protected path: string;
21
+ /** @internal */
22
+ protected listeners: Map<string, (params: any) => void>;
23
+ /** @internal */
24
+ protected constructor(_model: Model);
6
25
  getId(): string;
7
26
  getModel(): Model;
8
27
  getType(): string;
@@ -14,4 +33,46 @@ export declare abstract class Node {
14
33
  setEventListener(event: string, callback: (params: any) => void): void;
15
34
  removeEventListener(event: string): void;
16
35
  abstract toJson(): IJsonRowNode | IJsonBorderNode | IJsonTabSetNode | IJsonTabNode | undefined;
36
+ /** @internal */
37
+ setId(id: string): void;
38
+ /** @internal */
39
+ fireEvent(event: string, params: any): void;
40
+ /** @internal */
41
+ getAttr(name: string): any;
42
+ /** @internal */
43
+ forEachNode(fn: (node: Node, level: number) => void, level: number): void;
44
+ /** @internal */
45
+ setPaths(path: string): void;
46
+ /** @internal */
47
+ setParent(parent: Node): void;
48
+ /** @internal */
49
+ setRect(rect: Rect): void;
50
+ /** @internal */
51
+ setPath(path: string): void;
52
+ /** @internal */
53
+ setWeight(weight: number): void;
54
+ /** @internal */
55
+ setSelected(index: number): void;
56
+ /** @internal */
57
+ findDropTargetNode(windowId: string, dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
58
+ /** @internal */
59
+ canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
60
+ /** @internal */
61
+ canDockInto(dragNode: Node & IDraggable, dropInfo: DropInfo | undefined): boolean;
62
+ /** @internal */
63
+ removeChild(childNode: Node): number;
64
+ /** @internal */
65
+ addChild(childNode: Node, pos?: number): number;
66
+ /** @internal */
67
+ removeAll(): void;
68
+ /** @internal */
69
+ styleWithPosition(style?: Record<string, any>): Record<string, any>;
70
+ /** @internal */
71
+ isEnableDivide(): boolean;
72
+ /** @internal */
73
+ toAttributeString(): string;
74
+ /** @internal */
75
+ abstract updateAttrs(json: any): void;
76
+ /** @internal */
77
+ abstract getAttributeDefinitions(): AttributeDefinitions;
17
78
  }
@@ -1,10 +1,77 @@
1
+ import { AttributeDefinitions } from "../AttributeDefinitions";
2
+ import { DockLocation } from "../DockLocation";
3
+ import { DropInfo } from "../DropInfo";
4
+ import { Orientation } from "../Orientation";
5
+ import { IDraggable } from "./IDraggable";
1
6
  import { IDropTarget } from "./IDropTarget";
2
7
  import { IJsonRowNode } from "./IJsonModel";
8
+ import { Model } from "./Model";
3
9
  import { Node } from "./Node";
10
+ import { LayoutWindow } from "./LayoutWindow";
4
11
  export declare class RowNode extends Node implements IDropTarget {
5
12
  static readonly TYPE = "row";
13
+ /** @internal */
14
+ static fromJson(json: any, model: Model, layoutWindow: LayoutWindow): RowNode;
15
+ /** @internal */
16
+ private static attributeDefinitions;
17
+ /** @internal */
18
+ private windowId;
19
+ /** @internal */
20
+ private minHeight;
21
+ /** @internal */
22
+ private minWidth;
23
+ /** @internal */
24
+ private maxHeight;
25
+ /** @internal */
26
+ private maxWidth;
27
+ /** @internal */
28
+ constructor(model: Model, windowId: string, json: any);
6
29
  getWeight(): number;
7
30
  toJson(): IJsonRowNode;
31
+ /** @internal */
32
+ getWindowId(): string;
8
33
  setWindowId(windowId: string): void;
34
+ /** @internal */
35
+ setWeight(weight: number): void;
36
+ /** @internal */
37
+ getSplitterBounds(index: number): number[];
38
+ /** @internal */
39
+ getSplitterInitials(index: number): {
40
+ initialSizes: number[];
41
+ sum: number;
42
+ startPosition: number;
43
+ };
44
+ /** @internal */
45
+ calculateSplit(index: number, splitterPos: number, initialSizes: number[], sum: number, startPosition: number): number[];
46
+ /** @internal */
47
+ getMinSize(orientation: Orientation): number;
48
+ /** @internal */
49
+ getMinWidth(): number;
50
+ /** @internal */
51
+ getMinHeight(): number;
52
+ /** @internal */
53
+ getMaxSize(orientation: Orientation): number;
54
+ /** @internal */
55
+ getMaxWidth(): number;
56
+ /** @internal */
57
+ getMaxHeight(): number;
58
+ /** @internal */
59
+ calcMinMaxSize(): void;
60
+ /** @internal */
61
+ tidy(): void;
62
+ /** @internal */
63
+ canDrop(dragNode: Node & IDraggable, x: number, y: number): DropInfo | undefined;
64
+ /** @internal */
65
+ drop(dragNode: Node, location: DockLocation, index: number): void;
66
+ /** @internal */
67
+ isEnableDrop(): boolean;
68
+ /** @internal */
69
+ getAttributeDefinitions(): AttributeDefinitions;
70
+ /** @internal */
71
+ updateAttrs(json: any): void;
72
+ /** @internal */
73
+ static getAttributeDefinitions(): AttributeDefinitions;
9
74
  normalizeWeights(): void;
75
+ /** @internal */
76
+ private static createAttributeDefinitions;
10
77
  }
@@ -1,8 +1,33 @@
1
+ import { AttributeDefinitions } from "../AttributeDefinitions";
2
+ import { Rect } from "../Rect";
1
3
  import { IDraggable } from "./IDraggable";
2
4
  import { IJsonTabNode } from "./IJsonModel";
5
+ import { Model } from "./Model";
3
6
  import { Node } from "./Node";
4
7
  export declare class TabNode extends Node implements IDraggable {
5
8
  static readonly TYPE = "tab";
9
+ /** @internal */
10
+ static fromJson(json: any, model: Model, addToModel?: boolean): TabNode;
11
+ /** @internal */
12
+ private tabRect;
13
+ /** @internal */
14
+ private moveableElement;
15
+ /** @internal */
16
+ private tabStamp;
17
+ /** @internal */
18
+ private renderedName?;
19
+ /** @internal */
20
+ private extra;
21
+ /** @internal */
22
+ private visible;
23
+ /** @internal */
24
+ private rendered;
25
+ /** @internal */
26
+ private scrollTop?;
27
+ /** @internal */
28
+ private scrollLeft?;
29
+ /** @internal */
30
+ constructor(model: Model, json: any, addToModel?: boolean);
6
31
  getName(): string;
7
32
  getHelpText(): string | undefined;
8
33
  getComponent(): string | undefined;
@@ -42,4 +67,58 @@ export declare class TabNode extends Node implements IDraggable {
42
67
  getMaxHeight(): number;
43
68
  isVisible(): boolean;
44
69
  toJson(): IJsonTabNode;
70
+ /** @internal */
71
+ saveScrollPosition(): void;
72
+ /** @internal */
73
+ restoreScrollPosition(): void;
74
+ /** @internal */
75
+ setRect(rect: Rect): void;
76
+ /** @internal */
77
+ setVisible(visible: boolean): void;
78
+ /** @internal */
79
+ getScrollTop(): number | undefined;
80
+ /** @internal */
81
+ setScrollTop(scrollTop: number | undefined): void;
82
+ /** @internal */
83
+ getScrollLeft(): number | undefined;
84
+ /** @internal */
85
+ setScrollLeft(scrollLeft: number | undefined): void;
86
+ /** @internal */
87
+ isRendered(): boolean;
88
+ /** @internal */
89
+ setRendered(rendered: boolean): void;
90
+ /** @internal */
91
+ getTabRect(): Rect;
92
+ /** @internal */
93
+ setTabRect(rect: Rect): void;
94
+ /** @internal */
95
+ getTabStamp(): HTMLElement | null;
96
+ /** @internal */
97
+ setTabStamp(stamp: HTMLElement | null): void;
98
+ /** @internal */
99
+ getMoveableElement(): HTMLElement | null;
100
+ /** @internal */
101
+ setMoveableElement(element: HTMLElement | null): void;
102
+ /** @internal */
103
+ setRenderedName(name: string): void;
104
+ /** @internal */
105
+ getNameForOverflowMenu(): string | undefined;
106
+ /** @internal */
107
+ setName(name: string): void;
108
+ /** @internal */
109
+ delete(): void;
110
+ /** @internal */
111
+ updateAttrs(json: any): void;
112
+ /** @internal */
113
+ getAttributeDefinitions(): AttributeDefinitions;
114
+ /** @internal */
115
+ setBorderWidth(width: number): void;
116
+ /** @internal */
117
+ setBorderHeight(height: number): void;
118
+ /** @internal */
119
+ static getAttributeDefinitions(): AttributeDefinitions;
120
+ /** @internal */
121
+ private static attributeDefinitions;
122
+ /** @internal */
123
+ private static createAttributeDefinitions;
45
124
  }