import { useCallback, useEffect } from 'react';
import { findIndexOfInputValue } from '../helpers';
export function useHighlightedIndex(highlightedIndex, inputValue, isOpen, items, setHighlightedIndex, setInputValue) {
  useEffect(function () {
    if (inputValue && highlightedIndex < 0) {
      if (isOpen) {
        var _index = findIndexOfInputValue(items, inputValue);
        setHighlightedIndex(_index === -1 ? 0 : _index);
      } else {
        setHighlightedIndex(0);
      }
    }
  }, [highlightedIndex, inputValue, isOpen, items, setHighlightedIndex]);
  function resetHighlightedIndex() {
    setHighlightedIndex(-1);
  }
  var onInputBlurHandler = useCallback(resetHighlightedIndex, [setHighlightedIndex]);
  var onInputTabKeyHandler = useCallback(function (e) {
    if (e.key !== 'Tab') {
      return;
    }
    var item = items[highlightedIndex];
    if (item) {
      setInputValue(item.props.children);
    }
  }, [highlightedIndex, items, setInputValue]);
  return {
    onInputBlurHandler: onInputBlurHandler,
    onInputTabKeyHandler: onInputTabKeyHandler
  };
}