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

import { List } from '../list'
import { TextBox } from '../lib/text-box'
import { Row } from '../lib/row'

export interface IFilterListItem {
  /**
   * The text which will be rendered in some way for the item. This is used
   * entirely for filtering.
   */
  readonly text: string

  /** A unique identifier for the item. */
  readonly id: string
}

export interface IFilterListGroup<T extends IFilterListItem> {
  readonly identifier: string
  readonly items: ReadonlyArray<T>
}

interface IGroup {
  readonly kind: 'group'
  readonly identifier: string
}

interface IItem<T extends IFilterListItem> {
  readonly kind: 'item'
  readonly item: T
}

type IFilterListRow<T extends IFilterListItem> = IGroup | IItem<T>

interface IFilterListProps<T extends IFilterListItem> {
  readonly className?: string
<commit_msg>Flattened<commit_after>import * as React from 'react'
import * as classnames from 'classnames'

import { List } from '../list'
import { TextBox } from '../lib/text-box'
import { Row } from '../lib/row'

export interface IFilterListItem {
  /**
   * The text which will be rendered in some way for the item. This is used
   * entirely for filtering.
   */
  readonly text: string

  /** A unique identifier for the item. */
  readonly id: string
}

export interface IFilterListGroup<T extends IFilterListItem> {
  readonly identifier: string
  readonly items: ReadonlyArray<T>
}

interface IFlattenedGroup {
  readonly kind: 'group'
  readonly identifier: string
}

interface IFlattenedItem<T extends IFilterListItem> {
  readonly kind: 'item'
  readonly item: T
}

type IFilterListRow<T extends IFilterListItem> = IFlattenedGroup | IFlattenedItem<T>

interface IFilterListProps<T extends IFilterListItem> {
  readonly className?: string

{'fraction_non_alphanumeric': 0.09229098805646037, 'fraction_numerical': 0.0, 'mean_word_length': 4.105263157894737, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, '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': '3842078', 'n_tokens_mistral': 545, 'n_tokens_neox': 540, 'n_words': 194}