UNPKG

react-native-calendars-datepicker

Version:

Customizable date picker for React Native that supports Hijri calendar

39 lines 1.82 kB
import React, { memo } from 'react'; import dayjs from 'dayjs'; import { Pressable, Text, View } from 'react-native'; import { useCalendarContext } from '../../calendar-context'; import { adjustDayjsHijriDate, isValidJalaliLocale } from '../../utils'; const MonthButton = () => { var _date; const { currentDate, calendarView, setCalendarView, calendar = 'gregory', locale, styles, classNames, disableMonthPicker, monthCaptionFormat } = useCalendarContext(); let date = calendar === 'jalali' ? dayjs(currentDate).calendar(calendar) : dayjs(currentDate).toCalendarSystem('gregory'); if (calendar === 'islamic') { date = currentDate.$C === 'islamic' ? currentDate : adjustDayjsHijriDate(currentDate); } const currentMonthText = (_date = date) === null || _date === void 0 ? void 0 : _date.locale(calendar === 'jalali' && !isValidJalaliLocale(locale) ? 'en' : locale).format(monthCaptionFormat === 'full' ? 'MMMM' : 'MMM'); return /*#__PURE__*/React.createElement(Pressable, { disabled: disableMonthPicker, onPress: () => setCalendarView(calendarView === 'month' ? 'day' : 'month'), testID: "btn-month", accessibilityRole: "button", accessibilityLabel: currentMonthText }, /*#__PURE__*/React.createElement(View, { style: styles === null || styles === void 0 ? void 0 : styles.month_selector, className: classNames === null || classNames === void 0 ? void 0 : classNames.month_selector }, /*#__PURE__*/React.createElement(Text, { style: styles === null || styles === void 0 ? void 0 : styles.month_selector_label, className: classNames === null || classNames === void 0 ? void 0 : classNames.month_selector_label }, currentMonthText))); }; export default /*#__PURE__*/memo(MonthButton); //# sourceMappingURL=month-button.js.map