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 5.5.0 to 5.5.1

75

dist/components/ClearIcon.js

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClearIcon=void 0;var _templateObject,_react=_interopRequireDefault(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_styledComponents=_interopRequireDefault(require("styled-components"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _taggedTemplateLiteral(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}var ClearIcon=function(a){var b=a.showClear,c=a.setSearchString,d=a.searchString,e=a.setFocus,f=a.onClear;return b?0>=d.length?null:_react.default.createElement(StyledClearIcon,{className:"clear-icon",onClick:function(){c({target:{value:""}}),e(),f()}},_react.default.createElement("svg",{width:20,height:20,focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},_react.default.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.58 12 5 17.58 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}))):null};exports.ClearIcon=ClearIcon;var StyledClearIcon=_styledComponents.default.div(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n margin: ",";\n\n &:hover {\n cursor: pointer;\n }\n\n > svg {\n fill: ",";\n }\n"])),function(a){return a.theme.clearIconMargin},function(a){return a.theme.iconColor});ClearIcon.propTypes={searchString:_propTypes.default.string.isRequired,setSearchString:_propTypes.default.func.isRequired,setFocus:_propTypes.default.func,showClear:_propTypes.default.bool,onClear:_propTypes.default.func,onSearch:_propTypes.default.func};
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ClearIcon = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _templateObject;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var ClearIcon = function ClearIcon(_ref) {
var showClear = _ref.showClear,
setSearchString = _ref.setSearchString,
searchString = _ref.searchString,
setFocus = _ref.setFocus,
onClear = _ref.onClear;
var handleClearSearchString = function handleClearSearchString() {
setSearchString({
target: {
value: ''
}
});
setFocus();
onClear();
};
if (!showClear) {
return null;
}
if (searchString.length <= 0) {
return null;
}
return /*#__PURE__*/_react.default.createElement(StyledClearIcon, {
className: "clear-icon",
onClick: handleClearSearchString
}, /*#__PURE__*/_react.default.createElement("svg", {
width: 20,
height: 20,
focusable: "false",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 24 24"
}, /*#__PURE__*/_react.default.createElement("path", {
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.58 12 5 17.58 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
})));
};
exports.ClearIcon = ClearIcon;
var StyledClearIcon = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: ", ";\n\n &:hover {\n cursor: pointer;\n }\n\n > svg {\n fill: ", ";\n }\n"])), function (props) {
return props.theme.clearIconMargin;
}, function (props) {
return props.theme.iconColor;
});
ClearIcon.propTypes = {
searchString: _propTypes.default.string.isRequired,
setSearchString: _propTypes.default.func.isRequired,
setFocus: _propTypes.default.func,
showClear: _propTypes.default.bool,
onClear: _propTypes.default.func,
onSearch: _propTypes.default.func
};

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

"use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ReactSearchAutocomplete,exports.MAX_RESULTS=exports.DEFAULT_INPUT_DEBOUNCE=void 0;var _templateObject,_fuse=_interopRequireDefault(require("fuse.js")),_propTypes=_interopRequireDefault(require("prop-types")),_react=_interopRequireWildcard(require("react")),_styledComponents=_interopRequireWildcard(require("styled-components")),_config=require("../config/config"),_utils=require("../utils/utils"),_Results=_interopRequireDefault(require("./Results")),_SearchInput=_interopRequireDefault(require("./SearchInput"));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 _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){var c=a&&("undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"]);if(null!=c){var d,e,f=[],g=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}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.onHover,g=a.onSelect,h=a.onFocus,i=a.onClear,j=a.showIcon,k=a.showClear,l=a.maxResults,m=a.placeholder,n=a.autoFocus,o=a.styling,p=a.resultStringKeyName,q=a.inputSearchString,r=a.formatResult,s=_objectSpread(_objectSpread({},_config.defaultTheme),o),t=_objectSpread(_objectSpread({},_config.defaultFuseOptions),c),u=new _fuse.default(b,t);u.setCollection(b);var v=(0,_react.useState)(q),w=_slicedToArray(v,2),x=w[0],y=w[1],z=(0,_react.useState)(),A=_slicedToArray(z,2),B=A[0],C=A[1],D=function(a){var b=[];0<(null===a||void 0===a?void 0:a.length)?(b=F(a),C(b),e(a,b)):C(b)},E=_react.default.useCallback(0<d?(0,_utils.debounce)(function(a){return D(a)},d):function(a){return D(a)},[b]);(0,_react.useEffect)(function(){y(q)},[q]),(0,_react.useEffect)(function(){0<(null===x||void 0===x?void 0:x.length)&&0<(null===B||void 0===B?void 0:B.length)&&C(F(x))},[b]);var F=function(a){return u.search(a,{limit:l}).map(function(a){return _objectSpread({},a.item)}).slice(0,l)};return _react.default.createElement(_styledComponents.ThemeProvider,{theme:s},_react.default.createElement(StyledReactSearchAutocomplete,null,_react.default.createElement("div",{className:"wrapper"},_react.default.createElement(_SearchInput.default,{searchString:x,setSearchString:function(a){var b=a.target,c=b.value;y(c),E(c)},autoFocus:n,onBlur:function(){return C([])},onFocus:h,onClear:i,placeholder:m,showIcon:j,showClear:k}),_react.default.createElement(_Results.default,{results:B,onClick:function(a){C([]),g(a)},onHover:f,setSearchString:y,showIcon:j,maxResults:l,resultStringKeyName:p,formatResult:r}))))}ReactSearchAutocomplete.defaultProps={items:[],fuseOptions:_config.defaultFuseOptions,onSearch:function(){},onHover:function(){},onSelect:function(){},onClear:function(){},inputDebounce:200,showIcon:!0,showClear:!0,maxResults:10,placeholder:"",autoFocus:!1,onFocus:function(){},styling:{},resultStringKeyName:"name",inputSearchString:"",formatResult:null},ReactSearchAutocomplete.propTypes={items:_propTypes.default.array,fuseOptions:_propTypes.default.object,inputDebounce:_propTypes.default.number,onSearch:_propTypes.default.func,onHover:_propTypes.default.func,onSelect:_propTypes.default.func,onClear:_propTypes.default.func,onFocus:_propTypes.default.func,showIcon:_propTypes.default.bool,showClear:_propTypes.default.bool,maxResults:_propTypes.default.number,placeholder:_propTypes.default.string,autoFocus:_propTypes.default.bool,styling:_propTypes.default.object,resultStringKeyName:_propTypes.default.string,inputSearchString:_propTypes.default.string,formatResult:_propTypes.default.func};var StyledReactSearchAutocomplete=_styledComponents.default.div(_templateObject||(_templateObject=_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"])),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";
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = ReactSearchAutocomplete;
exports.MAX_RESULTS = exports.DEFAULT_INPUT_DEBOUNCE = void 0;
var _fuse = _interopRequireDefault(require("fuse.js"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _config = require("../config/config");
var _utils = require("../utils/utils");
var _Results = _interopRequireDefault(require("./Results"));
var _SearchInput = _interopRequireDefault(require("./SearchInput"));
var _templateObject;
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var DEFAULT_INPUT_DEBOUNCE = 200;
exports.DEFAULT_INPUT_DEBOUNCE = DEFAULT_INPUT_DEBOUNCE;
var MAX_RESULTS = 10;
exports.MAX_RESULTS = MAX_RESULTS;
function ReactSearchAutocomplete(props) {
var items = props.items,
fuseOptions = props.fuseOptions,
inputDebounce = props.inputDebounce,
onSearch = props.onSearch,
onHover = props.onHover,
onSelect = props.onSelect,
onFocus = props.onFocus,
onClear = props.onClear,
showIcon = props.showIcon,
showClear = props.showClear,
maxResults = props.maxResults,
placeholder = props.placeholder,
autoFocus = props.autoFocus,
styling = props.styling,
resultStringKeyName = props.resultStringKeyName,
inputSearchString = props.inputSearchString,
formatResult = props.formatResult;
var theme = _objectSpread(_objectSpread({}, _config.defaultTheme), styling);
var options = _objectSpread(_objectSpread({}, _config.defaultFuseOptions), fuseOptions);
var fuse = new _fuse.default(items, options);
fuse.setCollection(items);
var _useState = (0, _react.useState)(inputSearchString),
_useState2 = _slicedToArray(_useState, 2),
searchString = _useState2[0],
setSearchString = _useState2[1];
var _useState3 = (0, _react.useState)(),
_useState4 = _slicedToArray(_useState3, 2),
results = _useState4[0],
setResults = _useState4[1];
var callOnSearch = function callOnSearch(keyword) {
var newResults = [];
if ((keyword === null || keyword === void 0 ? void 0 : keyword.length) > 0) {
newResults = fuseResults(keyword);
setResults(newResults);
onSearch(keyword, newResults);
} else {
setResults(newResults);
}
};
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 () {
setSearchString(inputSearchString);
}, [inputSearchString]);
(0, _react.useEffect)(function () {
(searchString === null || searchString === void 0 ? void 0 : searchString.length) > 0 && (results === null || results === void 0 ? void 0 : results.length) > 0 && setResults(fuseResults(searchString));
}, [items]);
var handleOnClick = function handleOnClick(result) {
setResults([]);
onSelect(result);
};
var fuseResults = function fuseResults(keyword) {
return fuse.search(keyword, {
limit: maxResults
}).map(function (result) {
return _objectSpread({}, result.item);
}).slice(0, maxResults);
};
var handleSetSearchString = function handleSetSearchString(_ref) {
var target = _ref.target;
var keyword = target.value;
setSearchString(keyword);
handleOnSearch(keyword);
};
return /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
theme: theme
}, /*#__PURE__*/_react.default.createElement(StyledReactSearchAutocomplete, null, /*#__PURE__*/_react.default.createElement("div", {
className: "wrapper"
}, /*#__PURE__*/_react.default.createElement(_SearchInput.default, {
searchString: searchString,
setSearchString: handleSetSearchString,
autoFocus: autoFocus,
onBlur: function onBlur() {
return setResults([]);
},
onFocus: onFocus,
onClear: onClear,
placeholder: placeholder,
showIcon: showIcon,
showClear: showClear
}), /*#__PURE__*/_react.default.createElement(_Results.default, {
results: results,
onClick: handleOnClick,
onHover: onHover,
setSearchString: setSearchString,
showIcon: showIcon,
maxResults: maxResults,
resultStringKeyName: resultStringKeyName,
formatResult: formatResult
}))));
}
ReactSearchAutocomplete.defaultProps = {
items: [],
fuseOptions: _config.defaultFuseOptions,
onSearch: function onSearch() {},
onHover: function onHover() {},
onSelect: function onSelect() {},
onClear: function onClear() {},
inputDebounce: DEFAULT_INPUT_DEBOUNCE,
showIcon: true,
showClear: true,
maxResults: MAX_RESULTS,
placeholder: '',
autoFocus: false,
onFocus: function onFocus() {},
styling: {},
resultStringKeyName: 'name',
inputSearchString: '',
formatResult: null
};
ReactSearchAutocomplete.propTypes = {
items: _propTypes.default.array,
fuseOptions: _propTypes.default.object,
inputDebounce: _propTypes.default.number,
onSearch: _propTypes.default.func,
onHover: _propTypes.default.func,
onSelect: _propTypes.default.func,
onClear: _propTypes.default.func,
onFocus: _propTypes.default.func,
showIcon: _propTypes.default.bool,
showClear: _propTypes.default.bool,
maxResults: _propTypes.default.number,
placeholder: _propTypes.default.string,
autoFocus: _propTypes.default.bool,
styling: _propTypes.default.object,
resultStringKeyName: _propTypes.default.string,
inputSearchString: _propTypes.default.string,
formatResult: null || _propTypes.default.func
};
var StyledReactSearchAutocomplete = _styledComponents.default.div(_templateObject || (_templateObject = _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"])), function (props) {
return parseInt(props.theme.height) + 2 + 'px';
}, function (props) {
return props.theme.border;
}, function (props) {
return props.theme.borderRadius;
}, function (props) {
return props.theme.backgroundColor;
}, function (props) {
return props.theme.color;
}, function (props) {
return props.theme.fontSize;
}, function (props) {
return props.theme.fontFamily;
}, function (props) {
return props.theme.zIndex;
}, function (props) {
return props.theme.boxShadow;
}, function (props) {
return props.theme.boxShadow;
}, function (props) {
return props.theme.boxShadow;
});

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Results;var _templateObject,_propTypes=_interopRequireDefault(require("prop-types")),_react=_interopRequireDefault(require("react")),_styledComponents=_interopRequireDefault(require("styled-components")),_SearchIcon=require("./SearchIcon");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _taggedTemplateLiteral(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}function Results(a){var b=a.results,c=a.onClick,d=a.setSearchString,e=a.showIcon,f=a.maxResults,g=a.resultStringKeyName,h=a.onHover,i=a.formatResult,j=i?i:function(a){return a[g]},k=function(a){c(a),d(a[g])};return 0>=(null===b||void 0===b?void 0:b.length)?null:_react.default.createElement(StyledResults,null,_react.default.createElement("div",{className:"line"}),_react.default.createElement("ul",null,b.slice(0,f).map(function(a){return _react.default.createElement("li",{onMouseEnter:function(){return h(a)},"data-test":"result",key:"rsa-result-".concat(a.id),onMouseDown:function(){return k(a)},onClick:function(){return k(a)}},_react.default.createElement(_SearchIcon.SearchIcon,{showIcon:e}),_react.default.createElement("div",{className:"ellipsis",title:a[g]},j(a)))})))}Results.defaultProps={results:[],setDisplayString:function(){},resultStringKeyName:"name",formatResult:null},Results.propTypes={results:_propTypes.default.array,onClick:_propTypes.default.func,setSearchString:_propTypes.default.func,showIcon:_propTypes.default.bool,maxResults:_propTypes.default.number,resultStringKeyName:_propTypes.default.string,formatResult:_propTypes.default.func};var StyledResults=_styledComponents.default.div(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n > div.line {\n border-top-color: ",";\n border-top-style: solid;\n border-top-width: 1px;\n\n margin-bottom: 0px;\n margin-left: 14px;\n margin-right: 20px;\n margin-top: 0px;\n\n padding-bottom: 4px;\n }\n\n > ul {\n list-style-type: none;\n margin: 0;\n padding: 0px 0 16px 0;\n max-height: ",";\n\n > li {\n display: flex;\n align-items: center;\n padding: 4px 0 4px 0;\n\n &:hover {\n background-color: ",";\n cursor: default;\n }\n\n > div {\n margin-left: 13px;\n }\n }\n }\n\n .ellipsis {\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"])),function(a){return a.theme.lineColor},function(a){return a.theme.maxHeight},function(a){return a.theme.hoverBackgroundColor});
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Results;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _SearchIcon = require("./SearchIcon");
var _templateObject;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
function Results(props) {
var results = props.results,
onClick = props.onClick,
setSearchString = props.setSearchString,
showIcon = props.showIcon,
maxResults = props.maxResults,
resultStringKeyName = props.resultStringKeyName,
onHover = props.onHover,
formatResult = props.formatResult;
var formatResultWithKey = formatResult ? formatResult : function (val) {
return val[resultStringKeyName];
};
var handleClick = function handleClick(result) {
onClick(result);
setSearchString(result[resultStringKeyName]);
};
if ((results === null || results === void 0 ? void 0 : results.length) <= 0) {
return null;
}
return /*#__PURE__*/_react.default.createElement(StyledResults, null, /*#__PURE__*/_react.default.createElement("div", {
className: "line"
}), /*#__PURE__*/_react.default.createElement("ul", null, results.slice(0, maxResults).map(function (result) {
return /*#__PURE__*/_react.default.createElement("li", {
onMouseEnter: function onMouseEnter() {
return onHover(result);
},
"data-test": "result",
key: "rsa-result-".concat(result.id),
onMouseDown: function onMouseDown() {
return handleClick(result);
},
onClick: function onClick() {
return handleClick(result);
}
}, /*#__PURE__*/_react.default.createElement(_SearchIcon.SearchIcon, {
showIcon: showIcon
}), /*#__PURE__*/_react.default.createElement("div", {
className: "ellipsis",
title: result[resultStringKeyName]
}, formatResultWithKey(result)));
})));
}
Results.defaultProps = {
results: [],
setDisplayString: function setDisplayString() {},
resultStringKeyName: 'name',
formatResult: null
};
Results.propTypes = {
results: _propTypes.default.array,
onClick: _propTypes.default.func,
setSearchString: _propTypes.default.func,
showIcon: _propTypes.default.bool,
maxResults: _propTypes.default.number,
resultStringKeyName: _propTypes.default.string,
formatResult: null || _propTypes.default.func
};
var StyledResults = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n > div.line {\n border-top-color: ", ";\n border-top-style: solid;\n border-top-width: 1px;\n\n margin-bottom: 0px;\n margin-left: 14px;\n margin-right: 20px;\n margin-top: 0px;\n\n padding-bottom: 4px;\n }\n\n > ul {\n list-style-type: none;\n margin: 0;\n padding: 0px 0 16px 0;\n max-height: ", ";\n\n > li {\n display: flex;\n align-items: center;\n padding: 4px 0 4px 0;\n\n &:hover {\n background-color: ", ";\n cursor: default;\n }\n\n > div {\n margin-left: 13px;\n }\n }\n }\n\n .ellipsis {\n text-align: left;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"])), function (props) {
return props.theme.lineColor;
}, function (props) {
return props.theme.maxHeight;
}, function (props) {
return props.theme.hoverBackgroundColor;
});

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SearchIcon=void 0;var _templateObject,_react=_interopRequireDefault(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_styledComponents=_interopRequireDefault(require("styled-components"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _taggedTemplateLiteral(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}var SearchIcon=function(a){var b=a.showIcon;return b?_react.default.createElement(StyledSearchIcon,{className:"search-icon",width:20,height:20,focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},_react.default.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})):null};exports.SearchIcon=SearchIcon;var StyledSearchIcon=_styledComponents.default.svg(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n flex-shrink: 0;\n margin: ",";\n fill: ",";\n"])),function(a){return a.theme.searchIconMargin},function(a){return a.theme.iconColor});SearchIcon.propTypes={showIcon:_propTypes.default.bool};
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SearchIcon = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _templateObject;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var SearchIcon = function SearchIcon(_ref) {
var showIcon = _ref.showIcon;
if (!showIcon) {
return null;
}
return /*#__PURE__*/_react.default.createElement(StyledSearchIcon, {
className: "search-icon",
width: 20,
height: 20,
focusable: "false",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 24 24"
}, /*#__PURE__*/_react.default.createElement("path", {
d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
}));
};
exports.SearchIcon = SearchIcon;
var StyledSearchIcon = _styledComponents.default.svg(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex-shrink: 0;\n margin: ", ";\n fill: ", ";\n"])), function (props) {
return props.theme.searchIconMargin;
}, function (props) {
return props.theme.iconColor;
});
SearchIcon.propTypes = {
showIcon: _propTypes.default.bool
};

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

"use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=SearchInput;var _templateObject,_react=_interopRequireWildcard(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_SearchIcon=require("./SearchIcon"),_styledComponents=_interopRequireDefault(require("styled-components")),_ClearIcon=require("./ClearIcon");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 _taggedTemplateLiteral(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}function SearchInput(a){var b=a.searchString,c=a.setSearchString,d=a.autoFocus,e=a.onBlur,f=a.onFocus,g=a.onClear,h=a.placeholder,i=a.showIcon,j=a.showClear,k=(0,_react.useRef)(),l=!0,m=function(){l&&f()};return _react.default.createElement(StyledSearchInput,null,_react.default.createElement(_SearchIcon.SearchIcon,{showIcon:i}),_react.default.createElement("input",{ref:k,spellCheck:!1,value:b,onChange:c,onBlur:e,onFocus:m,placeholder:h,autoFocus:d}),_react.default.createElement(_ClearIcon.ClearIcon,{showClear:j,setSearchString:c,searchString:b,onClear:g,setFocus:function(){l=!1,k.current.focus(),l=!0}}))}SearchInput.defaultProps={showIcon:!0,showClear:!0},SearchInput.propTypes={searchString:_propTypes.default.string.isRequired,setSearchString:_propTypes.default.func.isRequired,autoFocus:_propTypes.default.bool,onBlur:_propTypes.default.func.isRequired,onFocus:_propTypes.default.func,onClear:_propTypes.default.func,placeholder:_propTypes.default.string,showIcon:_propTypes.default.bool,showClear:_propTypes.default.bool};var StyledSearchInput=_styledComponents.default.div(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n min-height: ",";\n width: 100%;\n\n display: flex;\n align-items: center;\n\n > input {\n width: 100%;\n\n padding: 0 0 0 13px;\n\n border: none;\n outline: none;\n\n background-color: rgba(0, 0, 0, 0);\n font-size: inherit;\n font-family: inherit;\n\n color: ",";\n\n ::placeholder {\n /* Chrome, Firefox, Opera, Safari 10.1+ */\n color: ",";\n opacity: 1; /* Firefox */\n }\n\n :-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: ",";\n }\n\n ::-ms-input-placeholder {\n /* Microsoft Edge */\n color: ",";\n }\n }\n"])),function(a){return a.theme.height},function(a){return a.theme.color},function(a){return a.theme.placeholderColor},function(a){return a.theme.placeholderColor},function(a){return a.theme.placeholderColor});
"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = SearchInput;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _SearchIcon = require("./SearchIcon");
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _ClearIcon = require("./ClearIcon");
var _templateObject;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
function SearchInput(_ref) {
var searchString = _ref.searchString,
setSearchString = _ref.setSearchString,
autoFocus = _ref.autoFocus,
onBlur = _ref.onBlur,
onFocus = _ref.onFocus,
onClear = _ref.onClear,
placeholder = _ref.placeholder,
showIcon = _ref.showIcon,
showClear = _ref.showClear;
var ref = (0, _react.useRef)();
var manualFocus = true;
var setFocus = function setFocus() {
manualFocus = false;
ref.current.focus();
manualFocus = true;
};
var handleOnFocus = function handleOnFocus() {
manualFocus && onFocus();
};
return /*#__PURE__*/_react.default.createElement(StyledSearchInput, null, /*#__PURE__*/_react.default.createElement(_SearchIcon.SearchIcon, {
showIcon: showIcon
}), /*#__PURE__*/_react.default.createElement("input", {
ref: ref,
spellCheck: false,
value: searchString,
onChange: setSearchString,
onBlur: onBlur,
onFocus: handleOnFocus,
placeholder: placeholder,
autoFocus: autoFocus
}), /*#__PURE__*/_react.default.createElement(_ClearIcon.ClearIcon, {
showClear: showClear,
setSearchString: setSearchString,
searchString: searchString,
onClear: onClear,
setFocus: setFocus
}));
}
SearchInput.defaultProps = {
showIcon: true,
showClear: true
};
SearchInput.propTypes = {
searchString: _propTypes.default.string.isRequired,
setSearchString: _propTypes.default.func.isRequired,
autoFocus: _propTypes.default.bool,
onBlur: _propTypes.default.func.isRequired,
onFocus: _propTypes.default.func,
onClear: _propTypes.default.func,
placeholder: _propTypes.default.string,
showIcon: _propTypes.default.bool,
showClear: _propTypes.default.bool
};
var StyledSearchInput = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n min-height: ", ";\n width: 100%;\n\n display: flex;\n align-items: center;\n\n > input {\n width: 100%;\n\n padding: 0 0 0 13px;\n\n border: none;\n outline: none;\n\n background-color: rgba(0, 0, 0, 0);\n font-size: inherit;\n font-family: inherit;\n\n color: ", ";\n\n ::placeholder {\n /* Chrome, Firefox, Opera, Safari 10.1+ */\n color: ", ";\n opacity: 1; /* Firefox */\n }\n\n :-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: ", ";\n }\n\n ::-ms-input-placeholder {\n /* Microsoft Edge */\n color: ", ";\n }\n }\n"])), function (props) {
return props.theme.height;
}, function (props) {
return props.theme.color;
}, function (props) {
return props.theme.placeholderColor;
}, function (props) {
return props.theme.placeholderColor;
}, function (props) {
return props.theme.placeholderColor;
});

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.defaultFuseOptions=exports.defaultTheme=void 0;var defaultTheme={height:"44px",border:"1px solid #dfe1e5",borderRadius:"24px",backgroundColor:"white",boxShadow:"rgba(32, 33, 36, 0.28) 0px 1px 6px 0px",hoverBackgroundColor:"#eee",color:"#212121",fontSize:"16px",fontFamily:"Arial",iconColor:"grey",lineColor:"rgb(232, 234, 237)",placeholderColor:"grey",zIndex:0,clearIconMargin:"3px 14px 0 0",searchIconMargin:"0 0 0 16px"};exports.defaultTheme=defaultTheme;var defaultFuseOptions={shouldSort:!0,threshold:.6,location:0,distance:100,maxPatternLength:32,minMatchCharLength:1,keys:["name"]};exports.defaultFuseOptions=defaultFuseOptions;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defaultFuseOptions = exports.defaultTheme = void 0;
var defaultTheme = {
height: '44px',
border: '1px solid #dfe1e5',
borderRadius: '24px',
backgroundColor: 'white',
boxShadow: 'rgba(32, 33, 36, 0.28) 0px 1px 6px 0px',
hoverBackgroundColor: '#eee',
color: '#212121',
fontSize: '16px',
fontFamily: 'Arial',
iconColor: 'grey',
lineColor: 'rgb(232, 234, 237)',
placeholderColor: 'grey',
zIndex: 0,
clearIconMargin: '3px 14px 0 0',
searchIconMargin: '0 0 0 16px'
};
exports.defaultTheme = defaultTheme;
var defaultFuseOptions = {
shouldSort: true,
threshold: 0.6,
location: 0,
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 1,
keys: ['name']
};
exports.defaultFuseOptions = defaultFuseOptions;

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ReactSearchAutocomplete",{enumerable:!0,get:function(){return _ReactSearchAutocomplete.default}});var _ReactSearchAutocomplete=_interopRequireDefault(require("./components/ReactSearchAutocomplete.js"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ReactSearchAutocomplete", {
enumerable: true,
get: function get() {
return _ReactSearchAutocomplete.default;
}
});
var _ReactSearchAutocomplete = _interopRequireDefault(require("./components/ReactSearchAutocomplete.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.debounce=debounce,exports.isCached=void 0;function debounce(a,b,c){var d;return function(){var e=this,f=arguments;c&&!d&&a.apply(e,f),clearTimeout(d),d=setTimeout(function(){d=null,c||a.apply(e,f)},b)}}var isCached=function(a){a=a.toLowerCase();var b=JSON.parse(sessionStorage.getItem(a.toLowerCase()));return b?b:[]};exports.isCached=isCached;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.debounce = debounce;
exports.isCached = void 0;
function debounce(func, wait, immediate) {
var timeout;
return function () {
var context = this,
args = arguments;
var later = function later() {
timeout = null;
if (!immediate) func.apply(context, args);
};
if (immediate && !timeout) func.apply(context, args);
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
/**
* This function will return the cachedValues if they exist or false if not
*
* @param {string} keyword The string the user is searching
*/
var isCached = function isCached(keyword) {
keyword = keyword.toLowerCase();
var cachedValues = JSON.parse(sessionStorage.getItem(keyword.toLowerCase()));
if (cachedValues) return cachedValues;
return [];
};
exports.isCached = isCached;

2

package.json

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

"license": "MIT",
"version": "5.5.0",
"version": "5.5.1",
"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