# @rehookify/datepicker

`@rehookify/datepicker` is an ultimate tool for creating date, range, and time pickers in your React applications.

It provides behavioral and accessibility implementations for all sorts of calendars, date and time pickers.

<p align="center">
  <a href="https://www.rehookify.com/datepicker/tutorials">Tutorials</a> |
  <a href="https://www.rehookify.com/datepicker/examples">Examples</a> |
  <a href="https://www.rehookify.com/datepicker/configuration">Configuration</a> |
  <a href="https://www.rehookify.com/datepicker/state">State</a> |
  <a href="https://www.rehookify.com/datepicker/modular-hooks">Modular Hooks</a>
</p>

## Features

- Small in size.
- No dependencies.
- [Modular design](https://www.rehookify.com/datepicker/modular-hooks): You can use as little code as possible.
- Supports single, multiple, and range date selection, as well as a time picker.
- Multiple calendar support.
- Native localization support using *.toLocaleDateString* and *.toLocaleTimeString*.
- Follows the `prop-getters` pattern, providing all the necessary props for your components.

## Motivation

By picking a date picker for you project you can get such problems:

- 🙅 your component library doesn't have the component that you need;
- ⚙️ you need to make changes to your build process;
- 💅 your styling system is different from the most popular solution;
- 🦹 it's challenging to customise a component that matches your design;
- 💰 it could cost money to get needed components;
- 🏋️ the library is heavy and doesn't have tree-shaking;
- 📚 bad documentation;
- ⛔️ no tests, no TypeScript support, no examples...

## Instalation

`@rehookify/datepicker` is available as a package in npm registry.

You can use your favarite package manager to insall it:

```bash
npm i @rehookify/datepicker
```

```bash
yarn add @rehookify/datepicker
```

```bash
pnpm add @rehookify/datepicker
```

Start with [tutorials](https://rehookify.com/datepicker/tutorials)
