Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import PublishIcon from '../icons/feed';
import classNames from 'classnames';
import { debounce, get, isEmpty } from 'lodash';
import { connect } from 'react-redux';
import appState from '../flux/app-state';
import { tracks } from '../analytics';
import filterNotes from '../utils/filter-notes';
import getNoteTitleAndPreview from './get-note-title-and-preview';
import {
decorateWith,
checkboxDecorator,
makeFilterDecorator,
} from './decorators';
import TagSuggestions, { getMatchingTags } from '../tag-suggestions';
AutoSizer.displayName = 'AutoSizer';
List.displayName = 'List';
/**
* Delay for preventing row height calculation thrashing
*
* this constant was determined experimentally
* and is open to adjustment if it doesn't find
* the proper balance between visual updates
* and performance impacts recomputing row heights
*
* @type {Number} minimum number of ms between calls to recomputeRowHeights in virtual/list
*/
const TYPING_DEBOUNCE_DELAY = 70;
/**
* Maximum delay when debouncing the row height calculation