Socket
Socket
Sign inDemoInstall

react-search-autocomplete

Package Overview
Dependencies
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-search-autocomplete - npm Package Compare versions

Comparing version 7.0.0 to 7.1.0

62

dist/components/ReactSearchAutocomplete.js

@@ -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",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc