A adaptive input component made with Reactjs