react-native-plain-calendar
Version:
Calendar component for React-Native
45 lines (44 loc) • 2.36 kB
JavaScript
import * as React from 'react';
import { Text } from 'react-native';
import { Touchable } from '../Touchable/Touchable';
import { s } from './styles';
function Day({ onPress, isToday, isSelectedDate, isSingleSelectedDate, isStartSelectedDate, isEndSelectedDate, isIntermediateSelectedDate, isDisabledDate, isDisabledParticularDate, date, DayComponent, todayStyle, dayStyle, daySelectedStyle, daySingleSelectedStyle, dayStartSelectedStyle, dayEndSelectedStyle, dayIntermediateSelectedStyle, dayDisabledStyle, dayDisabledParticularStyle, todayTextStyle, dayTextStyle, daySelectedTextStyle, dayDisabledTextStyle, dayDisabledParticularTextStyle, disabledDayPick, }) {
if (DayComponent) {
return (<DayComponent onPress={onPress} isToday={isToday} isSelectedDate={isSelectedDate} isSingleSelectedDate={isSingleSelectedDate} isStartSelectedDate={isStartSelectedDate} isEndSelectedDate={isEndSelectedDate} isIntermediateSelectedDate={isIntermediateSelectedDate} isDisabledDate={isDisabledDate} isDisabledParticularDate={isDisabledParticularDate} date={date}/>);
}
const isDisabledTouchable = isDisabledDate || disabledDayPick;
return (<Touchable onPress={onPress} disabled={isDisabledTouchable} style={[
s.day,
dayStyle,
isToday && [s.today, todayStyle],
isSelectedDate && daySelectedStyle,
isSingleSelectedDate && [
s.singleSelected,
daySingleSelectedStyle,
],
isStartSelectedDate && [
s.startSelected,
dayStartSelectedStyle,
],
isEndSelectedDate && [s.endSelected, dayEndSelectedStyle],
isIntermediateSelectedDate && [
s.selected,
dayIntermediateSelectedStyle,
],
isDisabledDate && dayDisabledStyle,
isDisabledParticularDate && dayDisabledParticularStyle,
]}>
<Text style={[
s.number,
dayTextStyle,
isToday && todayTextStyle,
isDisabledDate && [s.disabledNumber, dayDisabledTextStyle],
isDisabledParticularDate && dayDisabledParticularTextStyle,
isSelectedDate && daySelectedTextStyle,
]}>
{date}
</Text>
</Touchable>);
}
const DayMemo = React.memo(Day);
export { DayMemo as Day };