<commit_before>import React, { Component, PropTypes } from 'react';
import Caption from './Caption';
import Navbar from './Navbar';
import Month from './Month';
import Day from './Day';
import Weekday from './Weekday';

import * as Helpers from './Helpers';
import * as DateUtils from './DateUtils';
import * as LocaleUtils from './LocaleUtils';
import classNames from './classNames';

import keys from './keys';
import DayPickerPropTypes, { ModifierPropType } from './PropTypes';

export default class DayPicker extends Component {
  static VERSION = '5.1.1';

  static propTypes = {

    // Rendering months
    initialMonth: PropTypes.instanceOf(Date),
    month: PropTypes.instanceOf(Date),
    numberOfMonths: PropTypes.number,
    fromMonth: PropTypes.instanceOf(Date),
    toMonth: PropTypes.instanceOf(Date),
    canChangeMonth: PropTypes.bool,
    reverseMonths: PropTypes.bool,
    pagedNavigation: PropTypes.bool,

    // Modifiers
    selectedDays: PropTypes.oneOfType([
      ModifierPropType,
      PropTypes.arrayOf(ModifierPropType),
    ]),
    disabledDays: PropTypes.oneOfType([
      ModifierPropType,
      PropTypes.arrayOf(ModifierPropType),
    ]),
    modifiers: PropTypes.object,

    // Localization
    dir: PropTypes.string,
    firstDayOfWeek: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6]),
    labels: PropTypes.shape({
      nextMonth: PropTypes.string.isRequired,
      previousMonth: PropTypes.string.isRequired,
    }).isRequired,
    locale: PropTypes.string,
    localeUtils: DayPickerPropTypes.localeUtils,
    months: PropTypes.arrayOf(PropTypes.string),
    weekdaysLong: PropTypes.arrayOf(PropTypes.string),
    weekdaysShort: PropTypes.arrayOf(PropTypes.string),

    // Customization
    enableOutsideDays: PropTypes.bool,
    fixedWeeks: PropTypes.bool,

    // CSS and HTML
    classNames: PropTypes.shape({
      body: PropTypes.string,
      container: PropTypes.string,
      interactionDisabled: PropTypes.string,
      month: PropTypes.string,
      navBar: PropTypes.string,
      week: PropTypes.string,
      outside: PropTypes.string.isRequired,
      today: PropTypes.string.isRequired,
      selected: PropTypes.string.isRequired,
      disabled: PropTypes.string.isRequired,
      day: PropTypes.string.isRequired,
    }),
    className: PropTypes.string,
    containerProps: PropTypes.object,
    tabIndex: PropTypes.number,

    // Custom elements
    renderDay: PropTypes.func,
    weekdayElement: PropTypes.element,
    navbarElement: PropTypes.element,
    captionElement: PropTypes.element,

    // Events
    onBlur: PropTypes.func,
    onFocus: PropTypes.func,
    onKeyDown: PropTypes.func,
    onDayClick: PropTypes.func,
    onDayKeyDown: PropTypes.func,
    onDayMouseEnter: PropTypes.func,
    onDayMouseLeave: PropTypes.func,
    onDayTouchStart: PropTypes.func,
    onDayTouchEnd: PropTypes.func,
    onDayFocus: PropTypes.func,
    onMonthChange: PropTypes.func,
    onCaptionClick: PropTypes.func,

  };

  static defaultProps = {<commit_msg>Sort proptypes<commit_after>import React, { Component, PropTypes } from 'react';
import Caption from './Caption';
import Navbar from './Navbar';
import Month from './Month';
import Day from './Day';
import Weekday from './Weekday';

import * as Helpers from './Helpers';
import * as DateUtils from './DateUtils';
import * as LocaleUtils from './LocaleUtils';
import classNames from './classNames';

import keys from './keys';
import DayPickerPropTypes, { ModifierPropType } from './PropTypes';

export default class DayPicker extends Component {
  static VERSION = '5.1.1';

  static propTypes = {

    // Rendering months
    initialMonth: PropTypes.instanceOf(Date),
    month: PropTypes.instanceOf(Date),
    numberOfMonths: PropTypes.number,
    fromMonth: PropTypes.instanceOf(Date),
    toMonth: PropTypes.instanceOf(Date),
    canChangeMonth: PropTypes.bool,
    reverseMonths: PropTypes.bool,
    pagedNavigation: PropTypes.bool,

    // Modifiers
    selectedDays: PropTypes.oneOfType([
      ModifierPropType,
      PropTypes.arrayOf(ModifierPropType),
    ]),
    disabledDays: PropTypes.oneOfType([
      ModifierPropType,
      PropTypes.arrayOf(ModifierPropType),
    ]),
    modifiers: PropTypes.object,

    // Localization
    dir: PropTypes.string,
    firstDayOfWeek: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6]),
    labels: PropTypes.shape({
      nextMonth: PropTypes.string.isRequired,
      previousMonth: PropTypes.string.isRequired,
    }).isRequired,
    locale: PropTypes.string,
    localeUtils: DayPickerPropTypes.localeUtils,
    months: PropTypes.arrayOf(PropTypes.string),
    weekdaysLong: PropTypes.arrayOf(PropTypes.string),
    weekdaysShort: PropTypes.arrayOf(PropTypes.string),

    // Customization
    enableOutsideDays: PropTypes.bool,
    fixedWeeks: PropTypes.bool,

    // CSS and HTML
    classNames: PropTypes.shape({
      body: PropTypes.string,
      container: PropTypes.string,
      day: PropTypes.string.isRequired,
      disabled: PropTypes.string.isRequired,
      interactionDisabled: PropTypes.string,
      month: PropTypes.string,
      navBar: PropTypes.string,
      outside: PropTypes.string.isRequired,
      selected: PropTypes.string.isRequired,
      today: PropTypes.string.isRequired,
      week: PropTypes.string,
    }),
    className: PropTypes.string,
    containerProps: PropTypes.object,
    tabIndex: PropTypes.number,

    // Custom elements
    renderDay: PropTypes.func,
    weekdayElement: PropTypes.element,
    navbarElement: PropTypes.element,
    captionElement: PropTypes.element,

    // Events
    onBlur: PropTypes.func,
    onFocus: PropTypes.func,
    onKeyDown: PropTypes.func,
    onDayClick: PropTypes.func,
    onDayKeyDown: PropTypes.func,
    onDayMouseEnter: PropTypes.func,
    onDayMouseLeave: PropTypes.func,
    onDayTouchStart: PropTypes.func,
    onDayTouchEnd: PropTypes.func,
    onDayFocus: PropTypes.func,
    onMonthChange: PropTypes.func,
    onCaptionClick: PropTypes.func,

  };

  static defaultProps = {
{'fraction_non_alphanumeric': 0.10666223625186907, 'fraction_numerical': 0.003322811098189068, 'mean_word_length': 3.5814307458143073, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2592346', 'n_tokens_mistral': 1714, 'n_tokens_neox': 1786, 'n_words': 395}