import { useContext, useCallback } from 'react'; import { I18nReceiver as Receiver } from '../i18n'; import SinglePicker from './components/SinglePickerBase'; import YearPanel from './panels/year-panel'; import PickerContext from './context/PickerContext'; import { DisabledContext } from '../disabled'; import { getCallbackValueWithDate } from './utils/getValueInSinglePicker'; import { dateConfig } from './utils/dateUtils'; import { formatText } from './utils/formatInputText'; import { ISingleProps, IGenerateDateConfig, IValueType, ISingleRelatedType, } from './types'; import { YEAR_FORMAT, defaultDatePickerCommonProps } from './constants'; const generateDate: IGenerateDateConfig = dateConfig.year; const PickerContextProvider = PickerContext.Provider; export interface IYearPickerProps extends Omit, ISingleRelatedType {} const DefaultYearPickerProps = { format: YEAR_FORMAT, }; export const YearPicker = ( props: IYearPickerProps ) => { const disabledContext = useContext(DisabledContext); const propsRequired = { ...defaultDatePickerCommonProps, ...DefaultYearPickerProps, ...props, }; const { format, placeholder, valueType, 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 YearPicker;