<commit_before>import * as React from 'react'
import * as classNames from 'classnames'

interface IListRowProps {
  /** the total number of row in this list */
  readonly rowCount: number

  /** the index of the row in the list */
  readonly rowIndex: number

  /** the accessibility mode to assign to the row */
  readonly ariaMode?: 'list' | 'menu'

  /** custom styles to provide to the row */
  readonly style?: React.CSSProperties

  /** set a tab index for this row (if selectable) */
  readonly tabIndex?: number

  /** an optional id to provide to the element */
  readonly id?: string

  /** whether the row should be rendered as selected */
  readonly selected?: boolean

  /** callback to fire when the DOM element is created */
  readonly onRef?: (element: HTMLDivElement | null) => void

  /** callback to fire when the row receives a mouseover event */
  readonly onRowMouseOver: (
    index: number,
    e: React.MouseEvent<HTMLDivElement>
  ) => void

  /** callback to fire when the row receieves a mousedown event */
  readonly onRowMouseDown: (
    index: number,
    e: React.MouseEvent<HTMLDivElement>
  ) => void

  /** callback to fire when the row is clicked */
  readonly onRowClick: (
    index: number,
    e: React.MouseEvent<HTMLDivElement>
  ) => void

  /** callback to fire when the row receives a keyboard event */
  readonly onRowKeyDown: (
    index: number,
    e: React.KeyboardEvent<HTMLDivElement>
  ) => void
}

export class ListRow extends React.Component<IListRowProps, {}> {
  private onRowMouseOver = (e: React.MouseEvent<HTMLDivElement>) => {
    this.props.onRowMouseOver(this.props.rowIndex, e)
  }

  private onRowMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {
    this.props.onRowMouseDown(this.props.rowIndex, e)
  }

  private onRowClick = (e: React.MouseEvent<HTMLDivElement>) => {
    this.props.onRowClick(this.props.rowIndex, e)
  }

  private onRowKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {
    this.props.onRowKeyDown(this.props.rowIndex, e)
  }
<commit_msg>use any here as callers don't really care about the DOM element<commit_after>import * as React from 'react'
import * as classNames from 'classnames'

interface IListRowProps {
  /** the total number of row in this list */
  readonly rowCount: number

  /** the index of the row in the list */
  readonly rowIndex: number

  /** the accessibility mode to assign to the row */
  readonly ariaMode?: 'list' | 'menu'

  /** custom styles to provide to the row */
  readonly style?: React.CSSProperties

  /** set a tab index for this row (if selectable) */
  readonly tabIndex?: number

  /** an optional id to provide to the element */
  readonly id?: string

  /** whether the row should be rendered as selected */
  readonly selected?: boolean

  /** callback to fire when the DOM element is created */
  readonly onRef?: (element: HTMLDivElement | null) => void

  /** callback to fire when the row receives a mouseover event */
  readonly onRowMouseOver: (index: number, e: React.MouseEvent<any>) => void

  /** callback to fire when the row receieves a mousedown event */
  readonly onRowMouseDown: (index: number, e: React.MouseEvent<any>) => void

  /** callback to fire when the row is clicked */
  readonly onRowClick: (index: number, e: React.MouseEvent<any>) => void

  /** callback to fire when the row receives a keyboard event */
  readonly onRowKeyDown: (index: number, e: React.KeyboardEvent<any>) => void
}

export class ListRow extends React.Component<IListRowProps, {}> {
  private onRowMouseOver = (e: React.MouseEvent<HTMLDivElement>) => {
    this.props.onRowMouseOver(this.props.rowIndex, e)
  }

  private onRowMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {
    this.props.onRowMouseDown(this.props.rowIndex, e)
  }

  private onRowClick = (e: React.MouseEvent<HTMLDivElement>) => {
    this.props.onRowClick(this.props.rowIndex, e)
  }

  private onRowKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {
    this.props.onRowKeyDown(this.props.rowIndex, e)
  }

{'fraction_non_alphanumeric': 0.11042183622828784, 'fraction_numerical': 0.0, 'mean_word_length': 3.698135198135198, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 39, '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': '6517525', 'n_tokens_mistral': 1205, 'n_tokens_neox': 1173, 'n_words': 411}