flexlayout-react 0.7.6 → 0.7.8

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 (95) hide show
  1. package/ChangeLog.txt +8 -0
  2. package/cypress.config.ts +16 -0
  3. package/declarations/model/IJsonModel.d.ts +3 -3
  4. package/declarations/model/Model.d.ts +1 -1
  5. package/declarations/model/Utils.d.ts +1 -1
  6. package/declarations/view/Layout.d.ts +8 -8
  7. package/dist/flexlayout.js +11 -11
  8. package/dist/flexlayout_min.js +1 -1
  9. package/lib/Attribute.js +5 -1
  10. package/lib/Attribute.js.map +1 -1
  11. package/lib/AttributeDefinitions.js +7 -3
  12. package/lib/AttributeDefinitions.js.map +1 -1
  13. package/lib/DockLocation.js +31 -27
  14. package/lib/DockLocation.js.map +1 -1
  15. package/lib/DragDrop.js +7 -3
  16. package/lib/DragDrop.js.map +1 -1
  17. package/lib/DropInfo.js +5 -1
  18. package/lib/DropInfo.js.map +1 -1
  19. package/lib/I18nLabel.js +5 -2
  20. package/lib/I18nLabel.js.map +1 -1
  21. package/lib/Orientation.js +9 -5
  22. package/lib/Orientation.js.map +1 -1
  23. package/lib/PopupMenu.js +16 -12
  24. package/lib/PopupMenu.js.map +1 -1
  25. package/lib/Rect.js +10 -6
  26. package/lib/Rect.js.map +1 -1
  27. package/lib/Types.js +5 -2
  28. package/lib/Types.js.map +1 -1
  29. package/lib/index.js +38 -22
  30. package/lib/index.js.map +1 -1
  31. package/lib/model/Action.js +5 -1
  32. package/lib/model/Action.js.map +1 -1
  33. package/lib/model/Actions.js +20 -16
  34. package/lib/model/Actions.js.map +1 -1
  35. package/lib/model/BorderNode.js +72 -68
  36. package/lib/model/BorderNode.js.map +1 -1
  37. package/lib/model/BorderSet.js +16 -12
  38. package/lib/model/BorderSet.js.map +1 -1
  39. package/lib/model/ICloseType.js +5 -2
  40. package/lib/model/ICloseType.js.map +1 -1
  41. package/lib/model/IDraggable.js +2 -1
  42. package/lib/model/IDropTarget.js +2 -1
  43. package/lib/model/IJsonModel.js +2 -1
  44. package/lib/model/Model.js +112 -108
  45. package/lib/model/Model.js.map +1 -1
  46. package/lib/model/Node.js +14 -10
  47. package/lib/model/Node.js.map +1 -1
  48. package/lib/model/RowNode.js +63 -59
  49. package/lib/model/RowNode.js.map +1 -1
  50. package/lib/model/SplitterNode.js +12 -8
  51. package/lib/model/SplitterNode.js.map +1 -1
  52. package/lib/model/TabNode.js +34 -30
  53. package/lib/model/TabNode.js.map +1 -1
  54. package/lib/model/TabSetNode.js +59 -55
  55. package/lib/model/TabSetNode.js.map +1 -1
  56. package/lib/model/Utils.js +20 -9
  57. package/lib/model/Utils.js.map +1 -1
  58. package/lib/view/BorderButton.js +29 -25
  59. package/lib/view/BorderButton.js.map +1 -1
  60. package/lib/view/BorderTabSet.js +33 -29
  61. package/lib/view/BorderTabSet.js.map +1 -1
  62. package/lib/view/ErrorBoundary.js +9 -5
  63. package/lib/view/ErrorBoundary.js.map +1 -1
  64. package/lib/view/FloatingWindow.js +10 -6
  65. package/lib/view/FloatingWindow.js.map +1 -1
  66. package/lib/view/FloatingWindowTab.js +13 -9
  67. package/lib/view/FloatingWindowTab.js.map +1 -1
  68. package/lib/view/Icons.js +14 -6
  69. package/lib/view/Icons.js.map +1 -1
  70. package/lib/view/Layout.js +105 -93
  71. package/lib/view/Layout.js.map +1 -1
  72. package/lib/view/Splitter.js +29 -25
  73. package/lib/view/Splitter.js.map +1 -1
  74. package/lib/view/Tab.js +25 -21
  75. package/lib/view/Tab.js.map +1 -1
  76. package/lib/view/TabButton.js +27 -23
  77. package/lib/view/TabButton.js.map +1 -1
  78. package/lib/view/TabButtonStamp.js +12 -8
  79. package/lib/view/TabButtonStamp.js.map +1 -1
  80. package/lib/view/TabFloating.js +23 -19
  81. package/lib/view/TabFloating.js.map +1 -1
  82. package/lib/view/TabOverflowHook.js +15 -11
  83. package/lib/view/TabOverflowHook.js.map +1 -1
  84. package/lib/view/TabSet.js +51 -47
  85. package/lib/view/TabSet.js.map +1 -1
  86. package/lib/view/Utils.js +10 -4
  87. package/lib/view/Utils.js.map +1 -1
  88. package/package.json +10 -10
  89. package/src/model/Model.ts +3 -3
  90. package/src/model/Utils.ts +9 -0
  91. package/src/view/Layout.tsx +10 -1
  92. package/style/dark.css +560 -560
  93. package/style/gray.css +543 -543
  94. package/style/light.css +544 -544
  95. package/style/underline.css +565 -565
@@ -67,3 +67,12 @@ export function adjustSelectedIndex(parent: TabSetNode | BorderNode | RowNode, r
67
67
  }
68
68
  }
69
69
  }
70
+
71
+ export function randomUUID() {
72
+ // @ts-ignore
73
+ return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
74
+ (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
75
+ );
76
+ }
77
+
78
+
@@ -595,6 +595,15 @@ export class Layout extends React.Component<ILayoutProps, ILayoutState> {
595
595
  let path = borderPath + "/t" + tabCount++;
596
596
  if (this.supportsPopout && child.isFloating()) {
597
597
  const rect = this._getScreenRect(child);
598
+
599
+ const tabBorderWidth= child._getAttr("borderWidth");
600
+ const tabBorderHeight= child._getAttr("borderHeight");
601
+ if (tabBorderWidth !== -1 && border.getLocation().getOrientation() === Orientation.HORZ) {
602
+ rect.width = tabBorderWidth;
603
+ } else if (tabBorderHeight !== -1 && border.getLocation().getOrientation() === Orientation.VERT) {
604
+ rect.height = tabBorderHeight;
605
+ }
606
+
598
607
  floatingWindows.push(
599
608
  <FloatingWindow
600
609
  key={child.getId()}
@@ -921,7 +930,7 @@ export class Layout extends React.Component<ILayoutProps, ILayoutState> {
921
930
  }
922
931
  // add edge indicators
923
932
  if (this.props.model.getMaximizedTabset() === undefined) {
924
- this.setState({ showEdges: true });
933
+ this.setState({ showEdges: this.props.model.isEnableEdgeDock() });
925
934
  }
926
935
 
927
936
  if (this.dragNode !== undefined && this.dragNode instanceof TabNode && this.dragNode.getTabRect() !== undefined) {