import calendarIcon from '@fortawesome/fontawesome-free-regular/faCalendarAlt'; import FontAwesomeIcon from '@fortawesome/react-fontawesome'; import React from 'react'; import DatePicker from 'react-datepicker'; import './DateInput.scss'; import { isNil } from 'ramda'; export default class DateInput extends React.Component { constructor(props) { super(props); this.inputRef = React.createRef(); } render() { const { isClearable, selected } = this.props; const showCalendarIcon = !isClearable || isNil(selected); return ( <div className="date-input-container"> <DatePicker {...this.props} className={`date-input-container__input form-control ${this.props.className || ''}`} dateFormat="YYYY-MM-DD" readOnly ref={this.inputRef} /> {showCalendarIcon && ( <FontAwesomeIcon icon={calendarIcon} className="date-input-container__icon" onClick={() => this.inputRef.current.input.focus()} /> )} </div> ); } }