/material-ui-pickers

Components, that implements material design date and time pickers for material-ui v1

Primary LanguageJavaScriptMIT LicenseMIT

Material-UI pickers

npm package npm download codecov Bundle Size Build Status npm package

Components, that implements material design date and time pickers for material-ui v1

Installation

Available as npm package.

npm i material-ui-pickers

Now choose the library that pickers will use to work with date. We are providing interfaces for moment, luxon and date-fns. If you are not using moment in the project (or dont have it in the bundle already) we suggest using date-fns or luxon, because they are much lighter and will be correctly tree-shaked from the bundle. Note, that we support only the 2.0.0-alpha.16 version of date-fns for now. Stay tuned!

npm i date-fns@2.0.0-alpha.16
// or
npm i moment
// or
npm i luxon

Then teach pickers which library to use with MuiPickerUtilsProvider. This component takes a utils property, and makes it available down the React tree thanks to React context. It should preferably be used at the root of your component tree.

import MomentUtils from 'material-ui-pickers/utils/moment-utils';
import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils';
import LuxonUtils from 'material-ui-pickers/utils/luxon-utils';
import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider';

function App() {
  return (
    <MuiPickersUtilsProvider utils={DateFnsUtils}>
      <Root />
    </MuiPickersUtilsProvider>
  );
}

render(<App />, document.querySelector('#app'));

And the last step of installation would be an icon font. By default, we are relying on material-icons font, but it's possible to override any icons with the help of corresponding props.

<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

Documentation

Check out the documentation website

Recently updated?

Changelog available here

Contributing

For information about how to contribute, see the CONTRIBUTING file.

LICENSE

The project is licensed under the terms of MIT license