react-calendar-full
Version:
A full-featured React calendar component with event scheduling and monthly, weekly, and daily views.
43 lines (42 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.roundToNearest15 = exports.minutesSinceMidnightToHHmm = exports.formatTimeToHHmm = exports.calculateMinutesSinceMidnight = exports.formatHour = void 0;
function formatHour(hour) {
return hour === 12
? '12 PM'
: hour === 0
? '12 AM'
: hour > 12
? `${hour - 12} PM`
: `${hour} AM`;
}
exports.formatHour = formatHour;
function calculateMinutesSinceMidnight(timeStr) {
const [hours, minutes] = timeStr.split(':').map(Number);
if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
throw new Error('Invalid time format');
}
return hours * 60 + minutes;
}
exports.calculateMinutesSinceMidnight = calculateMinutesSinceMidnight;
function formatTimeToHHmm(hours, minutes) {
if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
throw new Error('Invalid time values');
}
const paddedHours = String(hours).padStart(2, '0');
const paddedMinutes = String(minutes).padStart(2, '0');
return `${paddedHours}:${paddedMinutes}`;
}
exports.formatTimeToHHmm = formatTimeToHHmm;
function minutesSinceMidnightToHHmm(minutes) {
const hours = Math.floor(minutes / 60);
const remainingMinutes = minutes % 60;
return `${hours.toString().padStart(2, '0')}:${remainingMinutes
.toString()
.padStart(2, '0')}`;
}
exports.minutesSinceMidnightToHHmm = minutesSinceMidnightToHHmm;
function roundToNearest15(minutes) {
return Math.round(minutes / 15) * 15;
}
exports.roundToNearest15 = roundToNearest15;