import clsx from 'clsx'; import ReactDatePicker, { ReactDatePickerProps } from 'react-datepicker'; import { Controller, RegisterOptions, useFormContext } from 'react-hook-form'; import { HiOutlineCalendar } from 'react-icons/hi'; import 'react-datepicker/dist/react-datepicker.css'; type DatePickerProps = { validation?: RegisterOptions; label: string; id: string; placeholder?: string; defaultYear?: number; defaultMonth?: number; defaultValue?: string; helperText?: string; readOnly?: boolean; } & Omit; export default function DatePicker({ validation, label, id, placeholder, defaultYear, defaultMonth, defaultValue, helperText, readOnly = false, ...rest }: DatePickerProps) { const { formState: { errors }, control, } = useFormContext(); // If there is a year default, then change the year to the props const defaultDate = new Date(); if (defaultYear) defaultDate.setFullYear(defaultYear); if (defaultMonth) defaultDate.setMonth(defaultMonth); return (
( <>
{helperText !== '' && (

{helperText}

)} {errors[id] && ( {errors[id].message} )}
)} />
); }