UNPKG

react-native-easy-calendar

Version:

Customizable, easy-to-use, performant calendar components for React Native

56 lines (54 loc) 1.8 kB
import React from 'react'; import dayjs from 'dayjs'; import localeData from 'dayjs/plugin/localeData'; import utc from 'dayjs/plugin/utc'; dayjs.extend(localeData); dayjs.extend(utc); const useSurroundingTimeUnits = visibleDate => { return React.useMemo(() => { const startOfMonth = dayjs(visibleDate).local().startOf('month'); const endOfMonth = dayjs(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 = dayjs(visibleDate).local().startOf('year'); const endOfYear = dayjs(visibleDate).local().endOf('year'); const year = { current: { start: startOfYear, end: endOfYear }, next: { start: startOfYear.add(1, 'year').startOf('year'), persistMonth: dayjs(visibleDate).local().add(1, 'year'), end: endOfYear.add(1, 'year').endOf('year') }, last: { start: startOfYear.subtract(1, 'year').startOf('year'), persistMonth: dayjs(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]); }; export default useSurroundingTimeUnits; //# sourceMappingURL=useSurroundingTimeUnits.js.map