Vaadin components are a free, open source, high quality set of UI components. They ship with configurable built-in themes, have responsive mobile-first UI controls, they're accessible and well tested.
Install the component set
npm i react-vaadin-components
Once installed, import the and use the components in your React app
import {
VerticalLayout,
TextField,
Button
} from 'react-vaadin-components';
...
<VerticalLayout>
<TextField
label="Name"
clearButtonVisible
onValueChanged={e => this.setState({name: e.detail.value})}>
</TextField>
<Button
theme="primary"
disabled={!this.state.name}
onClick={e => alert('Hello ' + this.state.name)}>
Say Hello
</Button>
</VerticalLayout>