@witchcraft/layout 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +62 -70
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +6 -1
  4. package/dist/runtime/components/FrameDragHandle.vue +1 -1
  5. package/dist/runtime/components/LayoutDecosEdges.d.vue.ts +15 -0
  6. package/dist/runtime/components/LayoutDecosEdges.vue +34 -0
  7. package/dist/runtime/components/LayoutDecosEdges.vue.d.ts +15 -0
  8. package/dist/runtime/components/LayoutDecosRects.d.vue.ts +15 -0
  9. package/dist/runtime/components/LayoutDecosRects.vue +37 -0
  10. package/dist/runtime/components/LayoutDecosRects.vue.d.ts +15 -0
  11. package/dist/runtime/components/LayoutDragEdgeGrabbed.d.vue.ts +2 -0
  12. package/dist/runtime/components/LayoutDragEdgeGrabbed.vue +43 -0
  13. package/dist/runtime/components/LayoutDragEdgeGrabbed.vue.d.ts +2 -0
  14. package/dist/runtime/components/LayoutDragEdgeHandle.d.vue.ts +9 -0
  15. package/dist/runtime/components/LayoutDragEdgeHandle.vue +44 -0
  16. package/dist/runtime/components/LayoutDragEdgeHandle.vue.d.ts +9 -0
  17. package/dist/runtime/components/{LayoutDecos.d.vue.ts → LayoutDragEdgeVisible.d.vue.ts} +3 -2
  18. package/dist/runtime/components/LayoutDragEdgeVisible.vue +38 -0
  19. package/dist/runtime/components/{LayoutDecos.vue.d.ts → LayoutDragEdgeVisible.vue.d.ts} +3 -2
  20. package/dist/runtime/components/LayoutDragEdges.d.vue.ts +21 -0
  21. package/dist/runtime/components/LayoutDragEdges.vue +67 -0
  22. package/dist/runtime/components/LayoutDragEdges.vue.d.ts +21 -0
  23. package/dist/runtime/components/LayoutEdgesActiveFrame.d.vue.ts +2 -0
  24. package/dist/runtime/components/LayoutEdgesActiveFrame.vue +35 -0
  25. package/dist/runtime/components/LayoutEdgesActiveFrame.vue.d.ts +2 -0
  26. package/dist/runtime/components/LayoutFrame.d.vue.ts +7 -6
  27. package/dist/runtime/components/LayoutFrame.vue +18 -14
  28. package/dist/runtime/components/LayoutFrame.vue.d.ts +7 -6
  29. package/dist/runtime/components/LayoutIntersectionHandle.d.vue.ts +10 -0
  30. package/dist/runtime/components/LayoutIntersectionHandle.vue +36 -0
  31. package/dist/runtime/components/LayoutIntersectionHandle.vue.d.ts +10 -0
  32. package/dist/runtime/components/LayoutIntersectionVisible.d.vue.ts +6 -0
  33. package/dist/runtime/components/LayoutIntersectionVisible.vue +34 -0
  34. package/dist/runtime/components/LayoutIntersectionVisible.vue.d.ts +6 -0
  35. package/dist/runtime/components/LayoutIntersections.d.vue.ts +21 -0
  36. package/dist/runtime/components/LayoutIntersections.vue +52 -0
  37. package/dist/runtime/components/LayoutIntersections.vue.d.ts +21 -0
  38. package/dist/runtime/components/{LayoutShapeSquare.d.vue.ts → LayoutShapeRect.d.vue.ts} +2 -2
  39. package/dist/runtime/components/{LayoutShapeSquare.vue.d.ts → LayoutShapeRect.vue.d.ts} +2 -2
  40. package/dist/runtime/components/LayoutWindow.d.vue.ts +252 -14
  41. package/dist/runtime/components/LayoutWindow.vue +27 -48
  42. package/dist/runtime/components/LayoutWindow.vue.d.ts +252 -14
  43. package/dist/runtime/composables/useFrames.d.ts +859 -2
  44. package/dist/runtime/composables/useFrames.js +2 -0
  45. package/dist/runtime/demo/App.vue +122 -74
  46. package/dist/runtime/demo/DemoControls.vue +7 -5
  47. package/dist/runtime/demo/index.html +12 -0
  48. package/dist/runtime/demo/tailwind.css +1 -1
  49. package/dist/runtime/drag/CloseAction.d.ts +1 -2
  50. package/dist/runtime/drag/CloseAction.js +1 -1
  51. package/dist/runtime/drag/DragActionHandler.d.ts +5 -3
  52. package/dist/runtime/drag/DragActionHandler.js +40 -6
  53. package/dist/runtime/drag/FrameDragAction.js +6 -7
  54. package/dist/runtime/drag/SplitAction.d.ts +1 -2
  55. package/dist/runtime/drag/SplitAction.js +1 -1
  56. package/dist/runtime/drag/createDefaultHandlers.d.ts +1 -1
  57. package/dist/runtime/drag/defaultDragActions.d.ts +1 -1
  58. package/dist/runtime/helpers/consoleDebugWindow.d.ts +43 -0
  59. package/dist/runtime/helpers/consoleDebugWindow.js +222 -0
  60. package/dist/runtime/helpers/convertLayoutWindowToWorkspace.js +2 -2
  61. package/dist/runtime/helpers/framesRedistributeFix.d.ts +87 -0
  62. package/dist/runtime/helpers/framesRedistributeFix.js +54 -0
  63. package/dist/runtime/helpers/getMoveEdgeInfo.d.ts +6 -2
  64. package/dist/runtime/helpers/getMoveEdgeInfo.js +11 -2
  65. package/dist/runtime/helpers/getPinnedEdgesForCollapsedFrames.d.ts +5 -0
  66. package/dist/runtime/helpers/getPinnedEdgesForCollapsedFrames.js +18 -0
  67. package/dist/runtime/helpers/getShapeRectCss.d.ts +7 -0
  68. package/dist/runtime/helpers/{getShapeSquareCss.js → getShapeRectCss.js} +1 -1
  69. package/dist/runtime/helpers/index.d.ts +3 -3
  70. package/dist/runtime/helpers/index.js +3 -3
  71. package/dist/runtime/helpers/moveEdge.js +3 -1
  72. package/dist/runtime/helpers/pxSizeToScaledSize.d.ts +2 -0
  73. package/dist/runtime/helpers/{numberToScaledSize.js → pxSizeToScaledSize.js} +1 -1
  74. package/dist/runtime/helpers/updateWindowSizeWithEvent.d.ts +3 -0
  75. package/dist/runtime/helpers/validateLayoutShape.d.ts +5 -0
  76. package/dist/runtime/helpers/validateLayoutShape.js +28 -0
  77. package/dist/runtime/layout/applyFrameChanges.js +6 -0
  78. package/dist/runtime/layout/createSplitDecoShapes.js +1 -1
  79. package/dist/runtime/layout/getFrameCollapseInfo.d.ts +5 -2
  80. package/dist/runtime/layout/getFrameCollapseInfo.js +16 -46
  81. package/dist/runtime/layout/getFrameDockInfo.d.ts +1 -1
  82. package/dist/runtime/layout/getFrameDockInfo.js +5 -1
  83. package/dist/runtime/layout/getFrameUncollapseInfo.d.ts +5 -2
  84. package/dist/runtime/layout/getFrameUncollapseInfo.js +16 -50
  85. package/dist/runtime/layout/getFramesRedistributeInfo.d.ts +20 -4
  86. package/dist/runtime/layout/getFramesRedistributeInfo.js +31 -2
  87. package/dist/runtime/layout/getRelaxFramesInfo.d.ts +7 -0
  88. package/dist/runtime/layout/getRelaxFramesInfo.js +91 -0
  89. package/dist/runtime/layout/getUpdateWindowSizeInfo.d.ts +13 -0
  90. package/dist/runtime/layout/getUpdateWindowSizeInfo.js +65 -0
  91. package/dist/runtime/layout/index.d.ts +1 -0
  92. package/dist/runtime/layout/index.js +1 -0
  93. package/dist/runtime/layout/resizeFrame.js +1 -3
  94. package/dist/runtime/settings.d.ts +26 -19
  95. package/dist/runtime/settings.js +57 -22
  96. package/dist/runtime/types/index.d.ts +1243 -30
  97. package/dist/runtime/types/index.js +22 -8
  98. package/dist/runtime/types/vue.d.ts +41 -0
  99. package/dist/runtime/{drag/types.js → types/vue.js} +1 -0
  100. package/dist/runtime/utils/cssToKey.d.ts +5 -0
  101. package/dist/runtime/utils/cssToKey.js +3 -0
  102. package/package.json +11 -12
  103. package/src/module.ts +6 -1
  104. package/src/runtime/components/FrameDragHandle.vue +1 -1
  105. package/src/runtime/components/LayoutDecosEdges.vue +38 -0
  106. package/src/runtime/components/LayoutDecosRects.vue +42 -0
  107. package/src/runtime/components/LayoutDragEdgeGrabbed.vue +50 -0
  108. package/src/runtime/components/LayoutDragEdgeHandle.vue +52 -0
  109. package/src/runtime/components/LayoutDragEdgeVisible.vue +45 -0
  110. package/src/runtime/components/LayoutDragEdges.vue +78 -0
  111. package/src/runtime/components/LayoutEdgesActiveFrame.vue +43 -0
  112. package/src/runtime/components/LayoutFrame.vue +22 -15
  113. package/src/runtime/components/LayoutIntersectionHandle.vue +45 -0
  114. package/src/runtime/components/LayoutIntersectionVisible.vue +41 -0
  115. package/src/runtime/components/LayoutIntersections.vue +64 -0
  116. package/src/runtime/components/{LayoutShapeSquare.vue → LayoutShapeRect.vue} +2 -2
  117. package/src/runtime/components/LayoutWindow.vue +29 -49
  118. package/src/runtime/composables/useFrames.ts +7 -2
  119. package/src/runtime/demo/App.vue +128 -78
  120. package/src/runtime/demo/DemoControls.vue +7 -5
  121. package/src/runtime/demo/index.html +12 -0
  122. package/src/runtime/demo/tailwind.css +3 -0
  123. package/src/runtime/drag/CloseAction.ts +2 -3
  124. package/src/runtime/drag/DragActionHandler.ts +48 -10
  125. package/src/runtime/drag/FrameDragAction.ts +4 -5
  126. package/src/runtime/drag/SplitAction.ts +4 -3
  127. package/src/runtime/drag/createDefaultHandlers.ts +2 -1
  128. package/src/runtime/drag/defaultDragActions.ts +2 -1
  129. package/src/runtime/helpers/consoleDebugWindow.ts +331 -0
  130. package/src/runtime/helpers/convertLayoutWindowToWorkspace.ts +2 -2
  131. package/src/runtime/helpers/framesRedistributeFix.ts +162 -0
  132. package/src/runtime/helpers/getMoveEdgeInfo.ts +22 -5
  133. package/src/runtime/helpers/getPinnedEdgesForCollapsedFrames.ts +29 -0
  134. package/src/runtime/helpers/{getShapeSquareCss.ts → getShapeRectCss.ts} +3 -3
  135. package/src/runtime/helpers/index.ts +4 -3
  136. package/src/runtime/helpers/moveEdge.ts +3 -1
  137. package/src/runtime/helpers/{numberToScaledSize.ts → pxSizeToScaledSize.ts} +2 -2
  138. package/src/runtime/helpers/updateWindowSizeWithEvent.ts +3 -0
  139. package/src/runtime/helpers/validateLayoutShape.ts +46 -0
  140. package/src/runtime/layout/applyFrameChanges.ts +5 -0
  141. package/src/runtime/layout/createSplitDecoShapes.ts +1 -1
  142. package/src/runtime/layout/getFrameCollapseInfo.ts +26 -85
  143. package/src/runtime/layout/getFrameDockInfo.ts +8 -1
  144. package/src/runtime/layout/getFrameUncollapseInfo.ts +29 -96
  145. package/src/runtime/layout/getFramesRedistributeInfo.ts +60 -5
  146. package/src/runtime/layout/getRelaxFramesInfo.ts +139 -0
  147. package/src/runtime/layout/getUpdateWindowSizeInfo.ts +105 -0
  148. package/src/runtime/layout/index.ts +1 -0
  149. package/src/runtime/layout/resizeFrame.ts +4 -3
  150. package/src/runtime/settings.ts +78 -25
  151. package/src/runtime/types/index.ts +205 -33
  152. package/src/runtime/types/vue.ts +41 -0
  153. package/src/runtime/utils/cssToKey.ts +8 -0
  154. package/dist/runtime/components/LayoutDecos.vue +0 -26
  155. package/dist/runtime/components/LayoutEdges.d.vue.ts +0 -17
  156. package/dist/runtime/components/LayoutEdges.vue +0 -144
  157. package/dist/runtime/components/LayoutEdges.vue.d.ts +0 -17
  158. package/dist/runtime/drag/types.d.ts +0 -161
  159. package/dist/runtime/helpers/clampNumber.d.ts +0 -1
  160. package/dist/runtime/helpers/clampNumber.js +0 -3
  161. package/dist/runtime/helpers/getShapeSquareCss.d.ts +0 -7
  162. package/dist/runtime/helpers/numberToScaledSize.d.ts +0 -2
  163. package/src/runtime/components/LayoutDecos.vue +0 -28
  164. package/src/runtime/components/LayoutEdges.vue +0 -170
  165. package/src/runtime/drag/types.ts +0 -177
  166. package/src/runtime/helpers/clampNumber.ts +0 -9
  167. /package/dist/runtime/components/{LayoutShapeSquare.vue → LayoutShapeRect.vue} +0 -0
@@ -1,6 +1,5 @@
1
1
  import type { Ref } from "vue";
2
- import type { DragChangeHandler, DragChangeResult, DragState, EdgeDragStartData, FrameDragStartData } from "../drag/types.js";
3
- import type { IntersectionEntry, LayoutFrame, LayoutWindow } from "../types/index.js";
2
+ import type { DragChangeHandler, DragChangeResult, DragState, Edge, EdgeDragStartData, FrameDragStartData, IntersectionEntry, LayoutFrame, LayoutWindow } from "../types/index.js";
4
3
  export declare function useFrames(win: Ref<LayoutWindow>, handler: {
5
4
  eventHandler: (e: KeyboardEvent, state: DragState, forceRecalculateEdges: () => void) => void;
6
5
  /**
@@ -16,6 +15,10 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
16
15
  * Return false to not apply the regular drag end changes (i.e. return false to reset to the position before dragging).
17
16
  */
18
17
  onDragApply: ((state: DragState, forceRecalculateEdges: () => void) => boolean);
18
+ /**
19
+ * Called after visual edges are recalculated. Action handlers can annotate edges with error info.
20
+ */
21
+ annotateEdges?: (edges: Edge[], frames: LayoutFrame[]) => void;
19
22
  }): {
20
23
  dragStart: <T extends "edge" | "frame">(e: PointerEvent, type: T, data: T extends "edge" ? EdgeDragStartData : FrameDragStartData) => void;
21
24
  dragEnd: (e?: PointerEvent, { apply }?: {
@@ -43,16 +46,199 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
43
46
  startY: number;
44
47
  endX: number;
45
48
  endY: number;
49
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
50
+ id: string | undefined;
51
+ } | {
52
+ id: string | undefined;
53
+ } | {
54
+ size: import("../types/index.js").Size;
55
+ } | Record<string, never> | {
56
+ frame: LayoutFrame;
57
+ } | {
58
+ frame: LayoutFrame;
59
+ nearbyFrames: LayoutFrame[];
60
+ minSize: import("../types/index.js").Size;
61
+ } | {
62
+ frame: LayoutFrame;
63
+ } | {
64
+ frame: LayoutFrame;
65
+ newSize: number;
66
+ minSize: number;
67
+ } | {
68
+ frame: LayoutFrame;
69
+ framesRequiredToBeDeleted: LayoutFrame[];
70
+ } | {
71
+ frame: LayoutFrame;
72
+ } | {
73
+ draggingFrameId: string;
74
+ hoveredFrameId: string;
75
+ zoneSide: import("../types/index.js").DragZone["side"];
76
+ } | {
77
+ draggingFrameId: string;
78
+ hoveredFrameId: string;
79
+ zoneSide: import("../types/index.js").DragZone["side"];
80
+ } | {
81
+ draggingFrameId: string;
82
+ hoveredFrameId: string;
83
+ zoneSide: import("../types/index.js").DragZone["side"];
84
+ } | {
85
+ frame: LayoutFrame;
86
+ } | {
87
+ minFrameSize: number;
88
+ frameSizeNeeded: number;
89
+ } | {
90
+ min: number;
91
+ max: number;
92
+ wanted: number;
93
+ } | {
94
+ problemEdgeCoordinates: number[];
95
+ } | {
96
+ side: import("../types/index.js").EdgeSide;
97
+ id: string;
98
+ } | {
99
+ frame: string;
100
+ } | {
101
+ frame: LayoutFrame;
102
+ } | {
103
+ frame: LayoutFrame;
104
+ } | {
105
+ frame: LayoutFrame;
106
+ }> | {
107
+ code: string;
108
+ message: string;
109
+ } | undefined;
46
110
  }[], {
47
111
  startX: number;
48
112
  startY: number;
49
113
  endX: number;
50
114
  endY: number;
115
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
116
+ id: string | undefined;
117
+ } | {
118
+ id: string | undefined;
119
+ } | {
120
+ size: import("../types/index.js").Size;
121
+ } | Record<string, never> | {
122
+ frame: LayoutFrame;
123
+ } | {
124
+ frame: LayoutFrame;
125
+ nearbyFrames: LayoutFrame[];
126
+ minSize: import("../types/index.js").Size;
127
+ } | {
128
+ frame: LayoutFrame;
129
+ } | {
130
+ frame: LayoutFrame;
131
+ newSize: number;
132
+ minSize: number;
133
+ } | {
134
+ frame: LayoutFrame;
135
+ framesRequiredToBeDeleted: LayoutFrame[];
136
+ } | {
137
+ frame: LayoutFrame;
138
+ } | {
139
+ draggingFrameId: string;
140
+ hoveredFrameId: string;
141
+ zoneSide: import("../types/index.js").DragZone["side"];
142
+ } | {
143
+ draggingFrameId: string;
144
+ hoveredFrameId: string;
145
+ zoneSide: import("../types/index.js").DragZone["side"];
146
+ } | {
147
+ draggingFrameId: string;
148
+ hoveredFrameId: string;
149
+ zoneSide: import("../types/index.js").DragZone["side"];
150
+ } | {
151
+ frame: LayoutFrame;
152
+ } | {
153
+ minFrameSize: number;
154
+ frameSizeNeeded: number;
155
+ } | {
156
+ min: number;
157
+ max: number;
158
+ wanted: number;
159
+ } | {
160
+ problemEdgeCoordinates: number[];
161
+ } | {
162
+ side: import("../types/index.js").EdgeSide;
163
+ id: string;
164
+ } | {
165
+ frame: string;
166
+ } | {
167
+ frame: LayoutFrame;
168
+ } | {
169
+ frame: LayoutFrame;
170
+ } | {
171
+ frame: LayoutFrame;
172
+ }> | {
173
+ code: string;
174
+ message: string;
175
+ } | undefined;
51
176
  }[] | {
52
177
  startX: number;
53
178
  startY: number;
54
179
  endX: number;
55
180
  endY: number;
181
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
182
+ id: string | undefined;
183
+ } | {
184
+ id: string | undefined;
185
+ } | {
186
+ size: import("../types/index.js").Size;
187
+ } | Record<string, never> | {
188
+ frame: LayoutFrame;
189
+ } | {
190
+ frame: LayoutFrame;
191
+ nearbyFrames: LayoutFrame[];
192
+ minSize: import("../types/index.js").Size;
193
+ } | {
194
+ frame: LayoutFrame;
195
+ } | {
196
+ frame: LayoutFrame;
197
+ newSize: number;
198
+ minSize: number;
199
+ } | {
200
+ frame: LayoutFrame;
201
+ framesRequiredToBeDeleted: LayoutFrame[];
202
+ } | {
203
+ frame: LayoutFrame;
204
+ } | {
205
+ draggingFrameId: string;
206
+ hoveredFrameId: string;
207
+ zoneSide: import("../types/index.js").DragZone["side"];
208
+ } | {
209
+ draggingFrameId: string;
210
+ hoveredFrameId: string;
211
+ zoneSide: import("../types/index.js").DragZone["side"];
212
+ } | {
213
+ draggingFrameId: string;
214
+ hoveredFrameId: string;
215
+ zoneSide: import("../types/index.js").DragZone["side"];
216
+ } | {
217
+ frame: LayoutFrame;
218
+ } | {
219
+ minFrameSize: number;
220
+ frameSizeNeeded: number;
221
+ } | {
222
+ min: number;
223
+ max: number;
224
+ wanted: number;
225
+ } | {
226
+ problemEdgeCoordinates: number[];
227
+ } | {
228
+ side: import("../types/index.js").EdgeSide;
229
+ id: string;
230
+ } | {
231
+ frame: string;
232
+ } | {
233
+ frame: LayoutFrame;
234
+ } | {
235
+ frame: LayoutFrame;
236
+ } | {
237
+ frame: LayoutFrame;
238
+ }> | {
239
+ code: string;
240
+ message: string;
241
+ } | undefined;
56
242
  }[]>;
57
243
  draggingIntersection: Ref<{
58
244
  point: {
@@ -67,12 +253,134 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
67
253
  startY: number;
68
254
  endX: number;
69
255
  endY: number;
256
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
257
+ id: string | undefined;
258
+ } | {
259
+ id: string | undefined;
260
+ } | {
261
+ size: import("../types/index.js").Size;
262
+ } | Record<string, never> | {
263
+ frame: LayoutFrame;
264
+ } | {
265
+ frame: LayoutFrame;
266
+ nearbyFrames: LayoutFrame[];
267
+ minSize: import("../types/index.js").Size;
268
+ } | {
269
+ frame: LayoutFrame;
270
+ } | {
271
+ frame: LayoutFrame;
272
+ newSize: number;
273
+ minSize: number;
274
+ } | {
275
+ frame: LayoutFrame;
276
+ framesRequiredToBeDeleted: LayoutFrame[];
277
+ } | {
278
+ frame: LayoutFrame;
279
+ } | {
280
+ draggingFrameId: string;
281
+ hoveredFrameId: string;
282
+ zoneSide: import("../types/index.js").DragZone["side"];
283
+ } | {
284
+ draggingFrameId: string;
285
+ hoveredFrameId: string;
286
+ zoneSide: import("../types/index.js").DragZone["side"];
287
+ } | {
288
+ draggingFrameId: string;
289
+ hoveredFrameId: string;
290
+ zoneSide: import("../types/index.js").DragZone["side"];
291
+ } | {
292
+ frame: LayoutFrame;
293
+ } | {
294
+ minFrameSize: number;
295
+ frameSizeNeeded: number;
296
+ } | {
297
+ min: number;
298
+ max: number;
299
+ wanted: number;
300
+ } | {
301
+ problemEdgeCoordinates: number[];
302
+ } | {
303
+ side: import("../types/index.js").EdgeSide;
304
+ id: string;
305
+ } | {
306
+ frame: string;
307
+ } | {
308
+ frame: LayoutFrame;
309
+ } | {
310
+ frame: LayoutFrame;
311
+ } | {
312
+ frame: LayoutFrame;
313
+ }> | {
314
+ code: string;
315
+ message: string;
316
+ } | undefined;
70
317
  }[];
71
318
  vertical: {
72
319
  startX: number;
73
320
  startY: number;
74
321
  endX: number;
75
322
  endY: number;
323
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
324
+ id: string | undefined;
325
+ } | {
326
+ id: string | undefined;
327
+ } | {
328
+ size: import("../types/index.js").Size;
329
+ } | Record<string, never> | {
330
+ frame: LayoutFrame;
331
+ } | {
332
+ frame: LayoutFrame;
333
+ nearbyFrames: LayoutFrame[];
334
+ minSize: import("../types/index.js").Size;
335
+ } | {
336
+ frame: LayoutFrame;
337
+ } | {
338
+ frame: LayoutFrame;
339
+ newSize: number;
340
+ minSize: number;
341
+ } | {
342
+ frame: LayoutFrame;
343
+ framesRequiredToBeDeleted: LayoutFrame[];
344
+ } | {
345
+ frame: LayoutFrame;
346
+ } | {
347
+ draggingFrameId: string;
348
+ hoveredFrameId: string;
349
+ zoneSide: import("../types/index.js").DragZone["side"];
350
+ } | {
351
+ draggingFrameId: string;
352
+ hoveredFrameId: string;
353
+ zoneSide: import("../types/index.js").DragZone["side"];
354
+ } | {
355
+ draggingFrameId: string;
356
+ hoveredFrameId: string;
357
+ zoneSide: import("../types/index.js").DragZone["side"];
358
+ } | {
359
+ frame: LayoutFrame;
360
+ } | {
361
+ minFrameSize: number;
362
+ frameSizeNeeded: number;
363
+ } | {
364
+ min: number;
365
+ max: number;
366
+ wanted: number;
367
+ } | {
368
+ problemEdgeCoordinates: number[];
369
+ } | {
370
+ side: import("../types/index.js").EdgeSide;
371
+ id: string;
372
+ } | {
373
+ frame: string;
374
+ } | {
375
+ frame: LayoutFrame;
376
+ } | {
377
+ frame: LayoutFrame;
378
+ } | {
379
+ frame: LayoutFrame;
380
+ }> | {
381
+ code: string;
382
+ message: string;
383
+ } | undefined;
76
384
  }[];
77
385
  };
78
386
  isWindowEdge: boolean;
@@ -89,12 +397,134 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
89
397
  startY: number;
90
398
  endX: number;
91
399
  endY: number;
400
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
401
+ id: string | undefined;
402
+ } | {
403
+ id: string | undefined;
404
+ } | {
405
+ size: import("../types/index.js").Size;
406
+ } | Record<string, never> | {
407
+ frame: LayoutFrame;
408
+ } | {
409
+ frame: LayoutFrame;
410
+ nearbyFrames: LayoutFrame[];
411
+ minSize: import("../types/index.js").Size;
412
+ } | {
413
+ frame: LayoutFrame;
414
+ } | {
415
+ frame: LayoutFrame;
416
+ newSize: number;
417
+ minSize: number;
418
+ } | {
419
+ frame: LayoutFrame;
420
+ framesRequiredToBeDeleted: LayoutFrame[];
421
+ } | {
422
+ frame: LayoutFrame;
423
+ } | {
424
+ draggingFrameId: string;
425
+ hoveredFrameId: string;
426
+ zoneSide: import("../types/index.js").DragZone["side"];
427
+ } | {
428
+ draggingFrameId: string;
429
+ hoveredFrameId: string;
430
+ zoneSide: import("../types/index.js").DragZone["side"];
431
+ } | {
432
+ draggingFrameId: string;
433
+ hoveredFrameId: string;
434
+ zoneSide: import("../types/index.js").DragZone["side"];
435
+ } | {
436
+ frame: LayoutFrame;
437
+ } | {
438
+ minFrameSize: number;
439
+ frameSizeNeeded: number;
440
+ } | {
441
+ min: number;
442
+ max: number;
443
+ wanted: number;
444
+ } | {
445
+ problemEdgeCoordinates: number[];
446
+ } | {
447
+ side: import("../types/index.js").EdgeSide;
448
+ id: string;
449
+ } | {
450
+ frame: string;
451
+ } | {
452
+ frame: LayoutFrame;
453
+ } | {
454
+ frame: LayoutFrame;
455
+ } | {
456
+ frame: LayoutFrame;
457
+ }> | {
458
+ code: string;
459
+ message: string;
460
+ } | undefined;
92
461
  }[];
93
462
  vertical: {
94
463
  startX: number;
95
464
  startY: number;
96
465
  endX: number;
97
466
  endY: number;
467
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
468
+ id: string | undefined;
469
+ } | {
470
+ id: string | undefined;
471
+ } | {
472
+ size: import("../types/index.js").Size;
473
+ } | Record<string, never> | {
474
+ frame: LayoutFrame;
475
+ } | {
476
+ frame: LayoutFrame;
477
+ nearbyFrames: LayoutFrame[];
478
+ minSize: import("../types/index.js").Size;
479
+ } | {
480
+ frame: LayoutFrame;
481
+ } | {
482
+ frame: LayoutFrame;
483
+ newSize: number;
484
+ minSize: number;
485
+ } | {
486
+ frame: LayoutFrame;
487
+ framesRequiredToBeDeleted: LayoutFrame[];
488
+ } | {
489
+ frame: LayoutFrame;
490
+ } | {
491
+ draggingFrameId: string;
492
+ hoveredFrameId: string;
493
+ zoneSide: import("../types/index.js").DragZone["side"];
494
+ } | {
495
+ draggingFrameId: string;
496
+ hoveredFrameId: string;
497
+ zoneSide: import("../types/index.js").DragZone["side"];
498
+ } | {
499
+ draggingFrameId: string;
500
+ hoveredFrameId: string;
501
+ zoneSide: import("../types/index.js").DragZone["side"];
502
+ } | {
503
+ frame: LayoutFrame;
504
+ } | {
505
+ minFrameSize: number;
506
+ frameSizeNeeded: number;
507
+ } | {
508
+ min: number;
509
+ max: number;
510
+ wanted: number;
511
+ } | {
512
+ problemEdgeCoordinates: number[];
513
+ } | {
514
+ side: import("../types/index.js").EdgeSide;
515
+ id: string;
516
+ } | {
517
+ frame: string;
518
+ } | {
519
+ frame: LayoutFrame;
520
+ } | {
521
+ frame: LayoutFrame;
522
+ } | {
523
+ frame: LayoutFrame;
524
+ }> | {
525
+ code: string;
526
+ message: string;
527
+ } | undefined;
98
528
  }[];
99
529
  };
100
530
  isWindowEdge: boolean;
@@ -104,16 +534,199 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
104
534
  startY: number;
105
535
  endX: number;
106
536
  endY: number;
537
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
538
+ id: string | undefined;
539
+ } | {
540
+ id: string | undefined;
541
+ } | {
542
+ size: import("../types/index.js").Size;
543
+ } | Record<string, never> | {
544
+ frame: LayoutFrame;
545
+ } | {
546
+ frame: LayoutFrame;
547
+ nearbyFrames: LayoutFrame[];
548
+ minSize: import("../types/index.js").Size;
549
+ } | {
550
+ frame: LayoutFrame;
551
+ } | {
552
+ frame: LayoutFrame;
553
+ newSize: number;
554
+ minSize: number;
555
+ } | {
556
+ frame: LayoutFrame;
557
+ framesRequiredToBeDeleted: LayoutFrame[];
558
+ } | {
559
+ frame: LayoutFrame;
560
+ } | {
561
+ draggingFrameId: string;
562
+ hoveredFrameId: string;
563
+ zoneSide: import("../types/index.js").DragZone["side"];
564
+ } | {
565
+ draggingFrameId: string;
566
+ hoveredFrameId: string;
567
+ zoneSide: import("../types/index.js").DragZone["side"];
568
+ } | {
569
+ draggingFrameId: string;
570
+ hoveredFrameId: string;
571
+ zoneSide: import("../types/index.js").DragZone["side"];
572
+ } | {
573
+ frame: LayoutFrame;
574
+ } | {
575
+ minFrameSize: number;
576
+ frameSizeNeeded: number;
577
+ } | {
578
+ min: number;
579
+ max: number;
580
+ wanted: number;
581
+ } | {
582
+ problemEdgeCoordinates: number[];
583
+ } | {
584
+ side: import("../types/index.js").EdgeSide;
585
+ id: string;
586
+ } | {
587
+ frame: string;
588
+ } | {
589
+ frame: LayoutFrame;
590
+ } | {
591
+ frame: LayoutFrame;
592
+ } | {
593
+ frame: LayoutFrame;
594
+ }> | {
595
+ code: string;
596
+ message: string;
597
+ } | undefined;
107
598
  }[], {
108
599
  startX: number;
109
600
  startY: number;
110
601
  endX: number;
111
602
  endY: number;
603
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
604
+ id: string | undefined;
605
+ } | {
606
+ id: string | undefined;
607
+ } | {
608
+ size: import("../types/index.js").Size;
609
+ } | Record<string, never> | {
610
+ frame: LayoutFrame;
611
+ } | {
612
+ frame: LayoutFrame;
613
+ nearbyFrames: LayoutFrame[];
614
+ minSize: import("../types/index.js").Size;
615
+ } | {
616
+ frame: LayoutFrame;
617
+ } | {
618
+ frame: LayoutFrame;
619
+ newSize: number;
620
+ minSize: number;
621
+ } | {
622
+ frame: LayoutFrame;
623
+ framesRequiredToBeDeleted: LayoutFrame[];
624
+ } | {
625
+ frame: LayoutFrame;
626
+ } | {
627
+ draggingFrameId: string;
628
+ hoveredFrameId: string;
629
+ zoneSide: import("../types/index.js").DragZone["side"];
630
+ } | {
631
+ draggingFrameId: string;
632
+ hoveredFrameId: string;
633
+ zoneSide: import("../types/index.js").DragZone["side"];
634
+ } | {
635
+ draggingFrameId: string;
636
+ hoveredFrameId: string;
637
+ zoneSide: import("../types/index.js").DragZone["side"];
638
+ } | {
639
+ frame: LayoutFrame;
640
+ } | {
641
+ minFrameSize: number;
642
+ frameSizeNeeded: number;
643
+ } | {
644
+ min: number;
645
+ max: number;
646
+ wanted: number;
647
+ } | {
648
+ problemEdgeCoordinates: number[];
649
+ } | {
650
+ side: import("../types/index.js").EdgeSide;
651
+ id: string;
652
+ } | {
653
+ frame: string;
654
+ } | {
655
+ frame: LayoutFrame;
656
+ } | {
657
+ frame: LayoutFrame;
658
+ } | {
659
+ frame: LayoutFrame;
660
+ }> | {
661
+ code: string;
662
+ message: string;
663
+ } | undefined;
112
664
  }[] | {
113
665
  startX: number;
114
666
  startY: number;
115
667
  endX: number;
116
668
  endY: number;
669
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
670
+ id: string | undefined;
671
+ } | {
672
+ id: string | undefined;
673
+ } | {
674
+ size: import("../types/index.js").Size;
675
+ } | Record<string, never> | {
676
+ frame: LayoutFrame;
677
+ } | {
678
+ frame: LayoutFrame;
679
+ nearbyFrames: LayoutFrame[];
680
+ minSize: import("../types/index.js").Size;
681
+ } | {
682
+ frame: LayoutFrame;
683
+ } | {
684
+ frame: LayoutFrame;
685
+ newSize: number;
686
+ minSize: number;
687
+ } | {
688
+ frame: LayoutFrame;
689
+ framesRequiredToBeDeleted: LayoutFrame[];
690
+ } | {
691
+ frame: LayoutFrame;
692
+ } | {
693
+ draggingFrameId: string;
694
+ hoveredFrameId: string;
695
+ zoneSide: import("../types/index.js").DragZone["side"];
696
+ } | {
697
+ draggingFrameId: string;
698
+ hoveredFrameId: string;
699
+ zoneSide: import("../types/index.js").DragZone["side"];
700
+ } | {
701
+ draggingFrameId: string;
702
+ hoveredFrameId: string;
703
+ zoneSide: import("../types/index.js").DragZone["side"];
704
+ } | {
705
+ frame: LayoutFrame;
706
+ } | {
707
+ minFrameSize: number;
708
+ frameSizeNeeded: number;
709
+ } | {
710
+ min: number;
711
+ max: number;
712
+ wanted: number;
713
+ } | {
714
+ problemEdgeCoordinates: number[];
715
+ } | {
716
+ side: import("../types/index.js").EdgeSide;
717
+ id: string;
718
+ } | {
719
+ frame: string;
720
+ } | {
721
+ frame: LayoutFrame;
722
+ } | {
723
+ frame: LayoutFrame;
724
+ } | {
725
+ frame: LayoutFrame;
726
+ }> | {
727
+ code: string;
728
+ message: string;
729
+ } | undefined;
117
730
  }[]>;
118
731
  touchingFrames: Ref<Record<string, LayoutFrame>[], Record<string, LayoutFrame>[]>;
119
732
  touchingFramesArrays: import("vue").ComputedRef<LayoutFrame[][]>;
@@ -139,6 +752,67 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
139
752
  startY: number;
140
753
  endX: number;
141
754
  endY: number;
755
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
756
+ id: string | undefined;
757
+ } | {
758
+ id: string | undefined;
759
+ } | {
760
+ size: import("../types/index.js").Size;
761
+ } | Record<string, never> | {
762
+ frame: LayoutFrame;
763
+ } | {
764
+ frame: LayoutFrame;
765
+ nearbyFrames: LayoutFrame[];
766
+ minSize: import("../types/index.js").Size;
767
+ } | {
768
+ frame: LayoutFrame;
769
+ } | {
770
+ frame: LayoutFrame;
771
+ newSize: number;
772
+ minSize: number;
773
+ } | {
774
+ frame: LayoutFrame;
775
+ framesRequiredToBeDeleted: LayoutFrame[];
776
+ } | {
777
+ frame: LayoutFrame;
778
+ } | {
779
+ draggingFrameId: string;
780
+ hoveredFrameId: string;
781
+ zoneSide: import("../types/index.js").DragZone["side"];
782
+ } | {
783
+ draggingFrameId: string;
784
+ hoveredFrameId: string;
785
+ zoneSide: import("../types/index.js").DragZone["side"];
786
+ } | {
787
+ draggingFrameId: string;
788
+ hoveredFrameId: string;
789
+ zoneSide: import("../types/index.js").DragZone["side"];
790
+ } | {
791
+ frame: LayoutFrame;
792
+ } | {
793
+ minFrameSize: number;
794
+ frameSizeNeeded: number;
795
+ } | {
796
+ min: number;
797
+ max: number;
798
+ wanted: number;
799
+ } | {
800
+ problemEdgeCoordinates: number[];
801
+ } | {
802
+ side: import("../types/index.js").EdgeSide;
803
+ id: string;
804
+ } | {
805
+ frame: string;
806
+ } | {
807
+ frame: LayoutFrame;
808
+ } | {
809
+ frame: LayoutFrame;
810
+ } | {
811
+ frame: LayoutFrame;
812
+ }> | {
813
+ code: string;
814
+ message: string;
815
+ } | undefined;
142
816
  }[];
143
817
  draggingIntersection: {
144
818
  point: {
@@ -153,12 +827,134 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
153
827
  startY: number;
154
828
  endX: number;
155
829
  endY: number;
830
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
831
+ id: string | undefined;
832
+ } | {
833
+ id: string | undefined;
834
+ } | {
835
+ size: import("../types/index.js").Size;
836
+ } | Record<string, never> | {
837
+ frame: LayoutFrame;
838
+ } | {
839
+ frame: LayoutFrame;
840
+ nearbyFrames: LayoutFrame[];
841
+ minSize: import("../types/index.js").Size;
842
+ } | {
843
+ frame: LayoutFrame;
844
+ } | {
845
+ frame: LayoutFrame;
846
+ newSize: number;
847
+ minSize: number;
848
+ } | {
849
+ frame: LayoutFrame;
850
+ framesRequiredToBeDeleted: LayoutFrame[];
851
+ } | {
852
+ frame: LayoutFrame;
853
+ } | {
854
+ draggingFrameId: string;
855
+ hoveredFrameId: string;
856
+ zoneSide: import("../types/index.js").DragZone["side"];
857
+ } | {
858
+ draggingFrameId: string;
859
+ hoveredFrameId: string;
860
+ zoneSide: import("../types/index.js").DragZone["side"];
861
+ } | {
862
+ draggingFrameId: string;
863
+ hoveredFrameId: string;
864
+ zoneSide: import("../types/index.js").DragZone["side"];
865
+ } | {
866
+ frame: LayoutFrame;
867
+ } | {
868
+ minFrameSize: number;
869
+ frameSizeNeeded: number;
870
+ } | {
871
+ min: number;
872
+ max: number;
873
+ wanted: number;
874
+ } | {
875
+ problemEdgeCoordinates: number[];
876
+ } | {
877
+ side: import("../types/index.js").EdgeSide;
878
+ id: string;
879
+ } | {
880
+ frame: string;
881
+ } | {
882
+ frame: LayoutFrame;
883
+ } | {
884
+ frame: LayoutFrame;
885
+ } | {
886
+ frame: LayoutFrame;
887
+ }> | {
888
+ code: string;
889
+ message: string;
890
+ } | undefined;
156
891
  }[];
157
892
  vertical: {
158
893
  startX: number;
159
894
  startY: number;
160
895
  endX: number;
161
896
  endY: number;
897
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
898
+ id: string | undefined;
899
+ } | {
900
+ id: string | undefined;
901
+ } | {
902
+ size: import("../types/index.js").Size;
903
+ } | Record<string, never> | {
904
+ frame: LayoutFrame;
905
+ } | {
906
+ frame: LayoutFrame;
907
+ nearbyFrames: LayoutFrame[];
908
+ minSize: import("../types/index.js").Size;
909
+ } | {
910
+ frame: LayoutFrame;
911
+ } | {
912
+ frame: LayoutFrame;
913
+ newSize: number;
914
+ minSize: number;
915
+ } | {
916
+ frame: LayoutFrame;
917
+ framesRequiredToBeDeleted: LayoutFrame[];
918
+ } | {
919
+ frame: LayoutFrame;
920
+ } | {
921
+ draggingFrameId: string;
922
+ hoveredFrameId: string;
923
+ zoneSide: import("../types/index.js").DragZone["side"];
924
+ } | {
925
+ draggingFrameId: string;
926
+ hoveredFrameId: string;
927
+ zoneSide: import("../types/index.js").DragZone["side"];
928
+ } | {
929
+ draggingFrameId: string;
930
+ hoveredFrameId: string;
931
+ zoneSide: import("../types/index.js").DragZone["side"];
932
+ } | {
933
+ frame: LayoutFrame;
934
+ } | {
935
+ minFrameSize: number;
936
+ frameSizeNeeded: number;
937
+ } | {
938
+ min: number;
939
+ max: number;
940
+ wanted: number;
941
+ } | {
942
+ problemEdgeCoordinates: number[];
943
+ } | {
944
+ side: import("../types/index.js").EdgeSide;
945
+ id: string;
946
+ } | {
947
+ frame: string;
948
+ } | {
949
+ frame: LayoutFrame;
950
+ } | {
951
+ frame: LayoutFrame;
952
+ } | {
953
+ frame: LayoutFrame;
954
+ }> | {
955
+ code: string;
956
+ message: string;
957
+ } | undefined;
162
958
  }[];
163
959
  };
164
960
  isWindowEdge: boolean;
@@ -168,6 +964,67 @@ export declare function useFrames(win: Ref<LayoutWindow>, handler: {
168
964
  startY: number;
169
965
  endX: number;
170
966
  endY: number;
967
+ error?: import("../utils/KnownError.js").KnownError<import("../types/index.js").LayoutError, {} | {
968
+ id: string | undefined;
969
+ } | {
970
+ id: string | undefined;
971
+ } | {
972
+ size: import("../types/index.js").Size;
973
+ } | Record<string, never> | {
974
+ frame: LayoutFrame;
975
+ } | {
976
+ frame: LayoutFrame;
977
+ nearbyFrames: LayoutFrame[];
978
+ minSize: import("../types/index.js").Size;
979
+ } | {
980
+ frame: LayoutFrame;
981
+ } | {
982
+ frame: LayoutFrame;
983
+ newSize: number;
984
+ minSize: number;
985
+ } | {
986
+ frame: LayoutFrame;
987
+ framesRequiredToBeDeleted: LayoutFrame[];
988
+ } | {
989
+ frame: LayoutFrame;
990
+ } | {
991
+ draggingFrameId: string;
992
+ hoveredFrameId: string;
993
+ zoneSide: import("../types/index.js").DragZone["side"];
994
+ } | {
995
+ draggingFrameId: string;
996
+ hoveredFrameId: string;
997
+ zoneSide: import("../types/index.js").DragZone["side"];
998
+ } | {
999
+ draggingFrameId: string;
1000
+ hoveredFrameId: string;
1001
+ zoneSide: import("../types/index.js").DragZone["side"];
1002
+ } | {
1003
+ frame: LayoutFrame;
1004
+ } | {
1005
+ minFrameSize: number;
1006
+ frameSizeNeeded: number;
1007
+ } | {
1008
+ min: number;
1009
+ max: number;
1010
+ wanted: number;
1011
+ } | {
1012
+ problemEdgeCoordinates: number[];
1013
+ } | {
1014
+ side: import("../types/index.js").EdgeSide;
1015
+ id: string;
1016
+ } | {
1017
+ frame: string;
1018
+ } | {
1019
+ frame: LayoutFrame;
1020
+ } | {
1021
+ frame: LayoutFrame;
1022
+ } | {
1023
+ frame: LayoutFrame;
1024
+ }> | {
1025
+ code: string;
1026
+ message: string;
1027
+ } | undefined;
171
1028
  }[];
172
1029
  touchingFrames: Record<string, LayoutFrame>[];
173
1030
  touchingFramesArrays: LayoutFrame[][];