UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

30 lines (29 loc) 777 B
"use client"; import { useCallback, useRef } from 'react'; export default function usePartialDates() { const partialDatesRef = useRef({ partialStartDate: null, partialEndDate: null }); const setPartialDates = useCallback(partialDates => { const nonPartialDates = Object.entries(partialDates).reduce((dates, [dateKey, dateValue]) => { if (isFullyFilledOut(dateValue)) { dates[dateKey] = null; } return dates; }, {}); partialDatesRef.current = { ...partialDatesRef.current, ...partialDates, ...nonPartialDates }; }, []); return { partialDatesRef, setPartialDates }; } function isFullyFilledOut(date) { return /^\d{4}-\d{2}-\d{2}$/.test(date); } //# sourceMappingURL=usePartialDates.js.map