React-day-picker: Next version status โ€“ looking for contributors

Created on 13 Aug 2019  ยท  16Comments  ยท  Source: gpbl/react-day-picker

I will keep track of some insights about the next version here.

๐Ÿš’ react-day-picker is looking for contributors

The package is being downloaded 1M+/months and I need help maintaining such big user base.

  • Need help triaging issues and organizing the project on Github
  • Need someone expert in Typescript that can help to maintain the typings
  • Need help setting up e2e tests in multiple browsers
  • Need help writing documentation website
  • Would love one or more code reviewers โค๏ธ

โœจ About the next major release

Major rewrite

By looking at the code, I see the package requires a major rewrite. Next major version may use hooks thus it may be compatible with react 16.8+.

Removing DayPickerInput

DayPickerInput will be removed. Integration with input fields will be left to the implementer. I plan to add some examples in the website.

Compatibility with v7

The goal it to maintain the same API Some props will be deprecated.

New website

I'd like to create a new website with Docusaurus and Storybook.

JS Bundler and dev environment

  • i'm evaluating rollupjs instead of webpack
  • I'm developing using a storybook โ€“ this will likely included in the documentation

TypeScript

  • I won't write this version in TypeScript, as it will delay the release and I have no interest in TS for now
  • I can't really do much on PR and issues related to TS. If nobody want to "officially" maintain the typings, I'll remove them from the package, sorry!

Datetime library dependency

  • I'm currently trying date-fns@2 as peer dependency. It is still in beta, but the library is very solid and remove the hassle of working with native dates and i can concentrate better on the component itself. My bet is that for the next mayor release of react-date-picker it will be out of beta!
  • I've tried dayjs but I don't like the momentjs-like syntax. Also I don't agree much with some design choices.

Design and features

I'd like to explore some new layouts to give a more modern UX to the calendar: animation, scrolling, etc, I'd explored react-window but without much success. I'd like user could implement a layout like this:

Screen Recording 2019-08-12 at 20 04 15 2019-08-12 20_04_58

(this is actually the pre-alpha i'm working on)

Most helpful comment

@stunaz it doesn't seem date-fns is increasing that much the bundle size and it would be an internal implementation anyway. I will open to PRs implementing a way to allow switching date library. Thanks for the suggestion :)

All 16 comments

Count me in ๐Ÿ™‹โ€โ™‚๏ธ. I'm more than happy to help in such an amazing project!

Instead of using directly date-fns, what about letting the user choose their prefered date library using something like https://github.com/dmtrKovalenko/date-io. This way if I am a fan of dayjs and dont want to include date-fns in my bundle, it could still be ok for me.

@stunaz it doesn't seem date-fns is increasing that much the bundle size and it would be an internal implementation anyway. I will open to PRs implementing a way to allow switching date library. Thanks for the suggestion :)

:raising_hand_woman: I would like to help. Might be able to help with rollup bundling :slightly_smiling_face:

I'd be happy to help with the Storybook website!

With their latest version documenting can be done with just Storybook! No need for docusarus! https://github.com/storybookjs/storybook/tree/master/addons/docs

I've had good experience building four different design systems in Storybook and documenting examples well!

Let me know!

Hey thanks everybody for answering! Where do the cool kids meet online for organizing things? :) I'm on reactiflux @gpbl (I'll try to be online there).

Some updates: i've been experimenting with a rewrite and I've found a good architecture. I've been playing with it for a while so it is almost feature complete. I'd love to open a PR and get some reviews. Does it make sense?

I actually need help with github issues, how to approach the opened PRs, and such. I feel sorry for all the fellow developers not having an answer from me.

Is @davidspiess still using this component? It would be nice to know how much a major release would impact current users.

Thanks please send motivation :)

๐Ÿ™‹ I would like to help. Might be able to help with rollup bundling ๐Ÿ™‚

@CodeWitchBella that would be so welcomed. I'll open a PR with my (untested) rollup bundle and call you for help ๐Ÿ™๐Ÿพ

I'd be happy to help with the Storybook website!
With their latest version documenting can be done with just Storybook! No need for docusarus

@mirshko I am using Storybook at work and I love it. But for a OSS project I find better Docusaurus, being it between Gatsby and Storybook.

I am talking about docusaurus v2, which is still in alpha, hence my doubt using it. I don't understand how much support is getting the project and I have no time myself to contribute.

@gpbl yes, we are using react-day-picker since the beginning extensively in our booking / enquiry widgets. ATM we have more than 1500 clients which have it running on their website. Many of them added their own stylings to the calendar, which could break for them, if the div structure / classnames change too much. Until now we had almost no problems upgrading, since every breaking change was well documented and we could analyze the impact carefully.

@davidspiess wow that means 1500 day pickers? :D Which version of React are you using?

If you are interested, here you can see one in action: Link
Right now we are still using 16.8.x, but we will soon upgrade to the latest 16.9.x.

Thanks @davidspiess good you are in one of the latest React :)

Thanks everybody, there's a preview of the next version/website here:
http://rdp-v8.netlify.com/docs/intro

Closing this in favour of https://github.com/gpbl/react-day-picker/issues/942

If someone is still interested to contribute, there there's a big list of things to do :)

@davidspiess (or anyone interested) I could easily migrate to TypeScript. I'd really love a review:

https://github.com/gpbl/react-day-picker/pull/944 ๐Ÿ™๐Ÿพ

@mirshko I'd still need help with the website (mostly code examples, text proofing etc.) maybe you are interested anyway? No Storybook, but all MDX via docusaurus. Website project is neat has some nice tricks in it. It's actually the most time consuming part now.

@CodeWitchBella if you have some time, review #944 for my rollup implementation. I haven't tested it much yet ๐Ÿ”ฌ

@gpbl I can take a look at your TypeScript implementation. Glad to help any repo make the switch over to TypeScript

Was this page helpful?
0 / 5 - 0 ratings

Related issues

laidinidis picture laidinidis  ยท  6Comments

michaelgriffithus picture michaelgriffithus  ยท  5Comments

olimination picture olimination  ยท  4Comments

vulcanoidlogic picture vulcanoidlogic  ยท  6Comments

trevordmiller picture trevordmiller  ยท  4Comments