import { useCallback } from 'react' import type { ValueType, UseSelectProps } from '../../../types' import { isRelatedTargetInsidePopper, EMPTY_INPUT_VALUE } from '../../../utils' const useBlurHandler = ({ popperRef, selectState: { close, setFilterOptionsValue }, selectProps: { onBlur }, }: UseSelectProps) => useCallback( (event: React.FocusEvent) => { setFilterOptionsValue(EMPTY_INPUT_VALUE) if (!isRelatedTargetInsidePopper(event, popperRef)) { close() } onBlur?.(event) }, [close, onBlur, setFilterOptionsValue, popperRef] ) export default useBlurHandler