UNPKG

@chayns-components/date

Version:

A set of beautiful React components for developing your own applications with chayns.

73 lines (72 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDateInRange = exports.getYearsBetween = exports.getNewDate = exports.getMonthAndYear = exports.formatMonth = exports.findNextDate = void 0; var _date = require("./date"); const getMonthAndYear = date => { const month = date.getMonth() + 1; const year = date.getFullYear(); return { month, year }; }; exports.getMonthAndYear = getMonthAndYear; const isDateInRange = ({ minDate, maxDate, currentDate }) => { const monthStartOfCurrentDate = (0, _date.startOfMonth)(currentDate); const monthStartOfMaxDate = (0, _date.startOfMonth)(maxDate); const monthStartOfMinDate = (0, _date.startOfMonth)(minDate); switch (true) { case (0, _date.isAfter)(monthStartOfCurrentDate, monthStartOfMaxDate): return monthStartOfMaxDate; case (0, _date.isBefore)(monthStartOfCurrentDate, monthStartOfMinDate): return monthStartOfMinDate; default: return monthStartOfCurrentDate; } }; exports.isDateInRange = isDateInRange; const getNewDate = (index, currentDate) => { const newDate = new Date(currentDate); newDate.setMonth(currentDate.getMonth() + index); if (currentDate.getMonth() === 11 && newDate.getMonth() === 0) { newDate.setFullYear(currentDate.getFullYear() + 1); } if (currentDate.getMonth() === 0 && newDate.getMonth() === 11) { newDate.setFullYear(currentDate.getFullYear() - 1); } return newDate; }; exports.getNewDate = getNewDate; const formatMonth = ({ month, locale }) => { const date = new Date(2022, month - 1, 1); return date.toLocaleString(locale, { month: 'long' }); }; exports.formatMonth = formatMonth; const findNextDate = (date, dateArray) => { const futureDates = dateArray.filter(d => d > date); futureDates.sort((a, b) => a.getTime() - b.getTime()); return futureDates[0]; }; exports.findNextDate = findNextDate; const getYearsBetween = (startDate, endDate) => { const startYear = startDate.getFullYear(); const endYear = endDate.getFullYear(); const years = []; for (let year = startYear; year <= endYear; year++) { years.push(year); } return years; }; exports.getYearsBetween = getYearsBetween; //# sourceMappingURL=calendar.js.map