CANT_CLOSE_NEARBY_FRAMES_TOO_SMALL
CANT_LEAVE_NO_UNDOCKED_FRAMES
CANT_LEAVE_NO_UNDOCKED_FRAMES: {}
CANT_REARRANGE_DOCKED_WITH_NON_DOCKED
CANT_REARRANGE_DOCKED_WITH_NON_DOCKED: { draggingFrameId: string; hoveredFrameId: string; zoneSide: DragZone["side"];} CANT_REARRANGE_TO_SAME_RELATIVE_POSITION
CANT_REARRANGE_TO_SAME_RELATIVE_POSITION: { draggingFrameId: string; hoveredFrameId: string; zoneSide: DragZone["side"];} CANT_REARRANGE_WITH_DOCKED_EDGES
CANT_REARRANGE_WITH_DOCKED_EDGES: { draggingFrameId: string; hoveredFrameId: string; zoneSide: DragZone["side"];} CANT_RESIZE
CANT_RESIZE: { size: Size } CANT_SPLIT_FRAME_TOO_SMALL
CANT_SPLIT_FRAME_TOO_SMALL: { frame: LayoutFrame; minSize: number; newSize: number;} CANT_UNCOLLAPSE_NOT_COLLAPSED
CANT_UNDOCK_COLLAPSED_FRAME
CANT_UNDOCK_COLLAPSED_FRAME: { frame: string }
FRAME_ALREADY_DOCKED_ON_SIDE
FRAME_ALREADY_DOCKED_ON_SIDE: { id: string; side: EdgeSide } ID_ALREADY_EXISTS
ID_ALREADY_EXISTS: { id: string | undefined }
INVALID_ID
INVALID_ID: { id: string | undefined }
NO_ACTIVE_FRAME
NO_ACTIVE_FRAME: Record<string, never>
NO_ACTIVE_WINDOW
NO_ACTIVE_WINDOW: Record<string, never>
NO_FILL_CANDIDATES
NO_FILL_CANDIDATES: {}
NO_SPACE_TO_REDISTRIBUTE
NO_SPACE_TO_REDISTRIBUTE: { frameSizeNeeded: number; minFrameSize: number }
REDISTRIBUTE_OUT_OF_BOUNDS
REDISTRIBUTE_OUT_OF_BOUNDS: { max: number; min: number; wanted: number }