| 
					
				 | 
			
			
				@@ -331,10 +331,18 @@ class App extends React.Component { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let isDraggingElements = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const cursorStyle = document.documentElement.style.cursor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (this.state.elementType === "selection") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const selectedElement = elements.find(isInsideAnElement(x, y))  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const selectedElement = elements.find(element => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const isSelected = isInsideAnElement(x, y)(element) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (isSelected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  element.isSelected = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return isSelected 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              })  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (selectedElement) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.setState({ draggingElement: selectedElement }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                clearSelection() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               isDraggingElements = elements.some(element => element.isSelected); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -424,7 +432,7 @@ class App extends React.Component { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               document.documentElement.style.cursor = cursorStyle; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               // if no element is clicked, clear the selection and redraw 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if (draggingElement === null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (draggingElement === null ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 clearSelection() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 drawScene(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -435,7 +443,6 @@ class App extends React.Component { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   isDraggingElements = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 elements.pop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                setSelection(draggingElement); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 draggingElement.isSelected = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 |