react-search-autocomplete
Advanced tools
Comparing version 4.0.1 to 5.0.0
@@ -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=_interopRequireDefault(require("react")),_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 _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 _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}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.useCaching,e=a.inputDebounce,f=a.onSearch,g=a.onSelect,h=a.onFocus,i=a.showIcon,j=a.maxResults,k=a.placeholder,l=a.autoFocus,m=a.styling,n=a.resultStringKeyName,o=_objectSpread(_objectSpread({},_config.defaultTheme),m),p=_objectSpread(_objectSpread({},_config.defaultFuseOptions),c),q=new _fuse.default(b,p),r=_react.default.useState(""),s=_slicedToArray(r,2),t=s[0],u=s[1],v=_react.default.useState(),w=_slicedToArray(v,2),x=w[0],y=w[1];_react.default.useEffect(function(){d&&sessionStorage.clear(),q.setCollection(b),y([])},[b]);var z=function(a,b){return d&&sessionStorage.setItem(a,JSON.stringify(b))},A=function(a){return d&&a in sessionStorage&&JSON.parse(sessionStorage.getItem(a))},B=function(a){return q.search(a,{limit:j}).map(function(a){return _objectSpread({},a.item)}).slice(0,j)},C=function(a){var b=A(null===a||void 0===a?void 0:a.toLowerCase())||B(a);z(null===a||void 0===a?void 0:a.toLowerCase(),b),f(a,b),y(b)},D=_react.default.useCallback(0<e?(0,_utils.debounce)(function(a){return C(a)},e):function(a){return C(a)},[b]);return _react.default.createElement(_styledComponents.ThemeProvider,{theme:o},_react.default.createElement(StyledReactSearchAutocomplete,null,_react.default.createElement("div",{className:"wrapper"},_react.default.createElement(_SearchInput.default,{searchString:t,setSearchString:function(a){var b=a.target.value;u(b),0<b.length?D(b):y([])},autoFocus:l,onBlur:function(){return y([])},onFocus:h,placeholder:k,showIcon:i}),_react.default.createElement(_Results.default,{results:x,onClick:g,setSearchString:u,showIcon:i,maxResults:j,resultStringKeyName:n}))))}ReactSearchAutocomplete.defaultProps={items:[],fuseOptions:_config.defaultFuseOptions,onSearch:function(){},useCaching:!1,inputDebounce:200,showIcon:!0,maxResults:10,placeholder:"",autoFocus:!1,styling:{},resultStringKeyName:"name"},ReactSearchAutocomplete.propTypes={items:_propTypes.default.array,fuseOptions:_propTypes.default.object,useCaching:_propTypes.default.bool,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=_interopRequireDefault(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 _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 _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}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)},[s]);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,setSearchString:t,showIcon:h,maxResults:i,resultStringKeyName:m}))))}ReactSearchAutocomplete.defaultProps={items:[],fuseOptions:_config.defaultFuseOptions,onSearch: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": "4.0.1", | ||
"version": "5.0.0", | ||
"description": "A search box for React", | ||
@@ -8,0 +8,0 @@ "main": "dist/index.js", |
@@ -13,2 +13,7 @@ ![travis](https://travis-ci.com/sickdyd/react-search-autocomplete.svg?branch=master) | ||
`5.0.0` | ||
- Dropped support of useCaching | ||
- Fixed issue when setting state onSearch callback | ||
`4.0.0` | ||
@@ -86,4 +91,2 @@ | ||
// the string searched and for the second the results. | ||
// If useCached is true and results are are cached it | ||
// returns cached results | ||
console.log(string, results) | ||
@@ -181,6 +184,2 @@ } | ||
// results | ||
useCaching, | ||
// Default value: false. If set to true, the items will | ||
// be stored in sessionStorage, and each time onSearch | ||
// is called, cached will be true. | ||
inputDebounce, | ||
@@ -187,0 +186,0 @@ // Default value: 200. When the user is typing, before |
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
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
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
22876
11
6
233