@umituz/react-native-calendar
v1.1.3
Published
Generic calendar component for React Native apps with timezone support, event management, and system calendar sync
Maintainers
Readme
@umituz/react-native-calendar
Generic calendar component for React Native apps with timezone support, event management, and system calendar sync.
Installation
npm install @umituz/react-native-calendarPeer Dependencies
react>= 18.2.0react-native>= 0.74.0@umituz/react-native-design-system>= 1.5.0expo-calendar~13.0.3@react-native-async-storage/async-storage>= 1.21.0zustand>= 5.0.2
Features
- ✅ Timezone-aware calendar generation
- ✅ Generic event system (workouts, habits, tasks, etc.)
- ✅ Month/Week/Day views
- ✅ Event CRUD operations with persistence
- ✅ Completion tracking
- ✅ Recurring events support
- ✅ System calendar sync (expo-calendar) - iOS/Android only
Usage
Basic Usage
import { useCalendar, AtomicCalendar, useSystemCalendar } from '@umituz/react-native-calendar';
const MyScreen = () => {
const { days, selectedDate, actions } = useCalendar();
const {
systemCalendars,
permission,
requestPermission,
syncEventToCalendar,
} = useSystemCalendar();
// Request permission to access device calendar
useEffect(() => {
requestPermission();
}, []);
// Sync event to device calendar
const handleCreateEvent = async (eventData) => {
const event = await actions.addEvent(eventData);
await syncEventToCalendar(event); // Sync to iOS/Android calendar
};
return (
<AtomicCalendar
days={days}
selectedDate={selectedDate}
onDateSelect={actions.setSelectedDate}
/>
);
};API
Components
AtomicCalendar: Main calendar component with month view
Hooks
useCalendar(): Main hook for calendar functionalityuseCalendarNavigation(): Hook for calendar navigationuseCalendarEvents(): Hook for event managementuseSystemCalendar(): Hook for system calendar integration
Services
CalendarService: Static calendar service for date calculations and operationsCalendarPermissions: Permission management serviceCalendarEvents: Event CRUD operations serviceCalendarGeneration: Calendar grid generation serviceCalendarSync: System calendar synchronization serviceDateUtilities: Date helper utilities
License
MIT
