@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
29 lines (28 loc) • 1.14 kB
JavaScript
import { getFormattedDate, isDate, isSameMonth, getMonthName } from "../Calendar/utils.js";
const validateDate = (date) => isDate(date) && date || /* @__PURE__ */ new Date();
const getFormattedDateRange = (date, locale) => {
const { startDate, endDate } = date;
const monthYear = `${getMonthName(
startDate,
locale,
"short"
)} ${startDate.getFullYear()}`;
return `${startDate.getDate()} - ${endDate?.getDate()} ${monthYear}`;
};
const getSingleDateLabel = (date, locale) => isDate(date) ? getFormattedDate(date, locale) : "";
const getRangeDateLabel = ({ startDate, endDate }, locale) => {
if (!(isDate(startDate) && isDate(endDate)))
return getSingleDateLabel(startDate);
return isSameMonth(startDate, endDate) ? getFormattedDateRange({ startDate, endDate }, locale) : `${getFormattedDate(startDate, locale)} - ${getFormattedDate(
endDate,
locale
)}`;
};
const getDateLabel = (date, rangeMode, locale) => rangeMode ? getRangeDateLabel(date, locale) : getSingleDateLabel(date, locale);
export {
getDateLabel,
getFormattedDateRange,
getRangeDateLabel,
getSingleDateLabel,
validateDate
};