import { formatDate } from '@transferwise/formatting'; import { PureComponent } from 'react'; import { injectIntl, WrappedComponentProps } from 'react-intl'; import messages from '../DateLookup.messages'; import DateHeader from '../dateHeader'; import MonthCalendarTable from './table'; interface MonthCalendarProps extends WrappedComponentProps { selectedDate: Date | null; min: Date | null; max: Date | null; viewYear: number; placeholder: string; onSelect: () => void; onLabelClick: () => void; onViewDateUpdate: (date: { year?: number; month?: number }) => void; } class MonthCalendar extends PureComponent { onMonthSelect = (month: number) => { this.props.onViewDateUpdate({ month }); this.props.onSelect(); }; selectPreviousYear = () => { this.props.onViewDateUpdate({ year: this.props.viewYear - 1 }); }; selectNextYear = () => { this.props.onViewDateUpdate({ year: this.props.viewYear + 1 }); }; render() { const { selectedDate, min, max, viewYear, intl: { locale, formatMessage }, placeholder, onLabelClick, } = this.props; return ( <> ); } } export default injectIntl(MonthCalendar);