UNPKG

react-calendar-custom-date

Version:

A React component for choosing dates and date ranges.

160 lines (131 loc) 5.02 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultInputRanges = exports.defaultStaticRanges = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.createStaticRanges = createStaticRanges; var _differenceInCalendarDays = require('date-fns/differenceInCalendarDays'); var _differenceInCalendarDays2 = _interopRequireDefault(_differenceInCalendarDays); var _isSameDay = require('date-fns/isSameDay'); var _isSameDay2 = _interopRequireDefault(_isSameDay); var _endOfWeek = require('date-fns/endOfWeek'); var _endOfWeek2 = _interopRequireDefault(_endOfWeek); var _startOfWeek = require('date-fns/startOfWeek'); var _startOfWeek2 = _interopRequireDefault(_startOfWeek); var _addMonths = require('date-fns/addMonths'); var _addMonths2 = _interopRequireDefault(_addMonths); var _endOfMonth = require('date-fns/endOfMonth'); var _endOfMonth2 = _interopRequireDefault(_endOfMonth); var _startOfMonth = require('date-fns/startOfMonth'); var _startOfMonth2 = _interopRequireDefault(_startOfMonth); var _startOfDay = require('date-fns/startOfDay'); var _startOfDay2 = _interopRequireDefault(_startOfDay); var _endOfDay = require('date-fns/endOfDay'); var _endOfDay2 = _interopRequireDefault(_endOfDay); var _addDays = require('date-fns/addDays'); var _addDays2 = _interopRequireDefault(_addDays); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var defineds = { startOfWeek: (0, _startOfWeek2.default)(new Date()), endOfWeek: (0, _endOfWeek2.default)(new Date()), startOfLastWeek: (0, _startOfWeek2.default)((0, _addDays2.default)(new Date(), -7)), endOfLastWeek: (0, _endOfWeek2.default)((0, _addDays2.default)(new Date(), -7)), startOfToday: (0, _startOfDay2.default)(new Date()), endOfToday: (0, _endOfDay2.default)(new Date()), startOfYesterday: (0, _startOfDay2.default)((0, _addDays2.default)(new Date(), -1)), endOfYesterday: (0, _endOfDay2.default)((0, _addDays2.default)(new Date(), -1)), startOfMonth: (0, _startOfMonth2.default)(new Date()), endOfMonth: (0, _endOfMonth2.default)(new Date()), startOfLastMonth: (0, _startOfMonth2.default)((0, _addMonths2.default)(new Date(), -1)), endOfLastMonth: (0, _endOfMonth2.default)((0, _addMonths2.default)(new Date(), -1)) }; var staticRangeHandler = { range: {}, isSelected: function isSelected(range) { var definedRange = this.range(); return (0, _isSameDay2.default)(range.startDate, definedRange.startDate) && (0, _isSameDay2.default)(range.endDate, definedRange.endDate); } }; function createStaticRanges(ranges) { return ranges.map(function (range) { return _extends({}, staticRangeHandler, range); }); } var defaultStaticRanges = exports.defaultStaticRanges = createStaticRanges([{ label: 'Today', range: function range() { return { startDate: defineds.startOfToday, endDate: defineds.endOfToday }; } }, { label: 'Yesterday', range: function range() { return { startDate: defineds.startOfYesterday, endDate: defineds.endOfYesterday }; } }, { label: 'This Week', range: function range() { return { startDate: defineds.startOfWeek, endDate: defineds.endOfWeek }; } }, { label: 'Last Week', range: function range() { return { startDate: defineds.startOfLastWeek, endDate: defineds.endOfLastWeek }; } }, { label: 'This Month', range: function range() { return { startDate: defineds.startOfMonth, endDate: defineds.endOfMonth }; } }, { label: 'Last Month', range: function range() { return { startDate: defineds.startOfLastMonth, endDate: defineds.endOfLastMonth }; } }]); var defaultInputRanges = exports.defaultInputRanges = [{ label: 'days up to today', range: function range(value) { return { startDate: (0, _addDays2.default)(defineds.startOfToday, (Math.max(Number(value), 1) - 1) * -1), endDate: defineds.endOfToday }; }, getCurrentValue: function getCurrentValue(range) { if (!(0, _isSameDay2.default)(range.endDate, defineds.endOfToday)) return '-'; if (!range.startDate) return '∞'; return (0, _differenceInCalendarDays2.default)(defineds.endOfToday, range.startDate) + 1; } }, { label: 'days starting today', range: function range(value) { var today = new Date(); return { startDate: today, endDate: (0, _addDays2.default)(today, Math.max(Number(value), 1) - 1) }; }, getCurrentValue: function getCurrentValue(range) { if (!(0, _isSameDay2.default)(range.startDate, defineds.startOfToday)) return '-'; if (!range.endDate) return '∞'; return (0, _differenceInCalendarDays2.default)(range.endDate, defineds.startOfToday) + 1; } }];