<commit_before>import { Caption, Day, Navigation, NextIcon, PrevIcon, Row } from 'components';

import { DayPickerComponentProps } from './DayPickerComponentProps';

/**
 * Represent the props used by DayPicker’s internal components. Extends
 * [[DayPickerComponentProps]] with the default props.
 */
export interface DayPickerProps extends DayPickerComponentProps {
  labelsFormatters: NonNullable<DayPickerComponentProps['labelsFormatters']>;
  enableOutsideDaysClick: NonNullable<
    DayPickerComponentProps['enableOutsideDaysClick']
  >;
  classNames: NonNullable<DayPickerComponentProps['classNames']>;
  className: NonNullable<DayPickerComponentProps['className']>;
  components: {
    Caption: typeof Caption;
    Day: typeof Day;
    Navigation: typeof Navigation;
    Week: typeof Row;
    NextIcon: typeof NextIcon;
    PrevIcon: typeof PrevIcon;
  };
  fixedWeeks: NonNullable<DayPickerComponentProps['fixedWeeks']>;
  /** The day that has the focus. If set, an effect will focus the day cell. */
  focusedDay?: Date;
  formatCaption: NonNullable<DayPickerComponentProps['formatCaption']>;
  formatDay: NonNullable<DayPickerComponentProps['formatDay']>;
  formatWeekdayName: NonNullable<DayPickerComponentProps['formatWeekdayName']>;
  formatWeekNumber: NonNullable<DayPickerComponentProps['formatWeekNumber']>;
  initialMonth: DayPickerComponentProps['initialMonth'];
  locale: NonNullable<DayPickerComponentProps['locale']>;
  modifiersClassNames: NonNullable<
    DayPickerComponentProps['modifiersClassNames']
  >;
  month: NonNullable<DayPickerComponentProps['month']>;
  numberOfMonths: NonNullable<DayPickerComponentProps['numberOfMonths']>;
  onDayFocus?: NonNullable<DayPickerComponentProps['onDayFocus']>;
  onDayBlur?: NonNullable<DayPickerComponentProps['onDayBlur']>;
  pagedNavigation: NonNullable<DayPickerComponentProps['pagedNavigation']>;
  reverseMonths: NonNullable<DayPickerComponentProps['reverseMonths']>;
  showCaption: NonNullable<DayPickerComponentProps['showCaption']>;
  showHead: NonNullable<DayPickerComponentProps['showHead']>;
  showNavigation: NonNullable<DayPickerComponentProps['showNavigation']>;
  showOutsideDays: NonNullable<DayPickerComponentProps['showOutsideDays']>;
  showWeekNumber: NonNullable<DayPickerComponentProps['showWeekNumber']>;
  today: NonNullable<DayPickerComponentProps['today']>;
}<commit_msg>Simplify DayPickerProp interface<commit_after>import { DayPickerComponentProps } from './DayPickerComponentProps';

type RequiredPropsNames =
  | 'labelsFormatters'
  | 'enableOutsideDaysClick'
  | 'classNames'
  | 'components'
  | 'fixedWeeks'
  | 'formatCaption'
  | 'formatDay'
  | 'formatWeekdayName'
  | 'formatWeekNumber'
  | 'locale'
  | 'modifiersClassNames'
  | 'month'
  | 'numberOfMonths'
  | 'pagedNavigation'
  | 'reverseMonths'
  | 'showCaption'
  | 'showHead'
  | 'showNavigation'
  | 'showOutsideDays'
  | 'showWeekNumber'
  | 'today';

type RequiredProps = Required<
  Pick<DayPickerComponentProps, RequiredPropsNames>
>;
type OptionalProps = Omit<DayPickerComponentProps, RequiredPropsNames>;

export interface DayPickerProps extends OptionalProps, RequiredProps {
  /** The currently focused day. Used for ARIA. */
  focusedDay?: Date;
}
{'fraction_non_alphanumeric': 0.11024844720496894, 'fraction_numerical': 0.0, 'mean_word_length': 7.454068241469816, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, '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': '4550651', 'n_tokens_mistral': 914, 'n_tokens_neox': 891, 'n_words': 171}