Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maggialejandro/react-native-calendario

📆 React Native Calendar
https://github.com/maggialejandro/react-native-calendario

android calendar ios react-native typescript

Last synced: about 10 hours ago
JSON representation

📆 React Native Calendar

Awesome Lists containing this project

README

        

# React Native Calendar 📆

![Coverlogo](https://imgur.com/LINQ6HZ.png)

![BuildStatus](https://github.com/maggialejandro/react-native-calendario/actions/workflows/lint.yml/badge.svg)
[![NPM version](https://img.shields.io/npm/v/react-native-calendario.svg)](https://www.npmjs.com/package/react-native-calendario)
[![npm](https://img.shields.io/npm/dw/react-native-calendario.svg)](https://github.com/maggialejandro/react-native-calendario)
[![CodeFactor](https://www.codefactor.io/repository/github/maggialejandro/react-native-calendario/badge)](https://www.codefactor.io/repository/github/maggialejandro/react-native-calendario)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/832690f286a5451cacdae664d63be3b9)](https://www.codacy.com/app/maggialejandro/react-native-calendario?utm_source=github.com&utm_medium=referral&utm_content=maggialejandro/react-native-calendario&utm_campaign=Badge_Grade)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://makeapullrequest.com)

![](https://media.giphy.com/media/eu8fFCG3rs3IEYwyYk/giphy.gif) ![](https://media.giphy.com/media/g0pZuxQ16frVSmEBSt/giphy.gif)

## Installation

```console
npm install react-native-calendario --save
```

Using yarn

```console
yarn add react-native-calendario
```

## Usage

```typescript
import { Calendar } from 'react-native-calendario';
```

```typescript
console.log(range)}
minDate={new Date(2018, 3, 20)}
startDate={new Date(2018, 3, 30)}
endDate={new Date(2018, 4, 5)}
theme={{
activeDayColor: {},
monthTitleTextStyle: {
color: '#6d95da',
fontWeight: '300',
fontSize: 16,
},
emptyMonthContainerStyle: {},
emptyMonthTextStyle: {
fontWeight: '200',
},
weekColumnsContainerStyle: {},
weekColumnStyle: {
paddingVertical: 10,
},
weekColumnTextStyle: {
color: '#b6c1cd',
fontSize: 13,
},
nonTouchableDayContainerStyle: {},
nonTouchableDayTextStyle: {},
startDateContainerStyle: {},
endDateContainerStyle: {},
dayContainerStyle: {},
dayTextStyle: {
color: '#2d4150',
fontWeight: '200',
fontSize: 15,
},
dayOutOfRangeContainerStyle: {},
dayOutOfRangeTextStyle: {},
todayContainerStyle: {},
todayTextStyle: {
color: '#6d95da',
},
activeDayContainerStyle: {
backgroundColor: '#6d95da',
},
activeDayTextStyle: {
color: 'white',
},
nonTouchableLastMonthDayTextStyle: {},
}}
/>
```

## API

| Prop | Description | Required? | Default | Type |
| --------------------------- | -------------------------------------- | -------------------- | ------------- | ---------------- |
| **`onChange`** (deprecated) | Callback called when a day is pressed. | no | | Function |
| **`onPress`** | Callback called when a day is pressed. | yes | | (Date) => void |
| **`minDate`** | Minimum date that can be selected. | no | null | Date |
| **`maxDate`** | Maximum date that can be selected. | no | null | Date |
| **`startDate`** | Selected start date | no | null | Date |
| **`endDate`** | Selected end date | requires _startDate_ | null | Date |
| **`theme`** | Calendar StyleSheet | no | null | ThemeType |
| **`locale`** | Calendar language | es, en, fr, br | 'en' | LocaleType |
| **`dayNames`** | Array of day names | no | [] | string[] |
| **`monthNames`** | Array of names of each mo | no | [] | string[] |
| **`showWeekdays`** | Show Week columns | no | true | boolean |
| **`showMonthTitle`** | Show Month title | no | true | boolean |
| **`initialListSize`** | FlatList initialNumToRender | no | 2 | number |
| **`startingMonth`** | First month to render | no | current month | 'YYYY-MM-DD' |
| **`numberOfMonths`** | Number of months to render | no | 12 | number |
| **`disableRange`** | Turn off range date selection | no | false | boolean |
| **`firstDayMonday`** | Monday as first day of the week | no | false | boolean |
| **`monthHeight`** | Change Month row height | no | 370 | number |
| **`markedDays`** | Multi-dot support on Day component | no | undefined | MarkedDays |
| **`disabledDays`** | Disabled days | no | null | {[string]: any } |
| **`renderDayContent`** | Render custom Day content | no | null | Function |
| **`renderAllMonths`** | Use this for web, render all months | no | null | boolean |
| **`viewableItemsChanged`** | handleViewableItemsChange callback | no | null | Function |
| **`disableOffsetDays`** | Remove offset Days. | no | false | boolean |

## License

MIT