A no dependency, lightweight
and feature-rich ⚡ calendar component for react.
Note - The library is still under active development so the API might change before the first stable release. We do not recommend to use it in production yet.
The link above is a test page to be able to share the development progress with other people while it's in the beta phase. We are working on an official website for it.
- 🗓 Date Range
- 🗓 Fixed Date Range
- 🗓 Multiple Dates
- 🗓 Highlight Custom Dates
- 🗓 Disable Custom Dates
- 🗓🗓 Dual Calendar
- 🗓 Add Your Own Shorcuts
- 🦄 Easy to Theme
- ✅ No Dependencies
- 💻 SSR Compatible
- 🔩 Lots of Easy Customizations
- 🕊 Lightweight - less than 20kb
The calendar component uses react hooks so it requires the react version to be at least 16.8.0
. Make sure you have a react version that is equal to or greater than that.
yarn add @natscale/react-calendar
npm install @natscale/react-calendar
To add the default stylesheet. You can import it from the node_modules
folder.
import '@natscale/react-calendar/dist/main.css';
import React, { useState, useCallback } from 'react';
import { Calendar } from '@natscale/react-calendar';
function App() {
const [value, setValue] = useState();
const onChange = useCallback(
(value) => {
setValue(value);
},
[setValue],
);
return (
<div>
<Calendar value={value} onChange={onChange} />
</div>
);
}
import React, { useState, useCallback } from 'react';
import { Calendar } from '@natscale/react-calendar';
function App() {
const [value, setValue] = useState();
const onChange = useCallback(
(value) => {
setValue(value);
},
[setValue],
);
return (
<div>
<Calendar value={value} onChange={onChange} />
</div>
);
}
The idea of creating a calendar component was a result of trying to find something online which could handle my requirements without needing me to hack away at the component's internals and possibly breaking it;
ergo, this react calendar which aims to be a one stop shop for every potential use case a web developer could think of when it comes to calendars and dates. All the featues I included are ones I thought would be most required from a calendar component. Any suggestions or updates are always welcome to make it more robust.
Please open an issue for support.