npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-native-calendars-enhanced

v1.0.8

Published

A customizable React Native calendar component for iOS and Android.

Downloads

9

Readme

React Native Calendar Enhanced 📅

A customizable React Native calendar component for iOS and Android.

Version Build status

This module provides a customizable React Native calendar component with additional features like range selection, custom styling and month-year jump through list.

The package is compatible with both Android and iOS.

Official documentation

This README provides basic examples of how to get started with react-native-calendars-enhanced. For detailed information, refer to the react-native-calendars-enhanced.

Features ✨

  • Pure JS/TS. No Native code required
  • Date marking with custom styles
  • Range selection support
  • Customizable header and appearance
  • Swipeable calendar with flexible custom rendering
  • Accessibility support
  • Month-year jump through list

Try it out ⚡

You can run a sample module using these steps:

$ git clone [email protected]:tarun-jais-2656/react-native-calendars-enhanced.git
$ cd react-native-calendars-enhanced
$ yarn install
$ cd ios && pod install && cd ..
$ react-native run-ios

Getting Started 🔧

Here's how to get started with react-native-calendars-enhanced in your React Native project:

Install the package:

$ yarn add react-native-calendars-enhanced

This package is implemented in JavaScript/Typescript, so no native module linking is required.

Usage 🚀

Basic usage examples of the library

Importing the MyCalendar component

import MyCalendar from 'react-native-calendars-enhanced';

Use the MyCalendar component in your app:

import React from 'react';
import MyCalendar from 'react-native-calendars-enhanced';

const App = () => {
  return (
    <MyCalendar
        hasRange
        nextActiveDays={15}
        todayTextColor='red'
        disableWeekends
        disablePrevDates
        rangeDateColor='red'
        selectedColor='red'
        startingDayColor='red'
        endingDayColor='blue'
        hideExtraDays
        getStartDate={(startDate) => {
          console.log("Selected start date:", startDate);
        }}
        getEndDate={(endDate) => {
          console.log("Selected end date:", endDate);
        }}
        getRange={(dates) => {
          console.log("Selected date range:", dates);
        }}
    />
  );
};

export default App;

Custom Props

CustomCalendarProps

interface CustomCalendarProps extends CalendarProps {
    hasRange?: boolean; // Enables range selection mode
    nextActiveDays?: number; // Number of days from today that are selectable
    todayTextColor?: string; // Color for today's date text
    disableWeekends?: boolean; // Disables selection of weekends
    disablePrevDates?: boolean; // Disables selection of past dates
    rangeDateColor?: string; // Color for dates within the selected range
    selectedColor?: string; // Color for the selected date
    startingDayColor?: string; // Color for the starting day of the range
    endingDayColor?: string; // Color for the ending day of the range
    dayNamesColor?:string; // Color for the day names   
    weekendDaysColor?:string; // Color for the weekend days
    headerTittleColor?:string; // Color for the header title
    headerIconColor?:string; // Color for the header icon
    getStartDate?: (startDate: string) => void; // Callback for when a start date is selected
    getEndDate?: (endDate: string) => void; // Callback for when an end date is selected
    getRange?: (dates: string[]) => void; // Callback for when a date range is selected
}

Prop Descriptions

  • hasRange: A boolean that, when true, enables the range selection feature, allowing users to select a start and end date.
  • nextActiveDays: Specifies the number of days from the current date that are selectable. If not provided, all future dates are selectable.
  • todayTextColor: Sets the text color for today's date on the calendar.
  • disableWeekends: A boolean that, when true, disables the selection of weekend dates.
  • disablePrevDates: A boolean that, when true, prevents the selection of dates before the current date.
  • rangeDateColor: Defines the color for dates that fall within the selected range.
  • selectedColor: Sets the color for the currently selected date.
  • startingDayColor: Specifies the color for the starting day of a selected range.
  • endingDayColor: Specifies the color for the ending day of a selected range.
  • dayNamesColor: Color for the day names
  • weekendDaysColor: Color for the weekend days
  • headerTittleColor: Color for the header title
  • headerIconColor: Color for the header icon
  • getStartDate: A callback function that is triggered when a start date is selected, receiving the selected start date as a string.
  • getEndDate: A callback function that is triggered when an end date is selected, receiving the selected end date as a string.
  • getRange: A callback function that is triggered when a date range is selected, receiving an array of strings representing the selected dates.

CalendarProps

Refer to the react-native-calendars documentation for detailed information on CalendarProps.

Examples

Creating a basic calendar with range selection:

import React from 'react';
import MyCalendar from 'react-native-calendars-enhanced';

const App = () => {
  return (
    <MyCalendar
      hasRange={true}
      rangeDateColor='red'
      selectedColor='red'
      startingDayColor='red'
      endingDayColor='blue'
      getStartDate={(startDate) => {
        console.log("Selected start date:", startDate);
      }}
      getEndDate={(endDate) => {
        console.log("Selected end date:", endDate);
      }}
      getRange={(dates) => {
        console.log("Selected date range:", dates);
      }}
    />
  );
};

export default App;

Customize the appearance of the calendar:

<MyCalendar
  style={{
    borderWidth: 1,
    borderColor: 'gray',
    height: 350
  }}
  theme={{
    calendarBackground: '#ffffff',
    selectedDayTextColor: '#ffffff',
    todayTextColor: '#00adf5',
  }}
/>

License

Your package is ISC licensed.