1.0.2 β€’ Published 9 months ago

@fowusu/calendar-kit v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Introduction

A simple and customizable React Native component for displaying and interacting with Gregorian calendar dates. @fowusu/calendar-kit

Features

  • πŸ’‘ 100% Typescript
  • ⚑️ Build with @shopify/flashlist for faster list rendering
  • πŸ•‘ Works in all timezones
  • 🎨 Fully customizable
  • 🈲 Supports localization
  • πŸš€ DX, UX and Performance in one lightweight bundle
  • πŸ‘¨πŸ½β€πŸ’» Works in every RN project

Examples

Vio.comAirbnb
PricelineBooking.com
LocalizedPerformanceSchedule

Installation

To install the package, use npm or yarn:

npm install @fowusu/calendar-kit

or

yarn add @fowusu/calendar-kit

⚠️ If you plan using CalendarList then you need to install @shopify/flash-list

yarn add @shopify/flash-list

pod installation for iOS before building app

cd ios; pod install

# Usage
Here’s a basic example of how to use the `@fowusu/calendar-kit` package:

## Calendar
```typescript jsx
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}
    />
  );
};

CalendarList

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}
      estimatedCalendarSize={{
          fiveWeekCalendarSize: 400
      }}
      markedDates={[selectedDay]}
      futureMonthsCount={12}
      pastMonthsCount={0}
      onDayPress={onDayPress}
    />
  );
};

API Reference

See our API Reference docs

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md for guidelines.

1.0.2

9 months ago

1.0.1

10 months ago

1.0.0

10 months ago