JSFiddle - React, Tailwind, and code Playground

HTML

<pre id='a'></pre>

JavaScript

h=[...' 123\n5674\n9AB8\nDEFC'];y=0;onkeyup=e=>d(e.which);d=q=>{m=h[y],h[y]=h[f=h[w=y+[-5,1,5,-1][q&3]]&&h[w]!='\n'?w:y],h[y=f]=m,a.innerHTML=h.join("")};for(i=1e4;i--;)d(Math.random()*4)