@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
35 lines (34 loc) • 886 B
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = usePartialDates;
var _react = require("react");
function usePartialDates() {
const partialDatesRef = (0, _react.useRef)({
partialStartDate: null,
partialEndDate: null
});
const setPartialDates = (0, _react.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