"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createStaticRanges = createStaticRanges; exports.defaultStaticRanges = exports.defaultInputRanges = void 0; var _dateFns = require("date-fns"); const defineds = { startOfWeek: (0, _dateFns.startOfWeek)(new Date()), endOfWeek: (0, _dateFns.endOfWeek)(new Date()), startOfLastWeek: (0, _dateFns.startOfWeek)((0, _dateFns.addDays)(new Date(), -7)), endOfLastWeek: (0, _dateFns.endOfWeek)((0, _dateFns.addDays)(new Date(), -7)), startOfToday: (0, _dateFns.startOfDay)(new Date()), endOfToday: (0, _dateFns.endOfDay)(new Date()), startOfYesterday: (0, _dateFns.startOfDay)((0, _dateFns.addDays)(new Date(), -1)), endOfYesterday: (0, _dateFns.endOfDay)((0, _dateFns.addDays)(new Date(), -1)), startOfMonth: (0, _dateFns.startOfMonth)(new Date()), endOfMonth: (0, _dateFns.endOfMonth)(new Date()), startOfLastMonth: (0, _dateFns.startOfMonth)((0, _dateFns.addMonths)(new Date(), -1)), endOfLastMonth: (0, _dateFns.endOfMonth)((0, _dateFns.addMonths)(new Date(), -1)) }; const staticRangeHandler = { range: {}, isSelected(range) { const definedRange = this.range(); return (0, _dateFns.isSameDay)(range.startDate, definedRange.startDate) && (0, _dateFns.isSameDay)(range.endDate, definedRange.endDate); } }; function createStaticRanges(ranges) { return ranges.map(range => ({ ...staticRangeHandler, ...range })); } const defaultStaticRanges = exports.defaultStaticRanges = createStaticRanges([{ label: 'Today', range: () => ({ startDate: defineds.startOfToday, endDate: defineds.endOfToday }) }, { label: 'Yesterday', range: () => ({ startDate: defineds.startOfYesterday, endDate: defineds.endOfYesterday }) }, { label: 'This Week', range: () => ({ startDate: defineds.startOfWeek, endDate: defineds.endOfWeek }) }, { label: 'Last Week', range: () => ({ startDate: defineds.startOfLastWeek, endDate: defineds.endOfLastWeek }) }, { label: 'This Month', range: () => ({ startDate: defineds.startOfMonth, endDate: defineds.endOfMonth }) }, { label: 'Last Month', range: () => ({ startDate: defineds.startOfLastMonth, endDate: defineds.endOfLastMonth }) }]); const defaultInputRanges = exports.defaultInputRanges = [{ label: 'days up to today', range(value) { return { startDate: (0, _dateFns.addDays)(defineds.startOfToday, (Math.max(Number(value), 1) - 1) * -1), endDate: defineds.endOfToday }; }, getCurrentValue(range) { if (!(0, _dateFns.isSameDay)(range.endDate, defineds.endOfToday)) return '-'; if (!range.startDate) return '∞'; return (0, _dateFns.differenceInCalendarDays)(defineds.endOfToday, range.startDate) + 1; } }, { label: 'days starting today', range(value) { const today = new Date(); return { startDate: today, endDate: (0, _dateFns.addDays)(today, Math.max(Number(value), 1) - 1) }; }, getCurrentValue(range) { if (!(0, _dateFns.isSameDay)(range.startDate, defineds.startOfToday)) return '-'; if (!range.endDate) return '∞'; return (0, _dateFns.differenceInCalendarDays)(range.endDate, defineds.startOfToday) + 1; } }];