Socket
Socket
Sign inDemoInstall

react-search-autocomplete

Package Overview
Dependencies
3
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.0.3 to 5.0.4

2

dist/components/ReactSearchAutocomplete.js

@@ -1,1 +0,1 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReactSearchAutocomplete,exports.MAX_RESULTS=exports.DEFAULT_INPUT_DEBOUNCE=void 0;var _react=_interopRequireWildcard(require("react")),_useEffectSkipFirstRender=require("../hooks/useEffectSkipFirstRender"),_propTypes=_interopRequireDefault(require("prop-types")),_fuse=_interopRequireDefault(require("fuse.js")),_config=require("../config/config"),_Results=_interopRequireDefault(require("./Results")),_SearchInput=_interopRequireDefault(require("./SearchInput")),_styledComponents=_interopRequireWildcard(require("styled-components")),_utils=require("../utils/utils");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;return _getRequireWildcardCache=function(){return a},a}function _interopRequireWildcard(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=_getRequireWildcardCache();if(b&&b.has(a))return b.get(a);var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;f&&(f.get||f.set)?Object.defineProperty(c,e,f):c[e]=a[e]}return c.default=a,b&&b.set(a,c),c}function _templateObject(){var a=_taggedTemplateLiteral(["\n position: relative;\n\n height: ",";\n\n > .wrapper {\n position: absolute;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n border: ",";\n border-radius: ",";\n\n background-color: ",";\n color: ",";\n\n font-size: ",";\n font-family: ",";\n\n z-index: ",";\n\n &:hover {\n box-shadow: ",";\n }\n &:active {\n box-shadow: ",";\n }\n &:focus-within {\n box-shadow: ",";\n }\n }\n"]);return _templateObject=function(){return a},a}function _taggedTemplateLiteral(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var DEFAULT_INPUT_DEBOUNCE=200;exports.DEFAULT_INPUT_DEBOUNCE=200;var MAX_RESULTS=10;exports.MAX_RESULTS=10;function ReactSearchAutocomplete(a){var b=a.items,c=a.fuseOptions,d=a.inputDebounce,e=a.onSearch,f=a.onSelect,g=a.onFocus,h=a.showIcon,i=a.maxResults,j=a.placeholder,k=a.autoFocus,l=a.styling,m=a.resultStringKeyName,n=_objectSpread(_objectSpread({},_config.defaultTheme),l),o=_objectSpread(_objectSpread({},_config.defaultFuseOptions),c),p=new _fuse.default(b,o);p.setCollection(b);var q=_react.default.useState(""),r=_slicedToArray(q,2),s=r[0],t=r[1],u=_react.default.useState(""),v=_slicedToArray(u,2),w=v[0],x=v[1],y=_react.default.useState(),z=_slicedToArray(y,2),A=z[0],B=z[1];(0,_useEffectSkipFirstRender.useEffectSkipFirstRender)(function(){var a=[];0<s.length?(a=C(s),B(a),e(s,a)):B(a),x(s)},[s]),(0,_react.useEffect)(function(){0<s.length&&B(C(s))},[b]);var C=function(a){return p.search(a,{limit:i}).map(function(a){return _objectSpread({},a.item)}).slice(0,i)},D=_react.default.useCallback(0<d?(0,_utils.debounce)(function(a){return t(a)},d):function(a){return t(a)},[b]);return _react.default.createElement(_styledComponents.ThemeProvider,{theme:n},_react.default.createElement(StyledReactSearchAutocomplete,null,_react.default.createElement("div",{className:"wrapper"},_react.default.createElement(_SearchInput.default,{searchString:w,setSearchString:function(a){var b=a.target;x(b.value),D(b.value)},autoFocus:k,onBlur:function(){return B([])},onFocus:g,placeholder:j,showIcon:h}),_react.default.createElement(_Results.default,{results:A,onClick:f,setDisplayString:x,showIcon:h,maxResults:i,resultStringKeyName:m}))))}ReactSearchAutocomplete.defaultProps={items:[],fuseOptions:_config.defaultFuseOptions,onSearch:function(){},onSelect:function(){},inputDebounce:200,showIcon:!0,maxResults:10,placeholder:"",autoFocus:!1,onFocus:function(){},styling:{},resultStringKeyName:"name"},ReactSearchAutocomplete.propTypes={items:_propTypes.default.array,fuseOptions:_propTypes.default.object,inputDebounce:_propTypes.default.number,onSearch:_propTypes.default.func,onSelect:_propTypes.default.func,onFocus:_propTypes.default.func,showIcon:_propTypes.default.bool,maxResults:_propTypes.default.number,placeholder:_propTypes.default.string,autoFocus:_propTypes.default.bool,styling:_propTypes.default.object,resultStringKeyName:_propTypes.default.string};var StyledReactSearchAutocomplete=_styledComponents.default.div(_templateObject(),function(a){return parseInt(a.theme.height)+2+"px"},function(a){return a.theme.border},function(a){return a.theme.borderRadius},function(a){return a.theme.backgroundColor},function(a){return a.theme.color},function(a){return a.theme.fontSize},function(a){return a.theme.fontFamily},function(a){return a.theme.zIndex},function(a){return a.theme.boxShadow},function(a){return a.theme.boxShadow},function(a){return a.theme.boxShadow});
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReactSearchAutocomplete,exports.MAX_RESULTS=exports.DEFAULT_INPUT_DEBOUNCE=void 0;var _react=_interopRequireWildcard(require("react")),_useEffectSkipFirstRender=require("../hooks/useEffectSkipFirstRender"),_propTypes=_interopRequireDefault(require("prop-types")),_fuse=_interopRequireDefault(require("fuse.js")),_config=require("../config/config"),_Results=_interopRequireDefault(require("./Results")),_SearchInput=_interopRequireDefault(require("./SearchInput")),_styledComponents=_interopRequireWildcard(require("styled-components")),_utils=require("../utils/utils");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;return _getRequireWildcardCache=function(){return a},a}function _interopRequireWildcard(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=_getRequireWildcardCache();if(b&&b.has(a))return b.get(a);var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;f&&(f.get||f.set)?Object.defineProperty(c,e,f):c[e]=a[e]}return c.default=a,b&&b.set(a,c),c}function _templateObject(){var a=_taggedTemplateLiteral(["\n position: relative;\n\n height: ",";\n\n > .wrapper {\n position: absolute;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n border: ",";\n border-radius: ",";\n\n background-color: ",";\n color: ",";\n\n font-size: ",";\n font-family: ",";\n\n z-index: ",";\n\n &:hover {\n box-shadow: ",";\n }\n &:active {\n box-shadow: ",";\n }\n &:focus-within {\n box-shadow: ",";\n }\n }\n"]);return _templateObject=function(){return a},a}function _taggedTemplateLiteral(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var DEFAULT_INPUT_DEBOUNCE=200;exports.DEFAULT_INPUT_DEBOUNCE=200;var MAX_RESULTS=10;exports.MAX_RESULTS=10;function ReactSearchAutocomplete(a){var b=a.items,c=a.fuseOptions,d=a.inputDebounce,e=a.onSearch,f=a.onSelect,g=a.onFocus,h=a.showIcon,i=a.maxResults,j=a.placeholder,k=a.autoFocus,l=a.styling,m=a.resultStringKeyName,n=_objectSpread(_objectSpread({},_config.defaultTheme),l),o=_objectSpread(_objectSpread({},_config.defaultFuseOptions),c),p=new _fuse.default(b,o);p.setCollection(b);var q=_react.default.useState(""),r=_slicedToArray(q,2),s=r[0],t=r[1],u=_react.default.useState(""),v=_slicedToArray(u,2),w=v[0],x=v[1],y=_react.default.useState(),z=_slicedToArray(y,2),A=z[0],B=z[1];(0,_useEffectSkipFirstRender.useEffectSkipFirstRender)(function(){var a=[];0<s.length?(a=C(s),B(a),e(s,a)):B(a),x(s)},[s]),(0,_react.useEffect)(function(){0<s.length&&0<A.length&&B(C(s))},[b]);var C=function(a){return p.search(a,{limit:i}).map(function(a){return _objectSpread({},a.item)}).slice(0,i)},D=_react.default.useCallback(0<d?(0,_utils.debounce)(function(a){return t(a)},d):function(a){return t(a)},[b]);return _react.default.createElement(_styledComponents.ThemeProvider,{theme:n},_react.default.createElement(StyledReactSearchAutocomplete,null,_react.default.createElement("div",{className:"wrapper"},_react.default.createElement(_SearchInput.default,{searchString:w,setSearchString:function(a){var b=a.target;x(b.value),D(b.value)},autoFocus:k,onBlur:function(){return B([])},onFocus:g,placeholder:j,showIcon:h}),_react.default.createElement(_Results.default,{results:A,onClick:f,setDisplayString:x,showIcon:h,maxResults:i,resultStringKeyName:m}))))}ReactSearchAutocomplete.defaultProps={items:[],fuseOptions:_config.defaultFuseOptions,onSearch:function(){},onSelect:function(){},inputDebounce:200,showIcon:!0,maxResults:10,placeholder:"",autoFocus:!1,onFocus:function(){},styling:{},resultStringKeyName:"name"},ReactSearchAutocomplete.propTypes={items:_propTypes.default.array,fuseOptions:_propTypes.default.object,inputDebounce:_propTypes.default.number,onSearch:_propTypes.default.func,onSelect:_propTypes.default.func,onFocus:_propTypes.default.func,showIcon:_propTypes.default.bool,maxResults:_propTypes.default.number,placeholder:_propTypes.default.string,autoFocus:_propTypes.default.bool,styling:_propTypes.default.object,resultStringKeyName:_propTypes.default.string};var StyledReactSearchAutocomplete=_styledComponents.default.div(_templateObject(),function(a){return parseInt(a.theme.height)+2+"px"},function(a){return a.theme.border},function(a){return a.theme.borderRadius},function(a){return a.theme.backgroundColor},function(a){return a.theme.color},function(a){return a.theme.fontSize},function(a){return a.theme.fontFamily},function(a){return a.theme.zIndex},function(a){return a.theme.boxShadow},function(a){return a.theme.boxShadow},function(a){return a.theme.boxShadow});

@@ -5,3 +5,3 @@ {

"license": "MIT",
"version": "5.0.3",
"version": "5.0.4",
"description": "A search box for React",

@@ -8,0 +8,0 @@ "main": "dist/index.js",

@@ -11,41 +11,3 @@ ![travis](https://travis-ci.com/sickdyd/react-search-autocomplete.svg?branch=master)

## Latest changes
`5.0.3`
- Fixed bug that would not upate results if items changed.
`5.0.2`
- Fixed error when not passing `onSelect` callback
`5.0.1`
- Fixed but that would not set the input text to the item selected
- Fixed a bug that would trigger a search when selecting
`5.0.0`
- Dropped support of useCaching
- Fixed issue when setting state onSearch callback
`4.0.0`
- Removed global styles for font-size, font-family and border-box (now applied only to the component)
`3.0.1`
- Reduced bundle size
`3.0.0`
- `onSearch` will have as the first argument of the callback the `keyword` searched and for the second the `results`
- `onSearch` `results` now will be `[]` instead of `false` if there are no cached results or results
- Greatly improved performance with large amount of items
`2.0.4`
- Support for different `items` structure is now properly working
- `useCaching` is now by default set to `false`
## Multiple search boxes on the same website

@@ -61,2 +23,8 @@

### With React 17
```bash
$ npm install react-search-autocomplete --legacy-peer-deps
```
### Exports

@@ -63,0 +31,0 @@

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc