UNPKG

react-calendar-full

Version:

A full-featured React calendar component with event scheduling and monthly, weekly, and daily views.

98 lines (97 loc) 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatDateToYYYYMMDD = exports.areDatesEqual = exports.datesOfWeek = exports.startOfWeek = exports.moveMonth = exports.moveDate = exports.getDateInfo = exports.monthsOfYear = exports.daysOfWeekShort = exports.daysOfWeek = void 0; exports.daysOfWeek = [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', ]; exports.daysOfWeekShort = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', ]; exports.monthsOfYear = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ]; function getDateInfo(inputDate) { const dayOfWeek = exports.daysOfWeek[inputDate.getDay()]; const month = exports.monthsOfYear[inputDate.getMonth()]; const dayOfMonth = inputDate.getDate(); const year = inputDate.getFullYear(); const startOfWeek = new Date(inputDate); startOfWeek.setDate(startOfWeek.getDate() - startOfWeek.getDay()); const endOfWeek = new Date(startOfWeek); endOfWeek.setDate(endOfWeek.getDate() + 6); return { dayOfWeek, month, startOfWeek, endOfWeek, dayOfMonth, year, }; } exports.getDateInfo = getDateInfo; function moveDate(date, amount) { const nextDate = new Date(date); nextDate.setDate(date.getDate() + amount); return nextDate; } exports.moveDate = moveDate; function moveMonth(date, amount) { const newDate = new Date(date); newDate.setMonth(date.getMonth() + amount); return newDate; } exports.moveMonth = moveMonth; function startOfWeek(date) { const startOfWeek = new Date(date); startOfWeek.setDate(startOfWeek.getDate() - startOfWeek.getDay()); return startOfWeek; } exports.startOfWeek = startOfWeek; function datesOfWeek(date) { let currentDate = startOfWeek(date); const datesOfWeek = []; Array(7) .fill(null) .forEach(() => { datesOfWeek.push(currentDate); currentDate = moveDate(currentDate, 1); }); return datesOfWeek; } exports.datesOfWeek = datesOfWeek; function areDatesEqual(date1, date2) { return (date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate()); } exports.areDatesEqual = areDatesEqual; function formatDateToYYYYMMDD(date) { const year = date.getFullYear(); const month = (date.getMonth() + 1).toString().padStart(2, '0'); // Months are 0-indexed, so +1 is needed const day = date.getDate().toString().padStart(2, '0'); return `${year}-${month}-${day}`; } exports.formatDateToYYYYMMDD = formatDateToYYYYMMDD;