React search component state

interface IDisplayState {
    caseSensitive: boolean;
    currentIndex: null | number;
    errorMessage: string;
    filters: IFilters;
    filtersOpen: boolean;
    forceFocus: boolean;
    query: null | RegExp;
    replaceEntryVisible: boolean;
    replaceInputFocused: boolean;
    replaceText: string;
    searchInputFocused: boolean;
    searchText: string;
    totalMatches: number;
    useRegex: boolean;
}

Properties

caseSensitive: boolean

Should the search be case sensitive?

currentIndex: null | number

The index of the currently selected match

errorMessage: string

An error message (used for bad regex syntax)

filters: IFilters

What should we include when we search?

filtersOpen: boolean

Is the filters view open?

forceFocus: boolean

Should the focus forced into the input on the next render?

query: null | RegExp

The query constructed from the text and the case/regex flags

replaceEntryVisible: boolean

Whether or not the replace entry row is visible

replaceInputFocused: boolean

Whether or not the replace input is currently focused

replaceText: string

The text in the replace entry

searchInputFocused: boolean

Whether or not the search input is currently focused

searchText: string

The text in the search entry

totalMatches: number

The total number of matches found in the document

useRegex: boolean

Should the search string be treated as a RegExp?