0.2.9 • Published 1 year ago

simple-react-month-range-picker v0.2.9

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Simple React Month Range Picker

Simple-React-Month-Range-Picker Component offers a popup month selection panel with the option of presets or custom month ranges.

Installation

npm install simple-react-month-range-picker --save

Snapshots

Customisable preset options list:

Preset options

Custom range selection:

Custom months

Configuration

The most basic use:

<MonthPicker onChange={handleChange} />

Props

proptypedescription
onChangefuncFunction invoked when start and end dates have been selected, it will be passed an array with the start and end dates: [startDate, endDate]
presetsarrayArray of objects to use as presets: [{title: "preset title", start: startDate, end: endDate}]
closeDelayintDelay in ms before pop-up window closes
valuearrayStarting dates: [startDate, endDate]
highlightColstringColour of selected months
localestringDate locale
descriptionstringDescription inside the card
emptyDescriptionstringPlaceholder when range is not selected
startDatedateUsed to define the start date of the selector
endDatedateUsed to define the end date of the selector

Usage Example

Online demo

https://codesandbox.io/s/simple-react-month-picker-p9uhe

Code sample

import MonthPicker from "simple-react-month-range-picker";
import moment from "moment";

function App() {
  return (
    <div>
      <MonthPicker
        style={{ width: 300, margin: "50px auto" }}
        presets={[
          {
            title: "This month",
            start: moment().startOf("month").toDate(),
            end: moment().endOf("month").toDate(),
          },
          {
            title: "Past 3 months",
            start: moment().subtract(2, "month").startOf("month").toDate(),
            end: moment().endOf("month").toDate(),
          },
          {
            title: "Past 6 months",
            start: moment().subtract(5, "month").startOf("month").toDate(),
            end: moment().endOf("month").toDate(),
          },
          {
            title: "Past Year",
            start: moment().subtract(12, "month").startOf("month").toDate(),
            end: moment().endOf("month").toDate(),
          },
          {
            title: "All time",
            start: null,
            end: null,
          },
        ]}
        locale='pt-BR'
        description='Test'
        emptyDescription='No range selected'
        startDate={new Date('2010-02')}
        endDate={new Date('2020-10')}
        onChange={(range) => console.log(range)}
        closeDelay={500}
      />
    </div>
  );
}

export default App;