UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

29 lines (28 loc) 1.14 kB
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 };