dorkhub

react-calendar

React.js Calendar Component (npm install react-calendar-component) πŸ“…

hanse
JavaScriptβ˜… 144β‘‚ 109 forksMITupdated 2 years ago
git clone https://github.com/hanse/react-calendar.githanse/react-calendar

react-calendar

React calendar component inspired by CLNDR.js.

$ npm install react-calendar-component

Note: the npm name is react-calendar-component!

This is a low-level component for rendering monthly calendars using React. The component will call renderDay and renderHeader functions provided by you to make a calendar for the month of the given Date. Very basic default implementations are provided for both, but they can be overridden to fit your use case. This example shows how to create a regular grid calendar.

Live Demo

http://hanse.github.io/react-calendar/

Usage

import React, { Component } from 'react';
import { render } from 'react-dom';
import { Calendar } from 'react-calendar-component';
import moment from 'moment';
import 'moment/locale/nb';

class CalendarExample extends Component {
  state = {
    date: moment()
  };

  render() {
    return (
      <Calendar
        onChangeMonth={date => this.setState({ date })}
        date={this.state.date}
        onPickDate={date => console.log(date)}
        renderDay={({ day, classNames, onPickDate }) => (
          <div
            key={day.format()}
            className={cx(
              'Calendar-grid-item',
              day.isSame(moment(), 'day') && 'Calendar-grid-item--current',
              classNames
            )}
            onClick={e => onPickDate(day)}
          >
            {day.format('D')}
          </div>
        )}
        renderHeader={({ date, onPrevMonth, onNextMonth }) => (
          <div className="Calendar-header">
            <button onClick={onPrevMonth}>Β«</button>
            <div className="Calendar-header-currentDate">
              {date.format('MMMM YYYY')}
            </div>
            <button onClick={onNextMonth}>Β»</button>
          </div>
        )}
      />
    );
  }
}

render(<CalendarExample />, document.getElementById('calendar'));

License

MIT

more like this

ForwardWidgets

Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…

JavaScriptβ˜… 247

pomo

A web pomodoro timer.

TypeScriptβ˜… 50

frirss

A modern, self-hosted, customizable web frontend for FreshRSS.

TypeScriptβ˜… 51

scriptio

Modern, elegant and cross-platform screenwriting software

TypeScriptβ˜… 51

search

search projects, people, and tags