@finsemble/finsemble-ui 8.0.2 → 8.1.0-beta.2

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 (254) hide show
  1. package/FEA.d.ts +48 -3
  2. package/FEA.d.ts.map +1 -1
  3. package/FEA.js.map +1 -1
  4. package/clients/Interop/FinsembleDesktopAgent.js +1 -1
  5. package/clients/Startup/FSBLDesktop.d.ts +2 -14
  6. package/clients/Startup/FSBLDesktop.d.ts.map +1 -1
  7. package/clients/Startup/FSBLDesktop.js +4 -21
  8. package/clients/Startup/FSBLDesktop.js.map +1 -1
  9. package/clients/Startup/types.d.ts +17 -0
  10. package/clients/Startup/types.d.ts.map +1 -1
  11. package/clients/Startup/windowStartup.d.ts.map +1 -1
  12. package/clients/Startup/windowStartup.js +16 -14
  13. package/clients/Startup/windowStartup.js.map +1 -1
  14. package/clients/routerClient.d.ts +2 -169
  15. package/clients/routerClient.d.ts.map +1 -1
  16. package/clients/routerClient.js +4 -7
  17. package/clients/routerClient.js.map +1 -1
  18. package/common/Desktop.d.ts +8 -0
  19. package/common/Desktop.d.ts.map +1 -1
  20. package/common/Desktop.js +23 -0
  21. package/common/Desktop.js.map +1 -1
  22. package/common/FinsembleWindow.d.ts +1 -2
  23. package/common/FinsembleWindow.d.ts.map +1 -1
  24. package/common/FinsembleWindow.js +1 -1
  25. package/common/FinsembleWindow.js.map +1 -1
  26. package/common/Monitors.d.ts +6 -0
  27. package/common/Monitors.d.ts.map +1 -1
  28. package/common/Monitors.js +22 -0
  29. package/common/Monitors.js.map +1 -1
  30. package/common/system.d.ts +1 -1
  31. package/common/system.d.ts.map +1 -1
  32. package/main.d.ts +29 -29
  33. package/package.json +44 -44
  34. package/platform/services/Interop/types.d.ts +1 -0
  35. package/platform/services/Interop/types.d.ts.map +1 -1
  36. package/platform/services/Interop/types.js.map +1 -1
  37. package/platform/services/router/routerTransport.d.ts.map +1 -1
  38. package/platform/services/router/routerTransport.js +5 -7
  39. package/platform/services/router/routerTransport.js.map +1 -1
  40. package/platform/services/router/types.d.ts +214 -0
  41. package/platform/services/router/types.d.ts.map +1 -0
  42. package/platform/services/router/types.js +2 -0
  43. package/platform/services/router/types.js.map +1 -0
  44. package/platform/services/types.d.ts +1 -0
  45. package/platform/services/types.d.ts.map +1 -1
  46. package/platform/services/types.js +1 -0
  47. package/platform/services/types.js.map +1 -1
  48. package/platform/services/window/Common/Pools/ObjectPool.d.ts +11 -0
  49. package/platform/services/window/Common/Pools/ObjectPool.d.ts.map +1 -0
  50. package/platform/services/window/Common/Pools/ObjectPool.js +43 -0
  51. package/platform/services/window/Common/Pools/ObjectPool.js.map +1 -0
  52. package/platform/services/window/Common/Pools/PoolSingletons.d.ts +10 -0
  53. package/platform/services/window/Common/Pools/PoolSingletons.d.ts.map +1 -0
  54. package/platform/services/window/Common/Pools/PoolSingletons.js +10 -0
  55. package/platform/services/window/Common/Pools/PoolSingletons.js.map +1 -0
  56. package/platform/services/window/Common/Pools/WindowPool.d.ts +7 -0
  57. package/platform/services/window/Common/Pools/WindowPool.d.ts.map +1 -0
  58. package/platform/services/window/Common/Pools/WindowPool.js +16 -0
  59. package/platform/services/window/Common/Pools/WindowPool.js.map +1 -0
  60. package/platform/services/window/Docking/boxMath.d.ts +144 -0
  61. package/platform/services/window/Docking/boxMath.d.ts.map +1 -0
  62. package/platform/services/window/Docking/boxMath.js +511 -0
  63. package/platform/services/window/Docking/boxMath.js.map +1 -0
  64. package/platform/services/window/Docking/constants.d.ts +29 -0
  65. package/platform/services/window/Docking/constants.d.ts.map +1 -0
  66. package/platform/services/window/Docking/constants.js +29 -0
  67. package/platform/services/window/Docking/constants.js.map +1 -0
  68. package/platform/services/window/Docking/dockableBox.d.ts +117 -0
  69. package/platform/services/window/Docking/dockableBox.d.ts.map +1 -0
  70. package/platform/services/window/Docking/dockableBox.js +525 -0
  71. package/platform/services/window/Docking/dockableBox.js.map +1 -0
  72. package/platform/services/window/Docking/dockableGroup.d.ts +252 -0
  73. package/platform/services/window/Docking/dockableGroup.d.ts.map +1 -0
  74. package/platform/services/window/Docking/dockableGroup.js +1054 -0
  75. package/platform/services/window/Docking/dockableGroup.js.map +1 -0
  76. package/platform/services/window/Docking/dockableMonitor.d.ts +99 -0
  77. package/platform/services/window/Docking/dockableMonitor.d.ts.map +1 -0
  78. package/platform/services/window/Docking/dockableMonitor.js +427 -0
  79. package/platform/services/window/Docking/dockableMonitor.js.map +1 -0
  80. package/platform/services/window/Docking/dockableWindow.d.ts +272 -0
  81. package/platform/services/window/Docking/dockableWindow.d.ts.map +1 -0
  82. package/platform/services/window/Docking/dockableWindow.js +1239 -0
  83. package/platform/services/window/Docking/dockableWindow.js.map +1 -0
  84. package/platform/services/window/Docking/dockingCalculator.d.ts +749 -0
  85. package/platform/services/window/Docking/dockingCalculator.d.ts.map +1 -0
  86. package/platform/services/window/Docking/dockingCalculator.js +3473 -0
  87. package/platform/services/window/Docking/dockingCalculator.js.map +1 -0
  88. package/platform/services/window/Docking/dockingMain.d.ts +349 -0
  89. package/platform/services/window/Docking/dockingMain.d.ts.map +1 -0
  90. package/platform/services/window/Docking/dockingMain.js +2584 -0
  91. package/platform/services/window/Docking/dockingMain.js.map +1 -0
  92. package/platform/services/window/Docking/maskBoundsCalculator.d.ts +28 -0
  93. package/platform/services/window/Docking/maskBoundsCalculator.d.ts.map +1 -0
  94. package/platform/services/window/Docking/maskBoundsCalculator.js +67 -0
  95. package/platform/services/window/Docking/maskBoundsCalculator.js.map +1 -0
  96. package/platform/services/window/Docking/monitorUpdateHandler.d.ts +32 -0
  97. package/platform/services/window/Docking/monitorUpdateHandler.d.ts.map +1 -0
  98. package/platform/services/window/Docking/monitorUpdateHandler.js +117 -0
  99. package/platform/services/window/Docking/monitorUpdateHandler.js.map +1 -0
  100. package/platform/services/window/Docking/types.d.ts +334 -0
  101. package/platform/services/window/Docking/types.d.ts.map +1 -0
  102. package/platform/services/window/Docking/types.js +12 -0
  103. package/platform/services/window/Docking/types.js.map +1 -0
  104. package/platform/services/window/MultiWindowFeatures/autoArrange.d.ts +90 -0
  105. package/platform/services/window/MultiWindowFeatures/autoArrange.d.ts.map +1 -0
  106. package/platform/services/window/MultiWindowFeatures/autoArrange.js +510 -0
  107. package/platform/services/window/MultiWindowFeatures/autoArrange.js.map +1 -0
  108. package/platform/services/window/StackedWindowManager/stackedWindowManager.d.ts +411 -0
  109. package/platform/services/window/StackedWindowManager/stackedWindowManager.d.ts.map +1 -0
  110. package/platform/services/window/StackedWindowManager/stackedWindowManager.js +1641 -0
  111. package/platform/services/window/StackedWindowManager/stackedWindowManager.js.map +1 -0
  112. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.d.ts +9 -0
  113. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.d.ts.map +1 -0
  114. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.js +23 -0
  115. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.js.map +1 -0
  116. package/platform/services/window/WindowAbstractions/WebWindowWrapper.d.ts +227 -0
  117. package/platform/services/window/WindowAbstractions/WebWindowWrapper.d.ts.map +1 -0
  118. package/platform/services/window/WindowAbstractions/WebWindowWrapper.js +1168 -0
  119. package/platform/services/window/WindowAbstractions/WebWindowWrapper.js.map +1 -0
  120. package/platform/services/window/WindowAbstractions/externalWindowWrapper.d.ts +121 -0
  121. package/platform/services/window/WindowAbstractions/externalWindowWrapper.d.ts.map +1 -0
  122. package/platform/services/window/WindowAbstractions/externalWindowWrapper.js +591 -0
  123. package/platform/services/window/WindowAbstractions/externalWindowWrapper.js.map +1 -0
  124. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.d.ts +194 -0
  125. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.d.ts.map +1 -0
  126. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.js +680 -0
  127. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.js.map +1 -0
  128. package/platform/services/window/types.d.ts +13 -13
  129. package/platform/services/window/windowGroup.d.ts +86 -0
  130. package/platform/services/window/windowGroup.d.ts.map +1 -0
  131. package/platform/services/window/windowGroup.js +323 -0
  132. package/platform/services/window/windowGroup.js.map +1 -0
  133. package/platform/services/workspace/windowStorageManager.d.ts +178 -0
  134. package/platform/services/workspace/windowStorageManager.d.ts.map +1 -0
  135. package/platform/services/workspace/windowStorageManager.js +195 -0
  136. package/platform/services/workspace/windowStorageManager.js.map +1 -0
  137. package/platform/services/workspace/workspaceAdminAPI.d.ts +1 -1
  138. package/platform/services/workspace/workspaceAdminAPI.d.ts.map +1 -1
  139. package/react/actions/smartDesktopDesignerActions.d.ts +2 -0
  140. package/react/actions/smartDesktopDesignerActions.d.ts.map +1 -1
  141. package/react/actions/smartDesktopDesignerActions.js +1 -0
  142. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  143. package/react/assets/css/download.css +119 -0
  144. package/react/assets/css/userPreferences.css +50 -0
  145. package/react/assets/css/windowTitleBar.css +2 -1
  146. package/react/assets/icons/cancel.svg +15 -0
  147. package/react/assets/icons/gear.svg +9 -0
  148. package/react/assets/icons/pause.svg +15 -0
  149. package/react/assets/icons/resume.svg +17 -0
  150. package/react/assets/img/Finsemble-installation.gif +0 -0
  151. package/react/components/common/Button.d.ts +1 -0
  152. package/react/components/common/Button.d.ts.map +1 -1
  153. package/react/components/common/Button.js.map +1 -1
  154. package/react/components/common/ButtonIcon.d.ts.map +1 -1
  155. package/react/components/common/ButtonIcon.js +3 -2
  156. package/react/components/common/ButtonIcon.js.map +1 -1
  157. package/react/components/common/FinsembleIcon.d.ts +1 -1
  158. package/react/components/common/FinsembleIcon.d.ts.map +1 -1
  159. package/react/components/common/FinsembleIcon.js +8 -0
  160. package/react/components/common/FinsembleIcon.js.map +1 -1
  161. package/react/components/common/css/button.css +8 -2
  162. package/react/components/downloadManager/DownloadItem.d.ts +16 -0
  163. package/react/components/downloadManager/DownloadItem.d.ts.map +1 -0
  164. package/react/components/downloadManager/DownloadItem.js +74 -0
  165. package/react/components/downloadManager/DownloadItem.js.map +1 -0
  166. package/react/components/downloadManager/DownloadManager.d.ts +10 -0
  167. package/react/components/downloadManager/DownloadManager.d.ts.map +1 -0
  168. package/react/components/downloadManager/DownloadManager.js +42 -0
  169. package/react/components/downloadManager/DownloadManager.js.map +1 -0
  170. package/react/components/downloadManager/index.d.ts +2 -0
  171. package/react/components/downloadManager/index.d.ts.map +1 -0
  172. package/react/components/downloadManager/index.js +2 -0
  173. package/react/components/downloadManager/index.js.map +1 -0
  174. package/react/components/fdc3Resolver/ResolverDialog.css +1 -1
  175. package/react/components/index.d.ts +1 -0
  176. package/react/components/index.d.ts.map +1 -1
  177. package/react/components/index.js +1 -0
  178. package/react/components/index.js.map +1 -1
  179. package/react/components/processMonitor/ProcessMonitor.d.ts.map +1 -1
  180. package/react/components/processMonitor/ProcessMonitor.js +56 -75
  181. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  182. package/react/components/processMonitor/components/ChildWindow.d.ts +5 -7
  183. package/react/components/processMonitor/components/ChildWindow.d.ts.map +1 -1
  184. package/react/components/processMonitor/components/ChildWindow.js +30 -33
  185. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  186. package/react/components/processMonitor/components/ListHeader.d.ts +4 -16
  187. package/react/components/processMonitor/components/ListHeader.d.ts.map +1 -1
  188. package/react/components/processMonitor/components/ListHeader.js +30 -39
  189. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  190. package/react/components/processMonitor/components/ProcessStatistics.d.ts +3 -6
  191. package/react/components/processMonitor/components/ProcessStatistics.d.ts.map +1 -1
  192. package/react/components/processMonitor/components/ProcessStatistics.js +18 -23
  193. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  194. package/react/components/sdd/Dashboard.css +21 -0
  195. package/react/components/sdd/css/export.css +33 -3
  196. package/react/components/sdd/css/nav.css +1 -1
  197. package/react/components/shared/DefaultDropdownButton.js +1 -1
  198. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  199. package/react/components/toolbar/DownloadButton.d.ts +8 -0
  200. package/react/components/toolbar/DownloadButton.d.ts.map +1 -0
  201. package/react/components/toolbar/DownloadButton.js +30 -0
  202. package/react/components/toolbar/DownloadButton.js.map +1 -0
  203. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts.map +1 -1
  204. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +6 -0
  205. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  206. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +1 -1
  207. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  208. package/react/components/toolbar/dashbar/Dashbar.d.ts.map +1 -1
  209. package/react/components/toolbar/dashbar/Dashbar.js +72 -47
  210. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  211. package/react/components/toolbar/dashbar/DashbarItem.d.ts +1 -1
  212. package/react/components/toolbar/dashbar/DashbarItem.d.ts.map +1 -1
  213. package/react/components/toolbar/dashbar/DashbarItem.js +25 -4
  214. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  215. package/react/components/toolbar/index.d.ts +1 -0
  216. package/react/components/toolbar/index.d.ts.map +1 -1
  217. package/react/components/toolbar/index.js +1 -0
  218. package/react/components/toolbar/index.js.map +1 -1
  219. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +3 -4
  220. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts.map +1 -1
  221. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +3 -10
  222. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  223. package/react/components/userPreferences/components/content/General.d.ts.map +1 -1
  224. package/react/components/userPreferences/components/content/General.js +3 -0
  225. package/react/components/userPreferences/components/content/General.js.map +1 -1
  226. package/react/components/userPreferences/components/general/DownloadPreferences.d.ts +10 -0
  227. package/react/components/userPreferences/components/general/DownloadPreferences.d.ts.map +1 -0
  228. package/react/components/userPreferences/components/general/DownloadPreferences.js +111 -0
  229. package/react/components/userPreferences/components/general/DownloadPreferences.js.map +1 -0
  230. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +6 -0
  231. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts.map +1 -1
  232. package/react/components/userPreferences/stores/UserPreferencesStore.js +11 -0
  233. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  234. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +2 -26
  235. package/react/components/windowTitleBar/components/right/CloseButton.d.ts.map +1 -1
  236. package/react/components/windowTitleBar/components/right/CloseButton.js +8 -25
  237. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  238. package/react/hooks/useDownloadItems.d.ts +24 -0
  239. package/react/hooks/useDownloadItems.d.ts.map +1 -0
  240. package/react/hooks/useDownloadItems.js +68 -0
  241. package/react/hooks/useDownloadItems.js.map +1 -0
  242. package/react/hooks/useNotifications.d.ts +1 -1
  243. package/react/reducers/rootReducer.d.ts +4 -0
  244. package/react/reducers/rootReducer.d.ts.map +1 -1
  245. package/react/reducers/smartDesktopDesignerReducer.d.ts.map +1 -1
  246. package/react/reducers/smartDesktopDesignerReducer.js +4 -0
  247. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  248. package/react/store.d.ts +8 -0
  249. package/react/store.d.ts.map +1 -1
  250. package/react/types/dashbarTypes.d.ts +3 -1
  251. package/react/types/dashbarTypes.d.ts.map +1 -1
  252. package/react/types/smartDesktopDesignerTypes.d.ts +2 -0
  253. package/react/types/smartDesktopDesignerTypes.d.ts.map +1 -1
  254. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
@@ -0,0 +1,749 @@
1
+ import DockableMonitor from "./dockableMonitor";
2
+ import DockableGroup from "./dockableGroup";
3
+ import DockableWindow from "./dockableWindow";
4
+ import { MonitorInfoDetail } from "../../../../FEA";
5
+ import { Monitors } from "../../../../common/Monitors";
6
+ import { SnappingRegions } from "./types";
7
+ import { DockingBounds, MoveRequest, SnapObject, ResizeObject, SnappedObject, BoundingBox, XYCoordinates } from "./types";
8
+ declare type Intersection = {
9
+ stationaryRegion: string;
10
+ movingRegion: any;
11
+ } | null;
12
+ export declare type GroupMode = {
13
+ enabled: boolean;
14
+ behavior?: "explicit";
15
+ headerHeight?: number;
16
+ groupTileBuffer?: number;
17
+ allowSnappedWindowsToResize?: boolean;
18
+ fillHolesOnUndock?: boolean;
19
+ undockDisbandsEntireGroup?: boolean;
20
+ requireRectangularityForGroupResize?: boolean;
21
+ };
22
+ /**
23
+ *
24
+ *
25
+ * @returns
26
+ */
27
+ declare abstract class DockingCalculator {
28
+ groupAction: {
29
+ name: null | string;
30
+ windows: boolean[];
31
+ };
32
+ monitorsInstance: Monitors;
33
+ groups: string[];
34
+ resizeObject: ResizeObject;
35
+ groupMode: GroupMode;
36
+ groupMask: DockableWindow | null;
37
+ moveRequest: MoveRequest | null;
38
+ movingWindow: DockableWindow | null;
39
+ bufferSize: number;
40
+ resizeEventThrottlePeriod: number;
41
+ moveCount: number;
42
+ intersection: any;
43
+ groupMaskQueue: any;
44
+ groupMaskExpectedState: string;
45
+ shiftKey: boolean;
46
+ movingGroup: DockableGroup | null;
47
+ groupMaskIsVisible: boolean;
48
+ modalScrim: DockableWindow;
49
+ movingAGroupOfWindows: boolean;
50
+ abstract onMoveComplete(movedWin: {
51
+ name: string;
52
+ monitor: DockableMonitor;
53
+ }, triggeredByAutoArrange: boolean): void;
54
+ MINIMUM_HEIGHT: number;
55
+ MINIMUM_WIDTH: number;
56
+ groupTileBuffer: number;
57
+ headerHeight: number;
58
+ enableWindowsAeroSnap: boolean;
59
+ claimSpace: boolean;
60
+ preventOverlapClaimSpace: boolean;
61
+ persistedOpacity: {};
62
+ constructor(monitorsInstance: Monitors);
63
+ updateGroupData(): void;
64
+ setBoundsErrorCB(err: any): void;
65
+ removeUserRequestFromGroup(userRequest: any): void;
66
+ /**
67
+ * 5/20/19 Joe: Previously group was not set sometimes. In the event that the maximize request comes
68
+ * into a window that is a group, this will throw an error.
69
+ */
70
+ ensureMovingGroupIsSet(moveRequest: any): void;
71
+ ensureNotOffMonitor(movingWindow: DockableWindow): void;
72
+ /**
73
+ * Check if the window or group being dropped is overlapping a docked window (currently only the toolbar).
74
+ * If so, move it directly adjacent to the docked window.
75
+ * @param movingWindow
76
+ * @param dockedWindowPosition - "edge"
77
+ */
78
+ ensureNotOverlappingDockedWindow(movingWindow: DockableWindow, dockedWindowPosition: {
79
+ monitorName: string;
80
+ edge: string;
81
+ }): Promise<{
82
+ top: number;
83
+ bottom: number;
84
+ left: number;
85
+ right: number;
86
+ width: number;
87
+ height: number;
88
+ name: string;
89
+ } | undefined>;
90
+ endMovingGroup(group: DockableGroup): void;
91
+ maybeMakeOrBreakGroups(systemMoved: boolean): void;
92
+ stopMovingGroup(group: DockableGroup): void;
93
+ maybeDockWindow(moveRequest: any, movingWindow: DockableWindow, monitor: DockableMonitor): void;
94
+ ensureNotInTwoGroups(win: DockableWindow, group: DockableGroup): void;
95
+ isDockableWindowMaximized(dockableWindow: DockableWindow): boolean;
96
+ groupContainsMaximizedWindows(group: DockableWindow[]): boolean;
97
+ /** **************************************
98
+ * Core Loop
99
+ * Docking works like this:
100
+ * A dockableWindow receives a `bounds-change-request` event from the window object that it wraps (e.g., an Electron window). Then the docking calculator gets to work.
101
+ * 1. `this.requestMove`.
102
+ * 2. `this.onMouseDown`.
103
+ * 3. `this.onMouseMove`.
104
+ *
105
+ * As the user moves her mouse around, steps 1 and 3 are executed.When she releases her mouse, the dockableWindow throws a `bounds-changed` event, which in turn calls `this.onMouseUp`.
106
+ * The general idea is that the user says "Hey, I'd like to move my window 10px to the right of this window. The calculator spins through, notices that the window that the user is moving is within a snapping buffer around the other window. So it responds, "You're too close to that window, sorry, but we're snapping you.". If the movingWindow isn't within the stationaryWindow's buffer, we give the window the all clear to proceed.
107
+ *************************************** */
108
+ /**
109
+ * This is the core controller of the program. It routes the window's moveRequest to the appropriate place, and it receives the modified bounds afterwards. It communicates the modified bounds to the window via the CB.
110
+ * @param {moveRequest} Request from the `dockableWindow`.
111
+ * @param {function} cb What to do after the window's new bounds have been calculated.
112
+ */
113
+ requestMove(userRequest: any, cb?: (result: any) => void): Promise<any>;
114
+ /**
115
+ * Windows can be part of two groups - one that can move, and one that allows shared border resizing/group resizing. When N windows are snapped together but not explicitly grouped together, they form an "immobileGroup". A movable group is one that the user has explicitly formed. This function returns the appropriate group, given a moveRequest.
116
+ * @param {object} moveRequest moverequest.
117
+ */
118
+ getMovingGroup(moveRequest: any): DockableGroup | null;
119
+ /**
120
+ * Loops through all DockableGroups and reconstitutes gaps. This is to clean up an issue where
121
+ * grouped windows containing a single pixel gap would break on mouse down as the system would
122
+ * no longer consider them snapped, and therefore would break and remove the group
123
+ */
124
+ fixAllGroupGaps(): void;
125
+ /**
126
+ * Given a group, will clean up the gaps and reconstitute the groups
127
+ * @param {object} group An object containing groups, with groupName as key
128
+ */
129
+ cleanupGroupGaps(group: any): void;
130
+ /**
131
+ * This function caches information in the resizeObject so that it doesn't need to be calculated onMouseMove.
132
+ */
133
+ onMouseDown(moveRequest: any): void;
134
+ hideGroupMask(cb?: Function): void;
135
+ /**
136
+ * Transparency breaks often with group mask. So use this to show it.
137
+ *
138
+ * @param {any} bounds
139
+ * @param {number} [opacity=0.5]
140
+ * @param {any} [cb=Function.prototype]
141
+ * @memberof DockingCalculator
142
+ */
143
+ showGroupMask(params: any, cb?: Function): any;
144
+ /**
145
+ * Show the modal scrim
146
+ *
147
+ * @memberof DockingCalculator
148
+ */
149
+ showModalScrim(params: any, cb?: Function): void;
150
+ hideModalScrim(): void;
151
+ /**
152
+ * This function happens _after_ the calculations have been made. The request comes in, `this.requestMove` routes the request to the appropriate place, and modified bounds are passed into this function. It's a choke point for all docking-sanctioned window movement.
153
+ */
154
+ onMouseMove(bounds: any, cb: any): void;
155
+ /**
156
+ * When the user lifts her mouse, this is fired. It cleans up opacity, shows windows if we were moving a group, and cleans up global variables.
157
+ *
158
+ * @param {} params - Optional. Possible parameters:
159
+ * systemMoved: If true, indicates the OS initiated the group move
160
+ * triggeredByAutoArrange: If true, indicate the move was initiated by auto-arrange
161
+ */
162
+ onMouseUp(params?: any): Promise<void>;
163
+ static get NO_CHANGE(): number;
164
+ /** **************************************
165
+ * Calculators - Window Collections *
166
+ *************************************** */
167
+ formGroup(name: any, params: any): string[];
168
+ /**
169
+ * Spins through all of the windows that can group and creates groups based on window position.
170
+ */
171
+ constituteGroups(): void;
172
+ /**
173
+ * Given a moveRequest, it returns an array of windowNames. The check essentially boils down to "is this window within my snapping buffer?"
174
+ * @param {moveRequest} moveRequest
175
+ */
176
+ getSnappableWindows(moveRequest: any): string[];
177
+ /**
178
+ * Checks to see if the window is within the snapping region of any monitor.
179
+ */
180
+ getSnappableMonitors(moveRequest: any): string[];
181
+ /**
182
+ * Returns an object that describes the edges and corners that are shared between two windows.
183
+ */
184
+ getSnapObj(win1: DockableWindow, win2: DockableWindow): SnappedObject;
185
+ /**
186
+ * Snaps two windows..
187
+ */
188
+ snapTwoWindows(win1: DockableWindow, win2: DockableWindow): void;
189
+ /**
190
+ * Wipes all relationships between windows and recalculates them.
191
+ */
192
+ recalculateSnaps(): void;
193
+ /**
194
+ * Updates the snappedWindows array for window. The snappedWindow object contains: name, shared edges, shared corners, and whether the window canGroup.
195
+ * @param {dockableWindow} win
196
+ */
197
+ buildSnapRelationships(win: any): void;
198
+ /**
199
+ * Returns any window with a vertex on a segment.
200
+ * @param {segment} segment A line segment. An array with 2 points in it (start and end).
201
+ * @return {type}
202
+ */
203
+ getWindowBoxesOnSegment(segment: BoundingBox): SnapObject[];
204
+ windowsOnEdgeFromPool(win: DockableWindow, edge: string, includeCorners: boolean): {
205
+ name: string;
206
+ edge: string;
207
+ }[];
208
+ /**
209
+ * Similar to getWindowBoxesOnSegment but you can pass in a string instead of a line segment.
210
+ * @param {dockableWindow} win
211
+ * @param {string} edge E.g., 'left', 'right', etc.
212
+ * @return {array}
213
+ */
214
+ getWindowsOnEdge(win: DockableWindow, edge: string, includeCorners?: boolean): {
215
+ name: string;
216
+ edge: string;
217
+ }[];
218
+ /**
219
+ * Returns a list of windows that straddle a given edge.
220
+ * +-----------+------------+
221
+ * | | |
222
+ * | | |
223
+ * | A | B |
224
+ * | | |
225
+ * +-----------+--+---------+
226
+ * | | |
227
+ * | C | D |
228
+ * | | |
229
+ * +--------------+---------+
230
+ *
231
+ * In the drawing above, B straddles the left edge of D and the right Edge of C.
232
+ * @param {dockableWindow} win
233
+ * @param {string} edge E.g., 'left', 'right', etc.
234
+ */
235
+ getStraddlers(win: any): {
236
+ name: string;
237
+ edge: string;
238
+ }[];
239
+ /**
240
+ * Given an X, Y point, it returns a list of windows with that point on their boundingBox.
241
+ * @param {object} point
242
+ * @return {array}
243
+ */
244
+ getWindowsAtPoint(point: XYCoordinates): string[];
245
+ /**
246
+ * Just a helper to say whether a window has an edge on the edge of the group.
247
+ * @param {dockableWindow} win
248
+ * @param {dockableGroup} group
249
+ */
250
+ windowIsOnExteriorEdgeOfGroup(win: any, group: any): boolean;
251
+ /**
252
+ * Lets the program know that shift is being held down. This is used when moving a window that's explicitly grouped (if assimilation is turned on). In that case, the window moves out of the group.
253
+ */
254
+ setShift(bool: boolean): void;
255
+ /**
256
+ * Returns an ordered Object. Sorts by Top, then Left.
257
+ * @return {Object} Object where the keys are names of the window.
258
+ */
259
+ orderWindows(windowList: any, anchor: any): DockableWindow[];
260
+ /** **************************************
261
+ * Getters/Setters *
262
+ *************************************** */
263
+ /**
264
+ * Registers the window with the calculator
265
+ * @param {string} name
266
+ * @param {dockableWindow} val
267
+ */
268
+ addWindowInternal(name: string, val: DockableWindow): void;
269
+ /**
270
+ * Virtually unsnaps a window from all other windows. This doesn't affect physical positioning. Only the relationships that Docking is a aware of.
271
+ */
272
+ wipeSnapRelationships(name: any): void;
273
+ /**
274
+ * Removes a window from all groups.
275
+ */
276
+ removeWindowFromAllGroups(win: any, deleteGroupsWithOneWindow?: boolean): void;
277
+ /**
278
+ * Unregisters the window.
279
+ * @param {string} name
280
+ */
281
+ removeWindowInternal(name: string, removeListeners?: boolean): void;
282
+ /**
283
+ * Returns an array of window names.
284
+ */
285
+ getWindowNames(): string[];
286
+ /**
287
+ * @return {dockingPool}
288
+ */
289
+ getWindows(): Record<string, DockableWindow>;
290
+ getUnignoredWindows(): DockableWindow[];
291
+ /**
292
+ * Gets a window object by name.
293
+ * @param {type} name
294
+ * @param {type} throwError Usually we want to throw the error, but sometimes we use this function to filter (e.g., autoarrange).
295
+ * @return {type}
296
+ */
297
+ getWindow(name: string, throwError?: boolean): DockableWindow;
298
+ /**
299
+ * returns the monitor that the window is on. If the left edge of the window is on two or more monitors, we calculate the monitor that houses the majority of the window.
300
+ * @param {string} windowName
301
+ */
302
+ getMonitorForWindow(win: any): DockableMonitor;
303
+ /**
304
+ * Returns a monitor object.
305
+ * @param {string} name name of monitor.
306
+ */
307
+ getMonitor(name: string): DockableMonitor;
308
+ /**
309
+ * Unregisters a monitor with the calculator.
310
+ * @param {type} name
311
+ * @return {type}
312
+ */
313
+ removeMonitor(name: string): void;
314
+ /**
315
+ * @return {MonitorPoolSingleton}
316
+ */
317
+ getMonitors(): Record<string, DockableMonitor>;
318
+ /**
319
+ * Returns a list of 'rawMonitors' from the container. These are only available when they are actually passed into the DockableMonitor when its instantiated.
320
+ */
321
+ getRawMonitors(): MonitorInfoDetail[];
322
+ /**
323
+ * Returns the monitors in an array
324
+ */
325
+ getMonitorArray(): DockableMonitor[];
326
+ /**
327
+ *
328
+ */
329
+ removeAllMonitors(): void;
330
+ /**
331
+ * Sets the resize throttle period. This allows the system to drop events that occur too quickly.
332
+ */
333
+ setResizeThrottlePeriod(throttlePeriod: number): void;
334
+ /**
335
+ * Sets the opacity that windows take when entering another window's snapping region.
336
+ */
337
+ setSnappingOpacity(opacity: number): void;
338
+ /**
339
+ * At one point we weren't sure if we were going to allow groups to snap because of bugs. This is vestigial and should be removed at some point.
340
+ */
341
+ setAllowGroupsToSnap(bool: any): void;
342
+ /**
343
+ * Sets the size of the region around windows that will trigger a snap.
344
+ */
345
+ setBufferSize(buffer: any): void;
346
+ /**
347
+ * Will prevent a window from being added to groups.
348
+ */
349
+ addToGroupBlacklist(windowName: any): void;
350
+ /**
351
+ * Will allow a window previously blacklisted to be included in group operations.
352
+ */
353
+ removeFromGroupBlacklist(windowName: string): void;
354
+ /**
355
+ * Adds a group to the calculator.
356
+ * @param {type} group
357
+ */
358
+ addGroup(group: DockableGroup): void;
359
+ /**
360
+ * Removes a group from the calculator.
361
+ * @param {type} groupName
362
+ * @param {Boolean} willReform Whether the group is going to be reformed. This will
363
+ * tell removeWindowFromGroup if it should modify window taskbar icon visibility.
364
+ */
365
+ removeGroup(groupName: string, willReform?: boolean): void;
366
+ /**
367
+ * Returns a list of groups that are capable of moving together.
368
+ */
369
+ getMovableGroups(): Record<string, DockableGroup>;
370
+ /**
371
+ * Returns the group Pool
372
+ * @return {type}
373
+ */
374
+ getGroups(): Record<string, DockableGroup>;
375
+ /**
376
+ * Gets a group by name.
377
+ * @param {type} name
378
+ * @return {type}
379
+ */
380
+ getGroup(name: string): DockableGroup;
381
+ /**
382
+ * Gets an array of group names.
383
+ * @return {type}
384
+ */
385
+ getGroupNames(): string[];
386
+ /**
387
+ * Imagine 3 windows snapped horizontally. All are grouped ([A][B][C]). You ungroup B. This function will remove A and C. It iterates through all of the windows in the group and makes sure it's still attached to the group.
388
+ */
389
+ checkGroupMembership(win: any): void;
390
+ /**
391
+ * Removes a window from a group. When tiling, we do not delete groups with only one window. We could be doing an operation on a group with two windows, and we want to retain group membership so that hole-filling works appropriately.
392
+ */
393
+ removeWindowFromGroup(windowName: string, groupName: string, deleteGroupsWithOneWindow?: boolean, updateAOT?: boolean): void;
394
+ /**
395
+ * Single entry point for changing the taskbar icon's visibility.
396
+ * At present, taskbar icon status is only changed when a window leaves or joins a movable group.
397
+ */
398
+ setTaskbarIconVisiblityForWindow(params: any): void;
399
+ /**
400
+ * Groups n-Windows.
401
+ *
402
+ * @param {any} params
403
+ * @param {any} cb
404
+ */
405
+ groupWindows(params: any, cb?: any): void;
406
+ /**
407
+ * Given a group, this method will make sure only one window (the top right window) has a visible taskbar icon.
408
+ * This method is called whenever a window is added to or removed from a group.
409
+ * @param {DockableGroup} group
410
+ */
411
+ setTaskbarIconForGroup(group: DockableGroup): void;
412
+ /**
413
+ * @param {type} groupName
414
+ * @param {dockableWindow} win
415
+ */
416
+ addWindowToGroup(params: {
417
+ groupName: string;
418
+ win: DockableWindow;
419
+ ungroupedAlwaysOnTopState?: Record<string, boolean>;
420
+ isMovable?: boolean;
421
+ isAlwaysOnTop?: boolean;
422
+ handleIcons?: boolean;
423
+ }, cb?: any): DockableGroup | undefined;
424
+ /**
425
+ * Checks if windows in a group are on monitor. If not move the group on monitor so at least one window in the group
426
+ * is fully on monitor.
427
+ * Currently this is used on spawn to handle monitor changes when Finsemble wasn't running or a different workspace was loaded.
428
+ * @param {*} name
429
+ */
430
+ checkAndFixGroupPosition(name: string): Promise<void>;
431
+ /**
432
+ * Vestigial function; used to pop a window out of a group. Can likely be removed in the future.
433
+ */
434
+ ejectWindow(name: string): void;
435
+ /**
436
+ * @return {boolean}
437
+ */
438
+ getGroupMode(): GroupMode;
439
+ /**
440
+ * @param {object} groupMade
441
+ * @param {boolean} groupMade.enabled Whether group mode is enabled.
442
+ * @param {number} groupMode.headerHeight How large the header is in windows. This shouldn't be in this config. So bad.
443
+ * @param {number} groupMode.groupTileBuffer How large the buffer is on the edge of a group to trigger a group-tile operation.
444
+ * @param {boolean} groupMode.allowSnappedWindowsToResize Whether snapped windows will resize as a group.
445
+ * @param {boolean} groupMode.fillHolesOnUndock Whether leaving a group triggers a hole-filling operation
446
+ * @param {boolean} groupMode.undockDisbandsEntireGroup Whether clicking the undock button on one window will disband the entire group.
447
+ * @param {boolean} groupMode.requireRectangularityForGroupResize Whether a group must be a rectangle to scale the individual windows as a unit.
448
+ */
449
+ setGroupMode(groupMode: GroupMode): void;
450
+ /**
451
+ * Adds useful properties to a raw request.
452
+ * @param {moveRequest} req
453
+ * @return {moveRequest}
454
+ */
455
+ setMoveRequest(req: any, win?: any): any;
456
+ /**
457
+ * @param {dockableWindow} win
458
+ */
459
+ setStationaryWindow(win: any): void;
460
+ /**
461
+ * @param {dockableWindow} win
462
+ */
463
+ setMovingWindow(win: any): void;
464
+ /**
465
+ * Convenience function I used for like 2 minutes.
466
+ * @param {dockableWindow} stationary
467
+ * @param {dockableWindow} moving
468
+ */
469
+ setWindows(stationary: any, moving: any): void;
470
+ /** **************************************************
471
+ * *
472
+ * Calculators - Multiple Positions/Sizes *
473
+ * *
474
+ *************************************************** */
475
+ /**
476
+ * when a non-docking movement is made, we don't grab the bounds changing events.
477
+ * So this updates everything. Example: auto-arrange.
478
+ */
479
+ updateWindowPositions(): void;
480
+ /**
481
+ * Returns the movableGroup for a window.
482
+ */
483
+ getMovableGroup(windowName: string): DockableGroup | null;
484
+ /**
485
+ * Returns the immobile group for a window. This is one where it is snapped to other windows, but not explicitly grouped by the user.
486
+ */
487
+ getImmobileGroup(windowName: string): DockableGroup | null;
488
+ /**
489
+ * Basically just code flow controller. Figures out whether the move will affect just a couple, a single window, or all windows in the group.
490
+ * @param {moveRequest} moveRequest
491
+ * @param {function} cb
492
+ */
493
+ handleGroup(moveRequest: any, cb: any): void;
494
+ /**
495
+ * Kills any gaps that may have happened after scaling a group proportionately.
496
+ */
497
+ eliminateGaps(): void;
498
+ /**
499
+ * Helper function for snapWindow
500
+ */
501
+ getIntersection({ request, stationaryWindow, region, stationaryBoundingBoxes, movingBoundingBoxes, }: {
502
+ request: any;
503
+ stationaryWindow: DockableWindow;
504
+ region: string;
505
+ stationaryBoundingBoxes: SnappingRegions;
506
+ movingBoundingBoxes: any;
507
+ }): Intersection;
508
+ /**
509
+ * Helper function for snapWindow
510
+ */
511
+ processIntersection(request: any, stationaryWindow: DockableWindow, intersection: any): {
512
+ updatedRequest: any;
513
+ match: boolean;
514
+ };
515
+ /** **************************************************
516
+ * *
517
+ * Calculators - Individual Window Position/Size *
518
+ * *
519
+ *************************************************** */
520
+ /**
521
+ * Returns a modified moveRequest. If the code gets here, it's because the moving window was inside of the stationary window's buffer, and a snap needed to occur.
522
+ * @param {moveRequest} request
523
+ * @return {moveRequest}
524
+ */
525
+ snapWindow(request: any): any;
526
+ /**
527
+ * When moving a window, we don't want to add it to a group until all the calculations are complete. If two windows snap, this function is called. It figures out which group that the windows should form. Note: It always forms an immobile group (one that allows shared-border resizing). This is because a snap is not an explicit group.
528
+ */
529
+ getDeferredGroupAction(stationaryWin: any, movingWin: any): {
530
+ name: string | null;
531
+ windows: boolean[];
532
+ };
533
+ /**
534
+ * Calculates resize bounds.
535
+ * @param {object} params
536
+ * @return {moveRequest}
537
+ */
538
+ adjustSize(params: any): any;
539
+ /**
540
+ * Checks to see if a window has gotten too narrow, or too short.
541
+ */
542
+ checkShortCircuitsWithEdge(request: any, edge: any): any;
543
+ /**
544
+ * Checks to see if a request is allowed. Are you trying to make my window -20px? or 10px? Get out of here.
545
+ */
546
+ checkShortCircuits(request: any, win?: any): any;
547
+ /**
548
+ * Use when a window is moving and needs to be snapped. Width/Height aren't modified like in `this.adjustSize`.
549
+ * @param {type} params
550
+ * @return {type}
551
+ */
552
+ getNewCoordinates(params: any): any;
553
+ /**
554
+ * Helper to return an object that says which edges are moving.
555
+ * @function this.getMovingEdgesFromResizeHandle
556
+ * @param {type} handle
557
+ * @return {type}
558
+ */
559
+ getMovingEdgesFromResizeHandle(handle: any): {
560
+ top: boolean;
561
+ right: boolean;
562
+ left: boolean;
563
+ bottom: boolean;
564
+ };
565
+ /**
566
+ * Bounds are calculated in maskBoundsCalculator.js
567
+ */
568
+ moveGroupMask(): void;
569
+ /**
570
+ * NOT CURRENTLY USED.
571
+ * Will be like `onMouseMove`, but for groups. Goal is to only move all grouped windows `onMouseUp`. In the interim, just move the mask around. Right now I move every window on every resizeEvent
572
+ */
573
+ _moveGroupMaskOld(): void;
574
+ /**
575
+ * This returns an object with all of the bounds of all of the windows in a given group. This should be moved in to the dockableGroup.
576
+ */
577
+ getBoundsOfGroupWindows(group: any): {};
578
+ /**
579
+ * For a group, it will iterate through its windows and set bounds on each of them.
580
+ */
581
+ setBoundsOfGroupWindows(group: DockableGroup, windowBounds: any, stopMove?: boolean): void;
582
+ /**
583
+ * Exports an array of bounds for the windows that are currently being managed by docking. This makes it easy to generate oddball test cases.
584
+ */
585
+ export(): string;
586
+ /**
587
+ * Cleans up shared edges of windows in a group
588
+ * @param {*} group The group to operate on
589
+ * @param {*} windowBounds An object containing bounds key'ed by window name
590
+ * @param {*} triggeredByAutoArrange Wether or not this cleanup was trigger by auto arrange (if true will fire stopMove())
591
+ */
592
+ cleanupSharedEdges(group: DockableGroup, windowBounds: any, triggeredByAutoArrange?: boolean): any;
593
+ /**
594
+ * Run after everything, it removes any gaps that might have occurred (e.g., from fractional pixels, rounding, etc). It needs better inline documentation.
595
+ */
596
+ cleanupGaps(group: DockableGroup, windowBounds: any): any;
597
+ shouldShortCircuit(request: any): {
598
+ width: boolean;
599
+ height: boolean;
600
+ };
601
+ private recurse;
602
+ private recurseCorner;
603
+ private maybeSnapToOtherWindows;
604
+ private moveInteriorWindows;
605
+ /**
606
+ * Resizes a window or group of windows on the interior of a group
607
+ * @param {moveRequest} moveRequest
608
+ */
609
+ resizeInteriorWindow(moveRequest: any): void;
610
+ /**
611
+ * function for debugging a 3x3 grid.
612
+ */
613
+ logger(): void;
614
+ /**
615
+ * Helper to determine whether a moveRequest will affect a window, the group, or just a local collection of windows that are snapped to the movingWindow.
616
+ */
617
+ shouldScaleGroup(moveRequest: MoveRequest): boolean;
618
+ /**
619
+ * Helper to determine whether a moveRequest will affect a window, the group, or just a local collection of windows that are snapped to the movingWindow.
620
+ */
621
+ shouldMoveAffectGroup(moveRequest: MoveRequest): boolean;
622
+ /**
623
+ * Should use this. Computes the difference between two boundsObjects.
624
+ * @param {moveRequest} newBounds
625
+ * @param {moveRequest} old
626
+ */
627
+ getBoundsDelta(newBounds: any, old: any): DockingBounds;
628
+ /**
629
+ * Will move a group of windows.
630
+ * @param {moveRequest} moveRequest
631
+ * @param {function} cb
632
+ */
633
+ handleGroupMove(moveRequest: any, cb: any): void;
634
+ /**
635
+ * Calculates the % change that a moveRequest inflicts on a group of windows.
636
+ * @param {moveRequest} moveRequest
637
+ * @return {type}
638
+ */
639
+ getGroupDelta(groupName: string, moveRequest: any): {
640
+ height: number;
641
+ width: number;
642
+ };
643
+ /**
644
+ * Creates the resizeObject. Put anything here that should be cached onMouseDown. Will be cleared onMouseUp.
645
+ * @param {moveRequest} moveRequest
646
+ * @return {resizeObject}
647
+ */
648
+ constructResizeObject(moveRequest: any): ResizeObject;
649
+ /**
650
+ * If a corner of a window is on the edge of the group, but it's not an actual corner, we need to treat that as an edge resize. See inline documentation for more. This is basically correcting errant resize-handles.
651
+ * Note: this behavior is locked behind `requireRectangularityForGroupResize`. Without that flag turned on, there's no need to change the resize handle.
652
+ */
653
+ correctResizeObject(win: any, resizeObject: ResizeObject): ResizeObject;
654
+ /**
655
+ * Resizes a window based on some delta.
656
+ * @param {dockableWindow} win
657
+ * @param {Object} delta Object with a width/height change.
658
+ * @return {type}
659
+ */
660
+ resizeByDelta(win: any, delta: any): any;
661
+ getMovingDirection(bounds: any, win: any): string;
662
+ /**
663
+ * Does the dirty work of actually moving windows.
664
+ * @param {moveRequest} bounds
665
+ * @param {function} callback
666
+ */
667
+ moveWindow(bounds: any, callback?: any): void;
668
+ private checkMoveDockedCommponent;
669
+ /**
670
+ * Checks to see whether a window can be snapped to other windows/monitors.
671
+ * @param {moveRequest} bounds
672
+ * @param {function} callback
673
+ */
674
+ checkBuffers(moveRequest: any, cb: (modifiedRequest: any) => void): void;
675
+ /**
676
+ * Spins through windows and fixes opacity. For onMouseMove, we skip any windows that could be snapped to the movingWindow. onMouseUp, everything gets hit.
677
+ * @param {object} params
678
+ * @param {object} params.checkForSnappability
679
+ */
680
+ fixWindowOpacity(params: any): void;
681
+ private saveWindowsOpacity;
682
+ private restoreWindowsOpacity;
683
+ /**
684
+ * Happens when config is loaded from the configClient.
685
+ */
686
+ setGlobalMinimums(serviceConfig: any): void;
687
+ /** **************************************
688
+ * Calculators - general *
689
+ *************************************** */
690
+ /**
691
+ * Given an object, will set boundingboxes on it. If it's a dockableWindow, it'll let the window set itself up.
692
+ * @param {dockableWindow} win
693
+ * @return {type}
694
+ */
695
+ setBoundingBoxes(win: any): any;
696
+ /**
697
+ * Returns the difference between the movingWindow's location and the requested movement.
698
+ * @param {moveRequest} moveRequest
699
+ * @return {type}
700
+ */
701
+ getMoveDelta(moveRequest: any, oldBounds?: any): {
702
+ x: number;
703
+ y: number;
704
+ };
705
+ /**
706
+ * Returns the inner bounds. We use this to give the windows some internal stickiness.
707
+ * @param {type} bounds
708
+ * @return {object}
709
+ */
710
+ getInnerBoundingBox(bounds: any): {
711
+ min: {
712
+ x: any;
713
+ y: any;
714
+ };
715
+ max: {
716
+ x: number;
717
+ y: number;
718
+ };
719
+ };
720
+ /**
721
+ * Gets the snapping buffer of a request.
722
+ * @param {type} request
723
+ * @return {type}
724
+ */
725
+ getBuffer(request: any): {
726
+ min: {
727
+ x: number;
728
+ y: number;
729
+ };
730
+ max: {
731
+ x: any;
732
+ y: any;
733
+ };
734
+ };
735
+ /**
736
+ * Given a request, a window, and a region, it'll tell you whether they intersect. We use this to figure out which corner/edge to snap to.
737
+ * @param {moveRequest} moveRequest
738
+ * @param {dockableWindow} stationaryWindow
739
+ * @param {string} stationaryRegion
740
+ * @return {object}
741
+ */
742
+ getIntersections(moveRequest: any, stationaryWindow: any, stationaryRegion: any): string[];
743
+ /** **************************************
744
+ * Iterators *
745
+ *************************************** */
746
+ groupWindowIterator(group: DockableGroup, orderAnchor?: DockableWindow | null): Generator<DockableWindow, void, unknown>;
747
+ }
748
+ export default DockingCalculator;
749
+ //# sourceMappingURL=dockingCalculator.d.ts.map