import { getHours, getMinutes, getSeconds } from '@wojtekmaj/date-utils'; import Input from './Input.js'; import { safeMax, safeMin } from '../shared/utils.js'; type SecondInputProps = { hour?: string | null; maxTime?: string; minTime?: string; minute?: string | null; showLeadingZeros?: boolean; } & Omit, 'max' | 'min' | 'name'>; export default function SecondInput({ hour, maxTime, minTime, minute, showLeadingZeros = true, ...otherProps }: SecondInputProps): React.ReactElement { function isSameMinute(date: string | Date) { return hour === getHours(date).toString() && minute === getMinutes(date).toString(); } const maxSecond = safeMin(59, maxTime && isSameMinute(maxTime) && getSeconds(maxTime)); const minSecond = safeMax(0, minTime && isSameMinute(minTime) && getSeconds(minTime)); return ( ); }