react-search-autocomplete
Advanced tools
Comparing version 7.0.0 to 7.1.0
@@ -97,3 +97,5 @@ "use strict"; | ||
_ref$showNoResultsTex = _ref.showNoResultsText, | ||
showNoResultsText = _ref$showNoResultsTex === void 0 ? 'No results' : _ref$showNoResultsTex; | ||
showNoResultsText = _ref$showNoResultsTex === void 0 ? 'No results' : _ref$showNoResultsTex, | ||
_ref$showItemsOnFocus = _ref.showItemsOnFocus, | ||
showItemsOnFocus = _ref$showItemsOnFocus === void 0 ? false : _ref$showItemsOnFocus; | ||
@@ -137,16 +139,7 @@ var theme = _objectSpread(_objectSpread({}, _config.defaultTheme), styling); | ||
var callOnSearch = function callOnSearch(keyword) { | ||
var newResults = []; | ||
(keyword === null || keyword === void 0 ? void 0 : keyword.length) > 0 && (newResults = fuseResults(keyword)); | ||
setResults(newResults); | ||
onSearch(keyword, newResults); | ||
setIsTyping(false); | ||
}; | ||
var _useState13 = (0, _react.useState)(false), | ||
_useState14 = _slicedToArray(_useState13, 2), | ||
hasFocus = _useState14[0], | ||
setHasFocus = _useState14[1]; | ||
var handleOnSearch = _react.default.useCallback(inputDebounce > 0 ? (0, _utils.debounce)(function (keyword) { | ||
return callOnSearch(keyword); | ||
}, inputDebounce) : function (keyword) { | ||
return callOnSearch(keyword); | ||
}, [items]); | ||
(0, _react.useEffect)(function () { | ||
@@ -165,5 +158,34 @@ setSearchString(inputSearchString); | ||
}, [isTyping, showNoResults, isSearchComplete, searchString, results]); | ||
(0, _react.useEffect)(function () { | ||
if (showItemsOnFocus && results.length === 0 && searchString.length === 0 && hasFocus) { | ||
setResults(items); | ||
} | ||
}, [showItemsOnFocus, results, searchString, hasFocus]); | ||
var handleOnFocus = function handleOnFocus(event) { | ||
onFocus(event); | ||
setHasFocus(true); | ||
}; | ||
var handleOnBlur = function handleOnBlur() { | ||
eraseResults(); | ||
setHasFocus(false); | ||
}; | ||
var callOnSearch = function callOnSearch(keyword) { | ||
var newResults = []; | ||
(keyword === null || keyword === void 0 ? void 0 : keyword.length) > 0 && (newResults = fuseResults(keyword)); | ||
setResults(newResults); | ||
onSearch(keyword, newResults); | ||
setIsTyping(false); | ||
}; | ||
var handleOnSearch = _react.default.useCallback(inputDebounce > 0 ? (0, _utils.debounce)(function (keyword) { | ||
return callOnSearch(keyword); | ||
}, inputDebounce) : function (keyword) { | ||
return callOnSearch(keyword); | ||
}, [items]); | ||
var handleOnClick = function handleOnClick(result) { | ||
eraseResult(); | ||
eraseResults(); | ||
onSelect(result); | ||
@@ -194,3 +216,3 @@ setSearchString(result[resultStringKeyName]); | ||
var eraseResult = function eraseResult() { | ||
var eraseResults = function eraseResults() { | ||
setResults([]); | ||
@@ -222,3 +244,3 @@ setIsSearchComplete(true); | ||
eraseResult(); | ||
eraseResults(); | ||
break; | ||
@@ -253,6 +275,4 @@ | ||
autoFocus: autoFocus, | ||
onBlur: function onBlur() { | ||
return eraseResult(); | ||
}, | ||
onFocus: onFocus, | ||
onBlur: handleOnBlur, | ||
onFocus: handleOnFocus, | ||
onClear: onClear, | ||
@@ -259,0 +279,0 @@ placeholder: placeholder, |
@@ -26,3 +26,4 @@ import { default as Fuse } from 'fuse.js'; | ||
showNoResultsText?: string; | ||
showItemsOnFocus?: boolean; | ||
} | ||
export default function ReactSearchAutocomplete<T>({ items, fuseOptions, inputDebounce, onSearch, onHover, onSelect, onFocus, onClear, showIcon, showClear, maxResults, placeholder, autoFocus, styling, resultStringKeyName, inputSearchString, formatResult, showNoResults, showNoResultsText }: ReactSearchAutocompleteProps<T>): JSX.Element; | ||
export default function ReactSearchAutocomplete<T>({ items, fuseOptions, inputDebounce, onSearch, onHover, onSelect, onFocus, onClear, showIcon, showClear, maxResults, placeholder, autoFocus, styling, resultStringKeyName, inputSearchString, formatResult, showNoResults, showNoResultsText, showItemsOnFocus }: ReactSearchAutocompleteProps<T>): JSX.Element; |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "7.0.0", | ||
"version": "7.1.0", | ||
"description": "A search box for React", | ||
@@ -8,0 +8,0 @@ "main": "dist/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
42039
682