A simple and customizable React Native component for displaying and interacting with Gregorian calendar dates.

- 💡 100% Typescript
- ⚡️ Build with
@shopify/flashlistfor faster list rendering - 🕑 Works in all timezones
- 🎨 Fully customizable with example use cases
- 🈲 Supports localization
- 🚀 DX, UX and Performance in one lightweight bundle
- 🗓️ Multiview calendars (
Week✅,Month✅, Yearly(coming soon)⚙️) - 👨🏽💻 Works in every RN project including react native web
| Vio.com | Airbnb |
|---|---|
![]() |
![]() |
| Priceline | Booking.com |
|---|---|
![]() |
![]() |
| Localized | Performance |
|---|---|
![]() |
![]() |
| Multiview (Week & Year) | Schedule |
|---|---|
![]() |
![]() |
To install the package, use npm or yarn:
npm install @fowusu/calendar-kitor
yarn add @fowusu/calendar-kitor
yarn expo add @fowusu/calendar-kit
⚠️ You need to install@shopify/flash-list
yarn add @shopify/flash-listyarn expo add @shopify/flash-listHere’s a basic example of how to use the @fowusu/calendar-kit package:
import React, { useCallback, useState } from "react";
import { Calendar, toLocaleDateString } from "@fowusu/calendar-kit";
const today = new Date();
const todayDateString = toLocaleDateString(today);
const CalendarComponent = () => {
const [selectedDay, setSelectedDay] = useState<string>();
const onDayPress = useCallback((dateString) => {
setSelectedDay(dateString);
}, []);
return (
<Calendar
date={todayDateString}
markedDates={[selectedDay]}
onDayPress={onDayPress}
/>
);
};import React, { useCallback, useState } from "react";
import {CalendarList, toLocaleDateString} from "@fowusu/calendar-kit";
const today = new Date();
const todayDateString = toLocaleDateString(today);
const CalendarListComponent = () => {
const [selectedDay, setSelectedDay] = useState<string>();
const onDayPress = useCallback((dateString) => {
setSelectedDay(dateString);
}, []);
return (
<CalendarList
currentDate={todayDateString}
markedDates={[selectedDay]}
futureMonthsCount={12}
pastMonthsCount={0}
onDayPress={onDayPress}
/>
);
};See our API Reference docs
Contributions are welcome! Please see the CONTRIBUTING.md for guidelines.







