react-native-easy-calendar
Version:
Customizable, easy-to-use, performant calendar components for React Native
76 lines (62 loc) • 2.73 kB
JavaScript
"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