UNPKG

react-native-easy-calendar

Version:

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

76 lines (62 loc) 2.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _dayjs = _interopRequireDefault(require("dayjs")); var _localizedFormat = _interopRequireDefault(require("dayjs/plugin/localizedFormat")); var _reactNative = require("react-native"); var _Contexts = require("../Contexts"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } _dayjs.default.extend(_localizedFormat.default); const Day = ({ date, onPress, showExtraDates = false, isDisabled = false, isSelected = false, isStartOfWeek = false, isEndOfWeek = false, isStartOfMonth = false, isEndOfMonth = false, isExtraDay = false }) => { const theme = _react.default.useContext(_Contexts.ThemeContext); const _onPress = () => { onPress(date); }; if (isExtraDay) { return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, { disabled: true, testID: 'extra-day-container', accessibilityLabel: "".concat((0, _dayjs.default)(date).format('LL')), accessibilityState: { disabled: true, selected: false }, onPress: _onPress, style: [theme.normalDayContainer, theme.extraDayContainer] }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, { testID: 'extra-day-text', style: [theme.normalDayText, theme.extraDayText] }, showExtraDates && (0, _dayjs.default)(date).date())); } return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, { testID: 'day-container', accessibilityLabel: "".concat((0, _dayjs.default)(date).format('LL')), accessibilityState: { disabled: !!(isDisabled || isExtraDay), selected: isSelected }, disabled: isDisabled || isExtraDay, onPress: _onPress, style: [theme.normalDayContainer, isDisabled && theme.disabledDayContainer, isSelected && theme.selectedDayContainer, isStartOfWeek && theme.startOfWeekDayContainer, isEndOfWeek && theme.endOfWeekDayContainer, isStartOfMonth && theme.startOfMonthDayContainer, isEndOfMonth && theme.endOfMonthDayContainer] }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, { testID: 'day-text', style: [theme.normalDayText, isDisabled && theme.disabledDayText, isSelected && theme.selectedDayText, isStartOfWeek && theme.startOfWeekDayText, isEndOfWeek && theme.endOfWeekDayText, isStartOfMonth && theme.startOfMonthDayText, isEndOfMonth && theme.endOfMonthDayText] }, "\b", (0, _dayjs.default)(date).date())); }; var _default = /*#__PURE__*/_react.default.memo(Day); exports.default = _default; //# sourceMappingURL=Day.js.map