@natscale/react-calendar
TypeScript icon, indicating that this package has built-in type declarations

0.0.0-beta.26 • Public • Published

@natscale/react-calendar language liscence version download

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.

See Online Demo

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.

📚 Table of Contents

Features

  • 🗓 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

📦 Installation

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.

With yarn

yarn add @natscale/react-calendar

With NPM

npm install @natscale/react-calendar

🚀 Usage

To add the default stylesheet. You can import it from the node_modules folder.

import '@natscale/react-calendar/dist/main.css';

With Typescript

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>
  );
}

With Javascript

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>
  );
}

📝 Motivation

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.

🛠️ Support

Please open an issue for support.

📜 License

MIT © Tushar Sharma

Readme

Keywords

none

Package Sidebar

Install

npm i @natscale/react-calendar

Weekly Downloads

742

Version

0.0.0-beta.26

License

MIT

Unpacked Size

87.4 kB

Total Files

23

Last publish

Collaborators

  • tusharf5