react-native-easy-calendar
Version:
Customizable, easy-to-use, performant calendar components for React Native
71 lines (61 loc) • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _dayjs = _interopRequireDefault(require("dayjs"));
var _localeData = _interopRequireDefault(require("dayjs/plugin/localeData"));
var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_dayjs.default.extend(_localeData.default);
_dayjs.default.extend(_utc.default);
const useSurroundingTimeUnits = visibleDate => {
return _react.default.useMemo(() => {
const startOfMonth = (0, _dayjs.default)(visibleDate).local().startOf('month');
const endOfMonth = (0, _dayjs.default)(visibleDate).local().endOf('month');
const month = {
current: {
start: startOfMonth,
end: endOfMonth
},
next: {
start: startOfMonth.add(1, 'month').startOf('month'),
end: endOfMonth.add(1, 'month').endOf('month')
},
last: {
start: startOfMonth.subtract(1, 'month').startOf('month'),
end: endOfMonth.subtract(1, 'month').endOf('month')
},
afterNext: startOfMonth.add(2, 'month'),
beforeLast: endOfMonth.subtract(2, 'month')
};
const startOfYear = (0, _dayjs.default)(visibleDate).local().startOf('year');
const endOfYear = (0, _dayjs.default)(visibleDate).local().endOf('year');
const year = {
current: {
start: startOfYear,
end: endOfYear
},
next: {
start: startOfYear.add(1, 'year').startOf('year'),
persistMonth: (0, _dayjs.default)(visibleDate).local().add(1, 'year'),
end: endOfYear.add(1, 'year').endOf('year')
},
last: {
start: startOfYear.subtract(1, 'year').startOf('year'),
persistMonth: (0, _dayjs.default)(visibleDate).local().subtract(1, 'year'),
end: endOfYear.subtract(1, 'year').endOf('year')
},
afterNext: startOfYear.add(2, 'year'),
beforeLast: endOfYear.subtract(2, 'year')
};
return {
year,
month
};
}, [visibleDate]);
};
var _default = useSurroundingTimeUnits;
exports.default = _default;
//# sourceMappingURL=useSurroundingTimeUnits.js.map