JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://maps.google.com/maps/api/js?sensor=false&amp;.js"></script>
<div id="map-canvas"></div>
<div id="sidebar"></div>

CSS

#map-canvas{
    width: 100%;
    height: 400px;
    right: 0;
    position: absolute;
}

#sidebar{
    width: 50%;
    left: -50%;
    height: 400px;
    background:red;
    position:absolute;
 }

JavaScript

var map;
var oldCenter;

var myOptions = {
    zoom: 6,
    center: new google.maps.LatLng(46.87916, -3.32910)
};
map = new google.maps.Map($('#map-canvas')[0],myOptions);
                  
google.maps.event.addListener(map, "click", function(event) { 
     if($("#map-canvas").width() < $(window).width()){
            $("#map-canvas").css("width", "100%");
            google.maps.event.trigger(map, 'resize');    
            map.setOptions({center: oldCenter}); 
            $("#sidebar").animate({left: "-" + 50 + "%"}, 500)
     }else{ 
         oldCenter = map.getCenter();
         var lngll = map.getBounds().getSouthWest().lng();
         var lngur = map.getBounds().getNorthEast().lng();
         var CenterLng = (lngur - lngll)*3/4+lngll;
         var CenterLat = oldCenter.lat();
         var newMapCenter = new google.maps.LatLng(CenterLat,CenterLng);
          $("#sidebar").animate({left:0}, 500, function(){
              $("#map-canvas").css("width", "50%");                    
              google.maps.event.trigger(map, 'resize');
              map.setCenter(newMapCenter);
          });    
     };                        
});