JSFiddle - React, Tailwind, and code Playground

JavaScript

// stdin shim
var i = 0,
    prompt = function(){ 
        return '\
1\n\
      X                                \n\
      X                                \n\
      X                                \n\
      X      XX    XXXXXX     X X X    \n\
      X      XX    XXXXXX     X X X    \n\
XXX   X      XX    XXXXXX     X X X    \n\
XXX   X      XX    XXXXXX     X X X    '.split('\n')[i++]; 
    };

// code:
for(c=p=+(P=prompt)(d='.');l=P();)console.log(p=l.replace(/ /g,function(a,b){return p[b]==d|p[b+=c]==d|l[b]=='X'?d:a}))