import type { OnClickWeekNumberFunc } from '../shared/types.js'; const className = 'react-calendar__tile'; type ButtonProps = Omit, 'onClick'> & { onClickWeekNumber: OnClickWeekNumberFunc; }; type DivProps = React.HTMLAttributes & { onClickWeekNumber?: undefined; }; type WeekNumberProps = (T extends OnClickWeekNumberFunc ? ButtonProps : DivProps) & { date: Date; weekNumber: number; }; export default function WeekNumber(props: WeekNumberProps): React.ReactElement { const { onClickWeekNumber, weekNumber } = props; const children = {weekNumber}; if (onClickWeekNumber) { const { date, onClickWeekNumber, weekNumber, ...otherProps } = props; return ( ); } else { const { date, onClickWeekNumber, weekNumber, ...otherProps } = props; return (
{children}
); } }