13.1.2 • Published 2 years ago

bpk-component-calendar v13.1.2

Weekly downloads
879
License
Apache-2.0
Repository
github
Last release
2 years ago

bpk-component-calendar

Backpack calendar component.

Installation

npm install bpk-component-calendar --save-dev

Usage

import React, { Component } from 'react';
import BpkCalendar from 'bpk-component-calendar';
import BpkInput, { INPUT_TYPES } from 'bpk-component-input';
import format from 'date-fns/format';

const formatDateFull = date => format(date, 'EEEE, do MMMM yyyy');
const formatMonth = date => format(date, 'MMMM yyyy');
const daysOfWeek = [
  {
    name: 'Sunday',
    nameAbbr: 'Sun',
    index: 0,
    isWeekend: true,
  },
  // ...
];

export default class App extends Component {
  constructor () {
    super();

    this.state = {
      selectionConfiguration: {
        type: CALENDAR_SELECTION_TYPE.single,
        date: null,
        }
    };
  }

  handleDateSelect = (date) => {
    this.setState({
      selectionConfiguration: {
        type: this.props.selectionConfiguration.type,
        date: date,
      },
    });
  }

  render () {
    return (
      <div>
        <BpkInput
          id='dateInput'
          type={INPUT_TYPES.text}
          name='date'
          value={(this.state.selectionConfiguration.date || '').toString()}
          placeholder='Departure date'
        />
        <BpkCalendar
          id='calendar'
          onDateSelect={this.handleDateSelect}
          formatMonth={formatMonth}
          formatDateFull={formatDateFull}
          daysOfWeek={daysOfWeek}
          weekStartsOn={1}
          changeMonthLabel="Change month"
          nextMonthLabel="Next month"
          previousMonthLabel="Previous month"
          selectionConfiguration={this.state.selectionConfiguration}
        />
      </div>
    )
  }
}

Component structure

A calendar is composed of four basic components: a month navigation, a grid header, a grid, and the date components.

These components are all stateless and can be composed into a calendar using the composeCalendar higher-order component.

Another higher-order component, withCalendarState, can be used to provide focus management and keyboard navigation.

The default export of this package uses the following set of components:

Calendar componentDefault
Month navigationBpkCalendarNav
Grid headerBpkCalendarGridHeader
GridTransitioningBpkCalendarGrid
DateBpkCalendarDate

Composition and state are implemented using the aforementioned higher-order components:

withCalendarState(composeCalendar(
  BpkCalendarNav,
  BpkCalendarGridHeader,
  TransitioningBpkCalendarGrid,
  BpkCalendarDate,
))

Building a custom calendar

A custom calendar can be created by swapping out any default component for an alternative:

composeCalendar(
  MyNavigation,
  MyHeader,
  MyGrid,
  MyDate,
)

The navigation and header components are optional. If they are not needed, the arguments to composeCalendar should be set to null:

composeCalendar(
  null,
  null,
  MyGrid,
  MyDate,
)

In many cases, you might want to keep most of the components and replace only one or two:

composeCalendar(
  BpkCalendarNav,
  BpkCalendarGridHeader,
  BpkCalendarGrid,
  MyDate,
)

Finally, focus management and support for keyboard input can be added using withCalendarState:

withCalendarState(composeCalendar(
  BpkCalendarNav,
  BpkCalendarGridHeader,
  BpkCalendarGrid,
  MyDate,
))

When implementing a replacement for any of the default calendar components, make sure it implements the same API (props see below) and provides all the relevant accessibility properties, such as ARIA attributes and tabIndex.

Props

PropertyPropTypeRequiredDefault Value
daysOfWeekobjecttrue-
formatDateFullfunctrue-
formatMonthfunctrue-
idstringtrue-
weekStartsOnnumbertrue-
changeMonthLabelstringif Nav !== null-
nextMonthLabelstringif Nav !== null-
previousMonthLabelstringif Nav !== null-
classNamestringfalsenull
fixedWidthboolfalsetrue
gridClassNamestringfalsenull
initiallyFocusedDateDatefalsenull
markOutsideDaysboolfalsetrue
markTodayboolfalsetrue
maxDateDatefalsenew Date() + 1 year
minDateDatefalsenew Date()
onDateSelectfuncfalsenull
onMonthChangefuncfalsenull
selectionConfigurationobjectfalse{ type: CALENDAR_SELECTION_TYPE.single, date: null }
navPropsobjectfalsenull
headerPropsobjectfalsenull
gridPropsobjectfalsenull
datePropsobjectfalsenull
weekDayKeystringfalsenameAbbr

Some of the more complex props and props for sub-components are detailed below.

BpkCalendarNav

The BpkCalendarNav component is used to change the month that is being displayed by using buttons and a select box.

PropertyPropTypeRequiredDefault Value
changeMonthLabelstringtrue-
nextMonthLabelstringtrue-
previousMonthLabelstringtrue-
formatMonthfunctrue-
idstringtrue-
maxDateDatetrue-
minDateDatetrue-
monthDatetrue-
onMonthChangefuncfalsenull
disabledboolfalsefalse

BpkCalendarGridHeader

The BpkCalendarGridHeader component displays the header of BpkCalendarGrid, listing the days of the week. This is needed as a separate component, as the header should stay in place while the rest of the grid transitions when changing months.

PropertyPropTypeRequiredDefault Value
daysOfWeekobjecttrue-
weekStartsOnnumbertrue-
classNamestringfalsenull
weekDayKeystringfalsenameAbbr

BpkCalendarGrid

The BpkCalendarGrid component displays a month as a table.

PropertyPropTypeRequiredDefault Value
DateComponentelementTypetrue-
daysOfWeekarray(object)true-
formatDateFullfunctrue-
formatMonthfunctrue-
monthDatetrue-
weekStartsOnnumbertrue-
selectionConfigurationobjectfalse{ type: CALENDAR_SELECTION_TYPE.single, date: null }
focusedDateDatefalsenull
isKeyboardFocusableboolfalsetrue
markOutsideDaysboolfalsetrue
markTodayboolfalsetrue
maxDateDatefalsenew Date() + 1 year
minDateDatefalsenew Date()
onDateClickfuncfalsenull
onDateKeyDownfuncfalsenull
preventKeyboardFocusboolfalsefalse

BpkCalendarDate

The BpkCalendarDate component is used to render the content of a cell (a single day) inside the calendar grid.

PropertyPropTypeRequiredDefault Value
dateDatetrue-
isBlockedboolfalsefalse
isFocusedboolfalsefalse
isKeyboardFocusableboolfalsetrue
isOutsideboolfalsefalse
isSelectedboolfalsefalse
isTodayboolfalsefalse
onClickfuncfalsenull
onDateKeyDownfuncfalsenull
preventKeyboardFocusboolfalsetrue
selectionTypeoneOf(SELECTION_TYPES.single, SELECTION_TYPES.start, SELECTION_TYPES.middle, SELECTION_TYPES.end)falseSELECTION_TYPES.single
styleobjectfalsenull

selectionType prop

This property determines which selected styles will be applied to the date cell. If using ranges use start, middle and end to apply the correct range styles.

  • SELECTION_TYPES.single - When the date is selected individually i.e. Not as part of a range
  • SELECTION_TYPES.start - When a start date is selected in a range calendar i.e. First date in the range
  • SELECTION_TYPES.middle - When a date is in a range between start and end date i.e. Date in the middle of two dates
  • SELECTION_TYPES.end - When an end date is selected in a range calendar i.e. Last date in the range

Prop details

selectionConfiguration

An object to indicate which configuration of the calendar is being used. Choices are single date selection or range date selection.

Single date
{
  type: CALENDAR_SELECTION_TYPE.single,
  date: date e.g. new Date()
}
Range
{
  type: CALENDAR_SELECTION_TYPE.range,
  startDate: date e.g. new Date(),
  endDate: date e.g. new Date()
}

daysOfWeek

An array of objects describing the days of the week:

[
  {
    "name": "Sunday",
    "nameAbbr": "Sun",
    "nameNarrow": "S",
    "index": 0,
    "isWeekend": true
  },
  {
    "name": "Monday",
    "nameAbbr": "Mon",
    "nameNarrow": "M",
    "index": 1,
    "isWeekend": false
  },
  {
    "name": "Tuesday",
    "nameAbbr": "Tue",
    "nameNarrow": "T",
    "index": 2,
    "isWeekend": false
  },
  ...
]

weekDayKey

Key to be used to pick the desired weekDay format from the daysOfWeek object, for example: nameAbbr or nameNarrow.

fixedWidth

If set to true (default), it sets a fixed width on the calendar container. This is necessary to support transitions and to create the right size for the Datepicker component.

If set to false, the calendar is of fluid width and will take up the space of its parent container.

formatDateFull

A function to format a full, human-readable date, for example: "Monday, 8th January 2018":

import format from 'date-fns/format';

const formatDateFull = date => format(date, 'EEEE, do MMMM yyyy');

formatMonth

A function to format a human-readable month, for example: "January 2018":

If you just need to quickly prototype, use the following from date-fns:

import format from 'date-fns/format';

const formatMonth = date => format(date, 'MMMM yyyy');

weekStartsOn

First day of the week. 0 = Sunday, 1 = Monday, ..., 6 = Saturday.

onMonthChange

const onMonthChange = (event, {
  month: <Date>, // The first day of the selected month
  source: <string>, // One of `PREV`, `NEXT`, `SELECT`, `GRID`
}) => {
  ...
}

initiallyFocusedDate

Sets the date that is focused initially, this prop has no effect if selectedDate or the deprecated date prop are specified in which case the date specified in those props is focused. If no selected date is set and initiallyFocusedDate is not set the focused date is the minDate(defaults to today if it has not been explicitly set).

navProps, headerProps, gridProps, dateProps

These are useful if your custom implementation of one of these components requires additional properties. They will be passed, unmodified, to the respective component.

Theme Props

  • calendarDateTextColor
  • calendarDateTextHoverColor
  • calendarDateTextActiveColor
  • calendarDateTextFocusColor
  • calendarDateTextSelectedColor
  • calendarDateSelectedBackgroundColor
  • calendarDateFocusedBorderColor
  • calendarNudgerIconColor
  • calendarNudgerIconHoverColor
  • calendarNudgerIconActiveColor
13.0.2

2 years ago

13.0.3

2 years ago

13.1.1

2 years ago

13.1.2

2 years ago

13.1.0

2 years ago

12.0.0

2 years ago

12.0.1

2 years ago

12.0.2

2 years ago

11.2.2

2 years ago

11.2.3

2 years ago

11.2.0

2 years ago

11.2.1

2 years ago

13.0.0

2 years ago

13.0.1

2 years ago

11.1.17

2 years ago

11.1.16

2 years ago

11.1.19

2 years ago

11.1.18

2 years ago

11.1.11

2 years ago

11.1.13

2 years ago

11.1.12

2 years ago

11.1.15

2 years ago

11.1.14

2 years ago

11.1.9

2 years ago

11.1.8

2 years ago

11.1.10

2 years ago

11.1.5

2 years ago

11.1.6

2 years ago

11.1.3

2 years ago

11.1.4

2 years ago

11.1.7

2 years ago

11.1.2

2 years ago

11.1.1

2 years ago

10.0.2

2 years ago

10.0.3

2 years ago

11.0.6

2 years ago

11.0.7

2 years ago

11.0.4

2 years ago

11.0.5

2 years ago

11.0.8

2 years ago

11.0.9

2 years ago

11.0.2

2 years ago

11.0.3

2 years ago

11.0.0

2 years ago

11.0.1

2 years ago

11.1.0

2 years ago

11.0.10

2 years ago

11.0.13

2 years ago

11.0.14

2 years ago

11.0.11

2 years ago

11.0.12

2 years ago

10.0.0

2 years ago

10.0.1

2 years ago

9.0.24

2 years ago

9.0.23

2 years ago

9.0.22

3 years ago

9.0.21

3 years ago

9.0.20

3 years ago

9.0.19

3 years ago

9.0.18

3 years ago

9.0.17

3 years ago

9.0.16

3 years ago

9.0.15

3 years ago

9.0.14

3 years ago

9.0.13

3 years ago

9.0.12

3 years ago

9.0.11

3 years ago

9.0.10

3 years ago

9.0.9

3 years ago

9.0.8

3 years ago

9.0.7

3 years ago

9.0.6

3 years ago

9.0.5

3 years ago

9.0.4

3 years ago

9.0.3

3 years ago

9.0.2

3 years ago

9.0.1

3 years ago

9.0.0

3 years ago

8.1.8

3 years ago

8.1.6

3 years ago

8.1.5

3 years ago

8.1.4

3 years ago

8.1.3

3 years ago

8.1.2

3 years ago

8.1.1

3 years ago

8.1.0

3 years ago

8.0.1

3 years ago

8.0.0

3 years ago

7.1.7

3 years ago

7.1.8

3 years ago

7.1.6

3 years ago

7.1.5

3 years ago

7.1.4

3 years ago

7.1.3

3 years ago

7.1.2

3 years ago

7.1.2-alpha.0

3 years ago

7.1.1

3 years ago

7.1.1-alpha.0

3 years ago

7.1.0

3 years ago

7.0.78-alpha.1

3 years ago

7.0.78-alpha.0

3 years ago

7.0.76

3 years ago

7.0.77

3 years ago

7.0.75

3 years ago

7.0.74

3 years ago

7.0.73

3 years ago

7.0.72

3 years ago

7.0.70

3 years ago

7.0.71

3 years ago

7.0.69

3 years ago

7.0.67

3 years ago

7.0.68

3 years ago

7.0.66

3 years ago

7.0.65

3 years ago

7.0.64

3 years ago

7.0.63

3 years ago

7.0.61

3 years ago

7.0.62

3 years ago

7.0.60

3 years ago

7.0.59

3 years ago

7.0.58

3 years ago

7.0.57

3 years ago

7.0.56

3 years ago

7.0.55

3 years ago

7.0.54

3 years ago

7.0.53

3 years ago

7.0.52

3 years ago

7.0.51

3 years ago

7.0.50

3 years ago

7.0.49

3 years ago

7.0.48

3 years ago

7.0.47

3 years ago

7.0.46

4 years ago

7.0.45

4 years ago

7.0.44

4 years ago

7.0.43

4 years ago

7.0.42

4 years ago

7.0.41

4 years ago

7.0.39

4 years ago

7.0.40

4 years ago

7.0.38

4 years ago

7.0.37

4 years ago

7.0.35

4 years ago

7.0.36

4 years ago

7.0.34

4 years ago

7.0.33

4 years ago

7.0.32

4 years ago

7.0.31

4 years ago

7.0.30

4 years ago

7.0.28

4 years ago

7.0.27

4 years ago

7.0.26

4 years ago

7.0.25

4 years ago

7.0.24

4 years ago

7.0.23

4 years ago

7.0.22

4 years ago

7.0.21-css.0

4 years ago

7.0.21

4 years ago

7.0.19

4 years ago

7.0.19-css.0

4 years ago

7.0.20-css.0

4 years ago

7.0.20

4 years ago

7.0.18

4 years ago

7.0.18-css.0

4 years ago

7.0.17-css.0

4 years ago

7.0.17

4 years ago

7.0.16-css.0

4 years ago

7.0.16

4 years ago

7.0.15-css.0

4 years ago

7.0.15

4 years ago

7.0.14

4 years ago

7.0.14-css.0

4 years ago

7.0.13

4 years ago

7.0.13-css.0

4 years ago

7.0.12-css.0

4 years ago

7.0.12

4 years ago

7.0.11-css.0

4 years ago

7.0.11

4 years ago

7.0.10-css.0

4 years ago

7.0.10

4 years ago

7.0.9-css.0

4 years ago

7.0.9

4 years ago

7.0.8-css.0

4 years ago

7.0.8

4 years ago

7.0.7-css.0

4 years ago

7.0.6-css.0

4 years ago

7.0.7

4 years ago

7.0.6

4 years ago

7.0.5-css.0

4 years ago

7.0.5

4 years ago

7.0.4-css.0

4 years ago

7.0.4

4 years ago

7.0.3-css.0

4 years ago

7.0.3

4 years ago

7.0.2-css.0

4 years ago

7.0.2

4 years ago

7.0.1-css.0

4 years ago

7.0.1

4 years ago

7.0.0-css.0

4 years ago

7.0.0

4 years ago

6.3.3

4 years ago

6.3.2

4 years ago

6.3.1-css.0

4 years ago

6.3.1

4 years ago

6.3.0-css.0

4 years ago

6.3.0

4 years ago

6.2.8-css.0

4 years ago

6.2.8

4 years ago

6.2.7-css.0

4 years ago

6.2.7

4 years ago

6.2.6-css.0

4 years ago

6.2.6

4 years ago

6.2.5

4 years ago

6.2.5-css.0

4 years ago

6.2.4-css.0

4 years ago

6.2.4

4 years ago

6.2.3-css.0

4 years ago

6.2.3

4 years ago

6.2.2

4 years ago

6.2.2-css.0

4 years ago

6.2.1-css.0

4 years ago

6.2.1

4 years ago

6.2.0-css.0

4 years ago

6.2.0

4 years ago

6.1.13

4 years ago

6.1.12

4 years ago

6.1.11

4 years ago

6.1.11-css.0

4 years ago

6.1.10

4 years ago

6.1.10-css.0

4 years ago

6.1.9-css.0

4 years ago

6.1.9

4 years ago

6.1.7-css.0

4 years ago

6.1.8-css.0

4 years ago

6.1.8

4 years ago

6.1.7

4 years ago

6.1.6

4 years ago

6.1.6-css.0

4 years ago

6.1.5-css.0

4 years ago

6.1.5

4 years ago

6.1.4-css.0

4 years ago

6.1.4

4 years ago

6.1.3-css.0

4 years ago

6.1.3

4 years ago

6.1.2-css.0

4 years ago

6.1.2

4 years ago

6.1.1-css.0

4 years ago

6.1.1

4 years ago

6.0.18

4 years ago

6.0.18-css.0

4 years ago

6.1.0

4 years ago

6.1.0-css.0

4 years ago

6.0.17-css.0

5 years ago

6.0.17

5 years ago

6.0.16-css.0

5 years ago

6.0.16

5 years ago

6.0.15-css.0

5 years ago

6.0.15

5 years ago

6.0.13-css.0

5 years ago

6.0.13

5 years ago

6.0.12-css.0

5 years ago

6.0.12

5 years ago

6.0.11-css.0

5 years ago

6.0.11

5 years ago

6.0.10-css.0

5 years ago

6.0.10

5 years ago

6.0.9-css.0

5 years ago

6.0.9

5 years ago

6.0.8-css.0

5 years ago

6.0.8

5 years ago

6.0.7-css.0

5 years ago

6.0.7

5 years ago

6.0.6-css.0

5 years ago

6.0.6

5 years ago

6.0.5

5 years ago

6.0.4

5 years ago

6.0.4-beta.25

5 years ago

6.0.4-alpha.29

5 years ago

6.0.3

5 years ago

6.0.2

5 years ago

6.0.1

5 years ago

6.0.1-alpha.27

5 years ago

6.0.0

5 years ago

5.1.3

5 years ago

5.1.2

5 years ago

5.1.2-alpha.2

5 years ago

5.1.1

5 years ago

5.1.0

5 years ago

5.0.50

5 years ago

5.0.49

5 years ago

5.0.48

5 years ago

5.0.47

5 years ago

5.0.46

5 years ago

5.0.45

5 years ago

5.0.44

5 years ago

5.0.20-alpha.21

5 years ago

5.0.43

5 years ago

5.0.42

5 years ago

5.0.41

5 years ago

5.0.41-alpha.1

5 years ago

5.0.40

5 years ago

5.0.39

5 years ago

5.0.38

5 years ago

5.0.36

5 years ago

5.0.35

5 years ago

5.0.35-beta.2

5 years ago

5.0.34

5 years ago

5.0.33

5 years ago

5.0.32

5 years ago

5.0.31

5 years ago

5.0.30

5 years ago

5.0.29

5 years ago

5.0.28

5 years ago

5.0.27

5 years ago

5.0.26

5 years ago

5.0.25-alpha.1

5 years ago

5.0.24

5 years ago

5.0.20-alpha.14

5 years ago

5.0.24-alpha.24

5 years ago

5.0.24-alpha.22

5 years ago

5.0.22

5 years ago

5.0.20-alpha.13

5 years ago

5.0.21

5 years ago

5.0.20

5 years ago

5.0.20-alpha.9

5 years ago

5.0.19

5 years ago

5.0.18

5 years ago

5.0.18-alpha.4

5 years ago

5.0.17

5 years ago

5.0.17-alpha.1

5 years ago

5.0.16

5 years ago

5.0.15

5 years ago

5.0.14

5 years ago

5.0.13

5 years ago

5.0.12

5 years ago

5.0.11

5 years ago

5.0.10

5 years ago

5.0.9

5 years ago

5.0.9-alpha.1

5 years ago

5.0.8

5 years ago

5.0.7

5 years ago

5.0.6

5 years ago

5.0.5

5 years ago

5.0.4

5 years ago

5.0.4-alpha.1

5 years ago

5.0.3

5 years ago

5.0.3-alpha.9

5 years ago

5.0.2

5 years ago

5.0.1-alpha.10

5 years ago

5.0.1

5 years ago

5.0.0

5 years ago

4.5.18

5 years ago

4.5.17

5 years ago

4.5.16

5 years ago

4.5.15

5 years ago

4.5.14

5 years ago

4.5.13

5 years ago

4.5.12

5 years ago

4.5.11

5 years ago

4.5.11-alpha.1

5 years ago

4.5.10

5 years ago

4.5.9

5 years ago

4.5.9-alpha.1

5 years ago

4.5.8

5 years ago

4.5.7

5 years ago

4.5.6

5 years ago

4.5.5

5 years ago

4.5.4

5 years ago

4.5.3

5 years ago

4.5.2

5 years ago

4.5.1

5 years ago

4.5.1-alpha.5

5 years ago

4.5.0

5 years ago

4.4.6

5 years ago

4.4.5

5 years ago

4.4.4

5 years ago

4.4.3

5 years ago

4.4.2

5 years ago

4.4.1

5 years ago

4.4.0

5 years ago

4.3.24-alpha.3

5 years ago

4.3.23

5 years ago

4.3.23-beta.1

5 years ago

4.3.22

5 years ago

4.3.21

5 years ago

4.3.20

5 years ago

4.3.19

5 years ago

4.3.18

5 years ago

4.3.17

6 years ago

4.3.16

6 years ago

4.3.15

6 years ago

4.3.13

6 years ago

4.3.13-alpha.12

6 years ago

4.3.12

6 years ago

4.3.11

6 years ago

4.3.10

6 years ago

4.3.9

6 years ago

4.3.8

6 years ago

4.3.8-alpha.2

6 years ago

4.3.7

6 years ago

4.3.6

6 years ago

4.3.5

6 years ago

4.3.4

6 years ago

4.3.3

6 years ago

4.3.2

6 years ago

4.3.1

6 years ago

4.3.0

6 years ago

4.2.44

6 years ago

4.2.43

6 years ago

4.2.42

6 years ago

4.2.41

6 years ago

4.2.40

6 years ago

4.2.39

6 years ago

4.2.38

6 years ago

4.2.37

6 years ago

4.2.36

6 years ago

4.2.35

6 years ago

4.2.34

6 years ago

4.2.33

6 years ago

4.2.32

6 years ago

4.2.31

6 years ago

4.2.30

6 years ago

4.2.29

6 years ago

4.2.28

6 years ago

4.2.27

6 years ago

4.2.26

6 years ago

4.2.25

6 years ago

4.2.24

6 years ago

4.2.23

6 years ago

4.2.22

6 years ago

4.2.21

6 years ago

4.2.20

6 years ago

4.2.19

6 years ago

4.2.18

6 years ago

4.2.17

6 years ago

4.2.16

6 years ago

4.2.15

6 years ago

4.2.14

6 years ago

4.2.13

6 years ago

4.2.12

6 years ago

4.2.11

6 years ago

4.2.10

6 years ago

4.2.9

6 years ago

4.2.8

6 years ago

4.2.7

6 years ago

4.2.6

6 years ago

4.2.5

6 years ago

4.2.4

6 years ago

4.2.3

6 years ago

4.2.2

6 years ago

4.2.1

6 years ago

4.2.0

6 years ago

4.1.27

6 years ago

4.1.26

6 years ago

4.1.25

6 years ago

4.1.24

6 years ago

4.1.23

6 years ago

4.1.22

6 years ago

4.1.21

7 years ago

4.1.20

7 years ago

4.1.19

7 years ago

4.1.18

7 years ago

4.1.17

7 years ago

4.1.16

7 years ago

4.1.15

7 years ago

4.1.14

7 years ago

4.1.13

7 years ago

4.1.12

7 years ago

4.1.11

7 years ago

4.1.10

7 years ago

4.1.9

7 years ago

4.1.8

7 years ago

4.1.7

7 years ago

4.1.6

7 years ago

4.1.4

7 years ago

4.1.2

7 years ago

4.1.1

7 years ago

4.1.0

7 years ago

4.0.17

7 years ago

4.0.16

7 years ago

4.0.15

7 years ago

4.0.14

7 years ago

4.0.13

7 years ago

4.0.12

7 years ago

4.0.11

7 years ago

4.0.10

7 years ago

4.0.9

7 years ago

4.0.8

7 years ago

4.0.7

7 years ago

4.0.6

7 years ago

4.0.5

7 years ago

4.0.4

7 years ago

4.0.3

7 years ago

4.0.2

7 years ago

4.0.1

7 years ago

4.0.0

7 years ago

3.3.2

7 years ago

3.3.1

7 years ago

3.3.0

7 years ago

3.2.4

7 years ago

3.2.3

7 years ago

3.2.2

7 years ago

3.2.1

7 years ago

3.2.0

7 years ago

3.1.11

7 years ago

3.1.10

7 years ago

3.1.9

7 years ago

3.1.8

7 years ago

3.1.7

7 years ago

3.1.6

7 years ago

3.1.5

7 years ago

3.1.4

7 years ago

3.1.3

7 years ago

3.1.2

7 years ago

3.1.1

7 years ago

3.1.0

7 years ago

3.0.0

7 years ago

2.0.26

7 years ago

2.0.25

7 years ago

2.0.24

7 years ago

2.0.23

7 years ago

2.0.22

7 years ago

2.0.21

7 years ago

2.0.20

7 years ago

2.0.19

7 years ago

2.0.18

7 years ago

2.0.17

7 years ago

2.0.16

7 years ago

2.0.15

7 years ago

2.0.14

7 years ago

2.0.13

7 years ago

2.0.12

7 years ago

2.0.11

7 years ago

2.0.10

7 years ago

2.0.9

7 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.0.7

7 years ago