The ultimate React Native calendar solution
React Native Calendar Kit is a modern, feature-rich calendar component. Whether you're building a scheduling app, event manager, or any time-based interface.
π Production-ready β’ π¨ Highly customizable β’ π Timezone aware
ios_demo.mp4
android_demo.mp4
- π Multiple view types - Day, 3-days, week views with smooth transitions
- π All-day events - Perfect for holidays, meetings, and multi-day events
- π₯ Resource calendar - Display multiple resources (rooms, employees, equipment) side by side
- β Drag & drop - Intuitive event creation and editing
- π Pinch to zoom - Smooth gesture-based zoom controls
- π² Haptic feedback - Premium tactile responses for user actions
βοΈ Horizontal scrolling - Swipe between different calendar views
- π¨ Theming system - Complete visual customization
- π Flexible day view - Hide/show specific days of the week
- β° Unavailable hours - Mark blocked time slots
- π Recurring events - Full support for repeating events
- β‘ Optimized scrolling - Smooth day-by-day navigation
- π Timezone aware - Handle multiple timezones effortlessly
- π Overlap handling - Smart event positioning and spacing
Get up and running in under 2 minutes:
import { CalendarBody, CalendarContainer, CalendarHeader } from '@howljs/calendar-kit';
const MyCalendar = () => (
<CalendarContainer>
<CalendarHeader />
<CalendarBody />
</CalendarContainer>
);
That's it! Your calendar is ready with all the features enabled.
- π Documentation - Complete guides and API reference
- π§ Example App - Live examples and implementation demos
- π¬ Discussions - Community support and feature requests
npm install @howljs/calendar-kit
The calendar requires react-native-gesture-handler and react-native-reanimated for smooth interactions and animations.
β Already installed? You can skip this step if you have the latest versions.
npx expo install react-native-gesture-handler react-native-reanimated
npm install react-native-gesture-handler react-native-reanimated
π Follow setup guides: Reanimated β’ Gesture Handler
Enhance user experience with tactile feedback during drag operations.
npx expo install expo-haptics
npm install react-native-haptic-feedback
Then enable it in your calendar:
<CalendarContainer useHaptic={true}>
{/* Your calendar content */}
</CalendarContainer>
Show your support β
If this library helped you, please consider giving it a star on GitHub!