import { DateTimePicker as MuiDateTimePicker } from "@mui/x-date-pickers/DateTimePicker"; import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider"; import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs"; import { forwardRef } from "react"; import { useTheme } from "@mui/material/styles"; import type { DateTimePickerProps } from "@mui/x-date-pickers/DateTimePicker"; import Stack from "@mui/material/Stack"; import { FieldLabel } from "./FieldLabel"; import { Calendar } from "lucide-react"; interface CustomDateTimePickerProps extends Omit, "label"> { fieldLabel?: string; required?: boolean; } export const DateTimePicker = forwardRef( function DateTimePicker({ fieldLabel, required, ...props }, ref) { const theme = useTheme(); const picker = ( , }} sx={{ "& .MuiPickersOutlinedInput-root ": { height: 34, borderRadius: theme.shape.borderRadius, borderColor: theme.palette.divider, }, "& .MuiPickersOutlinedInput-notchedOutline": { borderColor: theme.palette.divider, }, "&:hover .MuiPickersOutlinedInput-notchedOutline": { borderColor: theme.palette.divider, }, "& .MuiPickersInputBase-root.MuiPickersOutlinedInput-root.Mui-focused:not(.Mui-error) .MuiPickersOutlinedInput-notchedOutline": { borderColor: theme.palette.primary.main, }, "& .MuiFormHelperText-root": { marginLeft: 0, marginRight: 0, marginTop: theme.spacing(1), }, }} /> ); if (fieldLabel) { return ( {fieldLabel} {picker} ); } return picker; } ); (DateTimePicker as any).displayName = "DateTimePicker";