import React, {Fragment, type ReactNode} from 'react';
import {View} from 'react-native';
import DatePickerDate from './DatePickerDate';
import DatePickerMonth from './DatePickerMonth';
import DatePickerYear from './DatePickerYear';
import {useDatePickerLocale} from './DatePickerLocaleProvider';
export type DateNodeType = 'date' | 'month' | 'year';
type DatePickerContainerProps = {
renderDate?: () => ReactNode;
renderMonth?: () => ReactNode;
renderYear?: () => ReactNode;
children: (props: {
dateNodes: {
node: ReactNode;
type: DateNodeType;
}[];
}) => ReactNode;
};
const DatePickerContainer = ({
renderDate = () => ,
renderMonth = () => ,
renderYear = () => ,
children,
}: DatePickerContainerProps) => {
const localeData = useDatePickerLocale();
const typeToRenderMap: Record ReactNode> = {
date: renderDate,
month: renderMonth,
year: renderYear,
};
return (
{children({
dateNodes: localeData.sortedDateUnitTypes.map((type) => ({
type,
node: {typeToRenderMap[type]()},
})),
})}
);
};
export default DatePickerContainer;