npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-dated

v0.1.0

Published

Fully customizable React calendar/date-picker

Downloads

4

Readme

react-dated

Fully customizable React calendar/date-picker

NPM JavaScript Style Guide

Install

yarn add react-dated

Usage

You can use react-dated with render props or by providing JSX elements that would receive children and day object, customizing them however you want.

import React from 'react';
import dayjs from 'dayjs';
import ReactDated from 'react-dated';

class Example extends React.Component {
  state = {
    source: dayjs(),
  };

  render() {
    return (
      <ReactDated source={this.state.source}>
        {calendar =>
          calendar.map(week => (
            <div className="week">
              {week.map(day => (
                <span className="day">{day.format('DD')}</span>
              ))}
            </div>
          ))
        }
      </ReactDated>
    );
  }
}
import React from 'react';
import dayjs from 'dayjs';
import ReactDated from 'react-dated';

class Example extends React.Component {
  state = {
    source: dayjs(),
  };

  render() {
    return (
      <ReactDated
        source={this.state.source}
        weekWrapper={({ children }) => <div className="week">{children}</div>}
        day={({ day }) => <span>{day.format('DD')}</span>}
      />
    );
  }
}

Documentation

ReactDated is a very simple calendar that is only responsible for generating the base calendar. That is to say it just generates the days in the month, prepends and appens the generated array with days from previous and next month until it can show weeks filled with dates. In order to do so the component requires a source.

The source is a Day.js instance, although it's not necessary to use that library. As long as the given source instance has a shape like DateLibrary, everything should work just fine.

Along with the source, weekWrapper and day are required for rendering the actual calendar. These are React components that are supplied by children (JSX element) and day (instances deriven from source representing the date) respectively. You can also use render props directly inside the ReactDated component as shown in the first example.

Also you can provide startOfWeek (integer) to change the start of week, and causing the first item in array of days have the day value of that number. For example to have Saturday (which has a dayIndex number of 6) as start of your week, set this variable to 6. There is a shortcut for the Saturday example, just set jalali prop (boolean, default to true if provided).

Please refer to our example application for usage ideas.

License

MIT © mpourismaiel