import { useContext, useCallback } from 'react'; import { I18nReceiver as Receiver } from '../i18n'; import SinglePicker from './components/SinglePickerBase'; import MonthPanel from './panels/month-panel'; import { DisabledContext } from '../disabled'; import PickerContext from './context/PickerContext'; import { getCallbackValueWithDate } from './utils/getValueInSinglePicker'; import { dateConfig } from './utils/dateUtils'; import { formatText } from './utils/formatInputText'; import { ISingleProps, IGenerateDateConfig, IValueType, ISingleRelatedType, } from './types'; import { MONTH_FORMAT, defaultDatePickerCommonProps } from './constants'; const generateDate: IGenerateDateConfig = dateConfig.month; const PickerContextProvider = PickerContext.Provider; export interface IMonthPickerProps extends Omit, ISingleRelatedType {} const DefaultMonthPickerProps = { format: MONTH_FORMAT, }; export const MonthPicker = ( props: IMonthPickerProps ) => { const disabledContext = useContext(DisabledContext); const propsRequired = { ...defaultDatePickerCommonProps, ...DefaultMonthPickerProps, ...props, }; const { format, valueType, placeholder, disabled = disabledContext.value, } = propsRequired; const getInputText = useCallback( (val: Date | null) => formatText(val, format), [format] ); const getSelectedValue = useCallback((val: Date) => val, []); const getCallbackValue = useCallback( (val: Date) => getCallbackValueWithDate(val, valueType, format), [valueType, format] ); return ( {i18n => ( )} ); }; export default MonthPicker;