Skip to content

ExpandableCalendar

ExpandableCalendar provides a collapsible week/month calendar view with an integrated agenda list. Powered by react-native-calendars with theme integration.

Components

ComponentDescription
CalendarProviderContext provider for calendar state
ExpandableCalendarCollapsible calendar (week/month toggle)
AgendaListSection list synced to calendar selection
WeekCalendarStandalone week strip calendar

Usage

ExpandableCalendarExample.tsx
import { ExpandableCalendar, CalendarProvider, AgendaList } from '@masumdev/rn-ui';
const agendaItems = [
{ title: '2026-08-25', data: [{ name: 'Meeting', hour: '10:00' }] },
];
export function ExpandableCalendarExample() {
return (
<CalendarProvider date="2026-08-25">
<ExpandableCalendar />
<AgendaList
sections={agendaItems}
renderItem={({ item }) => <Text>{item.name}</Text>}
/>
</CalendarProvider>
);
}

Props API

ExpandableCalendar

PropTypeDefaultDescription
initialPosition"open" | "closed""closed"Initial calendar position (month or week view).
markedDatesRecord<string, CalendarDayMarking>Dates with markers/dots.
onDayPress(date: DateData) => voidCallback when a day is pressed.
hideKnobbooleanfalseHide the expand/collapse knob.

CalendarProvider

PropTypeDefaultDescription
date*stringInitial selected date (YYYY-MM-DD format).
onDateChanged(date: string) => voidCallback when the active date changes.