storybook-react-geekshubs
Version:
Creation and curation of hight quality react components.
1 lines • 6.41 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireWildcard(require("react"));var _reactAutosuggest=_interopRequireDefault(require("react-autosuggest"));var _styledComponents=_interopRequireDefault(require("styled-components"));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}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};if(obj!=null){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 _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)==="[object Arguments]")){return}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_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 _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var Input=function Input(props){return _react.default.createElement("input",props)};var StyledAutocomplete=_styledComponents.default.span.withConfig({displayName:"Autocomplete__StyledAutocomplete",componentId:"db2cfk-0"})(["position:relative !important;*{box-sizing:border-box;}.highlighted{text-decoration:underline;}ul[role='listbox']{width:100%;width:intrinsic;width:-moz-max-content;width:-webkit-max-content;position:absolute;right:0;left:0;padding:0.4em 0;margin:0;z-index:3;background:white;padding:0.3em;li{list-style:none;display:block;width:100%;padding:0.1em 0;cursor:pointer;}}"]);var defaultMapItemToValue=function defaultMapItemToValue(item){return item?item.value||item.text||String(item):""};function defaultRenderSuggestion(suggestion,_ref){var query=_ref.query,isHighlighted=_ref.isHighlighted;return _react.default.createElement("div",{className:"suggestion ".concat(isHighlighted&&"highlighted")},defaultMapItemToValue(suggestion))}var defaultRenderInputComponent=function defaultRenderInputComponent(props){return _react.default.createElement(Input,props)};var Autocomplete=function Autocomplete(_ref2){var key=_ref2.key,placeholder=_ref2.placeholder,source=_ref2.source,_ref2$mapItemToValue=_ref2.mapItemToValue,mapItemToValue=_ref2$mapItemToValue===void 0?defaultMapItemToValue:_ref2$mapItemToValue,_ref2$renderSuggestio=_ref2.renderSuggestion,renderSuggestion=_ref2$renderSuggestio===void 0?defaultRenderSuggestion:_ref2$renderSuggestio,_ref2$shouldRenderSug=_ref2.shouldRenderSuggestions,shouldRenderSuggestions=_ref2$shouldRenderSug===void 0?function(){return true}:_ref2$shouldRenderSug,_ref2$renderInputComp=_ref2.renderInputComponent,renderInputComponent=_ref2$renderInputComp===void 0?defaultRenderInputComponent:_ref2$renderInputComp,props=_objectWithoutProperties(_ref2,["key","placeholder","source","mapItemToValue","renderSuggestion","shouldRenderSuggestions","renderInputComponent"]);var _useState=(0,_react.useState)(mapItemToValue(props.value)),_useState2=_slicedToArray(_useState,2),value=_useState2[0],setValue=_useState2[1];var _useState3=(0,_react.useState)(source||[]),_useState4=_slicedToArray(_useState3,2),filteredSource=_useState4[0],setSource=_useState4[1];(0,_react.useEffect)(function(){setValue(mapItemToValue(props.value))},[props.value]);(0,_react.useEffect)(function(){setSource(source)},[source.length]);return _react.default.createElement(StyledAutocomplete,{key:key,className:"AutocompleteWrapper"},_react.default.createElement(_reactAutosuggest.default,_extends({suggestions:filteredSource,onSuggestionsFetchRequested:function onSuggestionsFetchRequested(_ref3){var value=_ref3.value;setSource(source.filter(function(item){return JSON.stringify(item).match(new RegExp(value,"i"))}))},onSuggestionSelected:function onSuggestionSelected(event,_ref4){var suggestion=_ref4.suggestion;props.onChange(suggestion)},onSuggestionsClearRequested:function onSuggestionsClearRequested(){return setSource([])},getSuggestionValue:mapItemToValue,renderSuggestion:renderSuggestion,shouldRenderSuggestions:shouldRenderSuggestions,inputProps:{placeholder:placeholder,value:value,onBlur:function onBlur(){if(typeof props.onBlur==="function"){props.onBlur(value)}else{setValue(mapItemToValue(props.value))}},onKeyUp:function onKeyUp(event){if(event.keyCode===13){typeof props.onEnter==="function"&&props.onEnter(value)}},onChange:function onChange(event,_ref5){var newValue=_ref5.newValue;setValue(newValue)}},highlightFirstSuggestion:true,alwaysRenderSuggestions:false},props)))};var _default=Autocomplete;exports.default=_default;