react-clean-select 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,7 +29,7 @@ I need a combobox component that A) can work on a site where the Content-Securit
29
29
 
30
30
  #### Credits
31
31
 
32
- This is a fork of the [react-clean-select](https://github.com/sanusart/react-clean-select) package by Sasha Khamkov.
32
+ This is a fork of the [react-dropdown-select](https://github.com/sanusart/react-dropdown-select) package by Sasha Khamkov.
33
33
 
34
34
  ### Usage
35
35
 
@@ -122,10 +122,10 @@ const options = [
122
122
  | labelField | string | "label" | Field in data to use for label |
123
123
  | valueField | string | "value" | Field in data to use for value |
124
124
  | closeOnScroll | bool | false | If true, scrolling the page will close the dropdown |
125
- | closeOnSelect | bool | false | If true, selecting option will close the dropdown |
125
+ | closeOnSelect | bool | false | If true, selecting option will close the dropdown (only takes effect for multi-select fields) |
126
126
  | closeOnClickInput | bool | false | If true, clicking input will close the dropdown if you are not searching. |
127
127
  | [dropdownPosition](https://jlw.github.io/react-clean-select/prop/dropdown-position) | string | "bottom" | Available options are "auto", "top" and "bottom" defaults to "bottom". Auto will adjust itself according Select's position on the page |
128
- | keepSelectedInList | bool | true | If false, selected option will not appear in a list |
128
+ | keepSelectedInList | bool | true | If false, selected option will not appear in a list |
129
129
  | create | bool | false | If true, select will create value from search string and fire `onCreateNew` callback prop |
130
130
  | backspaceDelete | bool | true | If true, backspace key will delete last value |
131
131
  | createNewLabel | string | "add {search}" | If create set to true, this will be the label of the "add new" component. `{search}` will be replaced by search value |
package/assets/index.css CHANGED
@@ -111,7 +111,7 @@
111
111
  }
112
112
  .react-clean-select-dropdown-handle-open.react-clean-select-dropdown-handle-rotate {
113
113
  transform: rotate(0deg);
114
- margin: 0px 0 -3px 5px;
114
+ margin: 0 0 -3px 5px;
115
115
  }
116
116
 
117
117
  .react-clean-select-input {
@@ -150,7 +150,7 @@
150
150
  text-decoration: none;
151
151
  border:1px solid #ccc;
152
152
  border-radius: 2px;
153
- padding: 0px 3px;
153
+ padding: 0 3px;
154
154
  font-size: x-small;
155
155
  text-transform: uppercase;
156
156
  }
@@ -217,7 +217,7 @@
217
217
  height: 22px;
218
218
  display: inline-block;
219
219
  text-align: center;
220
- margin: 0 -5px 0 0px;
220
+ margin: 0 -5px 0 0;
221
221
  border-radius: 0 3px 3px 0;
222
222
  }
223
223
  .react-clean-select-selection-remove:hover {
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom"),require("prop-types")):"function"==typeof define&&define.amd?define("reactCleanSelect",["react","react-dom","prop-types"],t):"object"==typeof exports?exports.reactCleanSelect=t(require("react"),require("react-dom"),require("prop-types")):e.reactCleanSelect=t(e.React,e.ReactDOM,e.PropTypes)}(this,(e,t,o)=>(()=>{"use strict";var n={602:e=>{e.exports=o},359:t=>{t.exports=e},318:e=>{e.exports=t}},r={};function s(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,s),o.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{s.r(a),s.d(a,{Select:()=>A,default:()=>F});var e=s(359),t=s.n(e),o=(s(318),s(602),"react-clean-select");function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}const r=function(e){function r(){for(var o,n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return(o=e.call.apply(e,[this].concat(r))||this).container=t().createRef(),o.handleClick=function(e){var t=o.container.current,n=e.target,r=o.props.onClickOutside;(t&&t===n||t&&!t.contains(n))&&r(e)},o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)}(r,e);var s=r.prototype;return s.componentDidMount=function(){document.addEventListener("click",this.handleClick,!0)},s.componentWillUnmount=function(){document.removeEventListener("click",this.handleClick,!0)},s.render=function(){var e=this.props.children;return t().createElement("div",{className:o+"-container",ref:this.container},e)},r}(t().Component);var l=function(e,t,o){return!!t.find(function(t){return i(t,o.valueField)===e||i(t,o.labelField)===e})},p=function(e,t){var o;return void 0===t&&(t=0),function(){for(var n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];o&&clearTimeout(o),o=setTimeout(function(){e.apply(void 0,r),o=null},t)}},i=function(e,t){return t?t.split(".").reduce(function(e,t){return e[t]},e):void 0},c=function(e,t,o){if(!t)return e;var n=Array.isArray(t)?t:t.split(".").filter(function(e){return e.length});return n.length?c(e[n.shift()],n,o):void 0===e?o:e},d=function(){return"undefined"==typeof window&&(global.window={}),window};function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}var h=function(e,t){var o=e.addPlaceholder,n=e.searchable,r=e.placeholder,s=t.values&&0===t.values.length;return t.values&&0<t.values.length&&o&&n?o:s?r:""};const f=function(e){function n(){for(var o,n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return(o=e.call.apply(e,[this].concat(r))||this).input=t().createRef(),o.onBlur=function(e){return e.stopPropagation(),o.props.state.dropdown?o.input.current.focus():o.input.current.blur()},o.handleKeyPress=function(e){var t=o.props,n=t.props,r=t.state,s=t.methods;return n.create&&"Enter"===e.key&&!l(r.search,[].concat(r.values,n.options),o.props)&&r.search&&null===r.cursor&&s.createNew(r.search)},o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}(n,e);var r=n.prototype;return r.componentDidUpdate=function(e){(this.props.state.dropdown||e.state.dropdown!==this.props.state.dropdown&&this.props.state.dropdown||this.props.props.autoFocus)&&this.input.current.focus(),e.state.dropdown===this.props.state.dropdown||this.props.state.dropdown||this.input.current.blur()},r.render=function(){var e=this.props,n=e.props,r=e.state,s=e.methods;return n.inputRenderer?n.inputRenderer({props:n,state:r,methods:s,inputRef:this.input}):t().createElement("input",{ref:this.input,tabIndex:"-1",onFocus:function(e){return e.stopPropagation()},className:o+"-input"+(n.searchable?"":" "+o+"-input-readonly"),value:r.search,onClick:function(){return s.dropDown("open")},onKeyPress:this.handleKeyPress,onChange:s.setSearch,onBlur:this.onBlur,placeholder:h(n,r),disabled:n.disabled})},n}(e.Component),v=function(e){var n=e.option,r=e.props,s=e.state,a=e.methods;return n&&r.selectionRenderer?r.selectionRenderer({option:n,props:r,state:s,methods:a}):t().createElement("span",{role:"listitem",disabled:r.disabled,className:o+"-selection"+("rtl"===r.direction?" "+o+"-selection-rtl":"")},t().createElement("span",{className:o+"-selection-label"},i(n,r.labelField)),t().createElement("span",{className:o+"-selection-remove",onClick:function(e){return a.removeOption(e,n,r.closeOnSelect)}},"×"))},m=function(e){var n=e.props,r=e.state,s=e.methods;return t().createElement("div",{className:o+"-content "+(n.multi?o+"-type-multi":o+"-type-single"),onClick:function(e){return e.stopPropagation(),!0===r.dropdown&&n.closeOnClickInput&&!r.search?s.dropDown("close"):s.dropDown("open")}},n.contentRenderer?n.contentRenderer({props:n,state:r,methods:s}):t().createElement(t().Fragment,null,n.multi?r.values&&r.values.map(function(e){return t().createElement(v,{key:""+i(e,n.valueField)+i(e,n.labelField),option:e,state:r,props:n,methods:s})}):r.values&&0<r.values.length&&t().createElement("span",null,i(r.values[0],n.labelField)),t().createElement(f,{props:n,methods:s,state:r})))},w=function(e){var n=e.props,r=e.state,s=e.methods;return n.noDataRenderer?n.noDataRenderer({props:n,state:r,methods:s}):t().createElement("div",{className:o+"-no-data"},n.noDataLabel)};function b(e,t){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},b(e,t)}const S=function(e){function n(){for(var o,n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return(o=e.call.apply(e,[this].concat(r))||this).option=t().createRef(),o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,b(e,t)}(n,e);var r=n.prototype;return r.componentDidMount=function(){var e=this.props,t=e.props,o=e.methods;this.option.current&&!t.multi&&t.keepSelectedInList&&o.isSelected(this.props.option)&&this.option.current.scrollIntoView({block:"nearest",inline:"start"})},r.componentDidUpdate=function(){this.props.state.cursor===this.props.optionIndex&&this.option.current&&this.option.current.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})},r.render=function(){var e=this.props,n=e.props,r=e.state,s=e.methods,a=e.option,l=e.optionIndex;return n.optionRenderer?n.optionRenderer({option:a,optionIndex:l,props:n,state:r,methods:s}):!n.keepSelectedInList&&s.isSelected(a)?null:t().createElement("span",{role:"option",ref:this.option,"aria-selected":s.isSelected(a),"aria-disabled":a.disabled,"aria-label":i(a,n.labelField),key:""+i(a,n.valueField)+i(a,n.labelField),tabIndex:"-1",className:o+"-option"+(s.isSelected(a)?" "+o+"-option-selected":"")+(r.cursor===l?" "+o+"-option-active":"")+(a.disabled?" "+o+"-option-disabled":""),onClick:a.disabled?void 0:function(){return s.addOption(a)},onKeyPress:a.disabled?void 0:function(){return s.addOption(a)}},i(a,n.labelField)," ",a.disabled&&t().createElement("ins",null,n.disabledLabel))},n}(e.Component);var y=function(e,t){var o=t.getSelectRef().getBoundingClientRect(),n=o.bottom+parseInt(e.dropdownHeight,10)+parseInt(e.dropdownGap,10);return"auto"===e.dropdownPosition?n>d().innerHeight&&n>o.top?"top":"bottom":e.dropdownPosition};const g=function(e){var n=e.props,r=e.state,s=e.methods;return t().createElement("div",{tabIndex:"-1","aria-expanded":"true",role:"list",className:o+"-dropdown "+o+"-dropdown-position-"+y(n,s)},n.dropdownRenderer?n.dropdownRenderer({props:n,state:r,methods:s}):t().createElement(t().Fragment,null,n.create&&r.search&&!l(r.search,[].concat(r.values,n.options),n)&&t().createElement("div",{role:"button",className:o+"-dropdown-add-new",color:n.color,onClick:function(){return s.createNew(r.search)}},n.createNewLabel.replace("{search}",'"'+r.search+'"')),0===r.searchResults.length?t().createElement(w,{className:o+"-no-data",state:r,props:n,methods:s}):r.searchResults.map(function(e,o){return t().createElement(S,{key:e[n.valueField].toString(),option:e,optionIndex:o,state:r,props:n,methods:s})}),n.selectAll&&n.options&&n.multi&&t().createElement("div",{role:"button",className:o+"-dropdown-select-all",color:n.color,onClick:function(){return s.areAllSelected()?s.clearAll():s.selectAll()}},s.areAllSelected()?n.clearAllLabel:n.selectAllLabel)))},O=function(e){var n=e.props;return n.loadingRenderer?n.loadingRenderer({props:n}):t().createElement("div",{className:o+"-loading"})},D=function(e){var n=e.props,r=e.state,s=e.methods;return n.clearRenderer?n.clearRenderer({props:n,state:r,methods:s}):t().createElement("div",{className:o+"-clear",tabIndex:"-1",onClick:function(){return s.clearAll()},onKeyPress:function(){return s.clearAll()}},"×")},R=function(e){var n=e.props,r=e.state,s=e.methods;return n.separatorRenderer?n.separatorRenderer({props:n,state:r,methods:s}):t().createElement("div",{className:o+"-separator"})},C=function(e){var n=e.props,r=e.state,s=e.methods;return t().createElement("div",{tabIndex:"-1",onClick:function(e){return s.dropDown(r.dropdown?"close":"open",e)},onKeyPress:function(e){return s.dropDown("toggle",e)},onKeyDown:function(e){return s.dropDown("toggle",e)},className:o+"-dropdown-handle "+o+"-dropdown-handle-"+(r.dropdown?"open":"closed")+(n.dropdownHandleRenderer?"":" "+o+"-dropdown-handle-rotate")},n.dropdownHandleRenderer?n.dropdownHandleRenderer({props:n,state:r,methods:s}):t().createElement("svg",{fill:"currentColor",viewBox:"0 0 40 40"},t().createElement("path",{d:"M31 26.4q0 .3-.2.5l-1.1 1.2q-.3.2-.6.2t-.5-.2l-8.7-8.8-8.8 8.8q-.2.2-.5.2t-.5-.2l-1.2-1.2q-.2-.2-.2-.5t.2-.5l10.4-10.4q.3-.2.6-.2t.5.2l10.4 10.4q.2.2.2.5z"})))};function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o])({}).hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},E.apply(null,arguments)}function k(e,t){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},k(e,t)}var A=function(e){function n(o){var n;return(n=e.call(this,o)||this).onDropdownClose=function(){n.setState({cursor:null}),n.props.onDropdownClose()},n.onScroll=function(){n.props.closeOnScroll&&n.dropDown("close"),n.updateSelectBounds()},n.updateSelectBounds=function(){return n.select.current&&n.setState({selectBounds:n.select.current.getBoundingClientRect()})},n.getSelectBounds=function(){return n.state.selectBounds},n.dropDown=function(e,t,o){return void 0===e&&(e="toggle"),void 0===o&&(o=!1),t&&t.target||t&&t.srcElement,void 0!==n.props.onDropdownCloseRequest&&n.state.dropdown&&!1===o&&"close"===e?n.props.onDropdownCloseRequest({props:n.props,methods:n.methods,state:n.state,close:function(){return n.dropDown("close",null,!0)}}):n.props.keepOpen?n.setState({dropdown:!0}):"close"===e&&n.state.dropdown?(n.select.current.blur(),n.setState({dropdown:!1,search:n.props.clearOnBlur?"":n.state.search,searchResults:n.props.options})):"open"!==e||n.state.dropdown?"toggle"===e&&(n.select.current.focus(),n.setState({dropdown:!n.state.dropdown})):n.setState({dropdown:!0})},n.getSelectRef=function(){return n.select.current},n.addOption=function(e){if(n.props.multi){if(l(i(e,n.props.valueField),n.state.values,n.props))return n.removeOption(null,e,!1);n.setState({values:[].concat(n.state.values,[e])}),n.props.onSelect([].concat(n.state.values,[e]))}else n.setState({values:[e],dropdown:!1}),n.props.onSelect([e]);return n.props.clearOnSelect&&n.setState({search:""},function(){n.setState({searchResults:n.searchResults()})}),!0},n.removeOption=function(e,t,o){void 0===o&&(o=!1),e&&o&&(e.preventDefault(),e.stopPropagation(),n.dropDown("close"));var r=n.state.values.filter(function(e){return i(e,n.props.valueField)!==i(t,n.props.valueField)});n.setState({values:r}),n.props.onDeselect(r)},n.setSearch=function(e){n.setState({cursor:null}),n.setState({search:e.target.value},function(){n.setState({searchResults:n.searchResults()})})},n.getInputSize=function(){return n.state.search?n.state.search.length:0<n.state.values.length?n.props.addPlaceholder.length:n.props.placeholder.length},n.toggleSelectAll=function(){return n.setState({values:0===n.state.values.length?n.selectAll():n.clearAll()})},n.clearAll=function(){n.props.onClearAll(),n.setState({values:[]})},n.selectAll=function(e){void 0===e&&(e=[]),n.props.onSelectAll();var t=0<e.length?e:n.props.options.filter(function(e){return!e.disabled});n.setState({values:t})},n.isSelected=function(e){return!!n.state.values.find(function(t){return i(t,n.props.valueField)===i(e,n.props.valueField)})},n.areAllSelected=function(){return n.state.values.length===n.props.options.filter(function(e){return!e.disabled}).length},n.safeString=function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},n.sortBy=function(){var e=n.props,t=e.sortBy,o=e.options;return t?(o.sort(function(e,o){return c(e,t)<c(o,t)?-1:c(e,t)>c(o,t)?1:0}),o):o},n.searchFn=function(e){var t=e.state,o=e.methods,r=new RegExp(o.safeString(t.search),"i");return o.sortBy().filter(function(e){return r.test(i(e,n.props.searchBy)||i(e,n.props.valueField))})},n.searchResults=function(){var e={state:n.state,props:n.props,methods:n.methods};return n.props.searchFn(e)||n.searchFn(e)},n.activeCursorOption=function(e){return n.setState({activeCursorOption:e})},n.handleKeyDown=function(e){var t={event:e,state:n.state,props:n.props,methods:n.methods,setState:n.setState.bind(n)};return n.props.handleKeyDownFn(t)||n.handleKeyDownFn(t)},n.handleKeyDownFn=function(e){var t=e.event,o=e.state,r=e.props,s=e.methods,a=e.setState,p=o.cursor,i=o.searchResults,c="Escape"===t.key,d="Enter"===t.key,u="ArrowUp"===t.key,h="ArrowDown"===t.key,f="Backspace"===t.key,v="Tab"===t.key&&!t.shiftKey,m=t.shiftKey&&"Tab"===t.key;if(h&&!o.dropdown)return t.preventDefault(),n.dropDown("open"),a({cursor:0});if((h||v&&o.dropdown)&&null===p)return a({cursor:0});if((u||h||m&&o.dropdown||v&&o.dropdown)&&t.preventDefault(),c&&n.dropDown("close"),d){var w=i[p];if(w&&!w.disabled){if(r.create&&l(o.search,o.values,r))return null;s.addOption(w)}}return(h||v&&o.dropdown)&&i.length===p?a({cursor:0}):((h||v&&o.dropdown)&&a(function(e){return{cursor:e.cursor+1}}),(u||m&&o.dropdown)&&0<p&&a(function(e){return{cursor:e.cursor-1}}),(u||m&&o.dropdown)&&0===p&&a({cursor:i.length}),void(f&&r.backspaceDelete&&0===n.getInputSize()&&n.setState({values:n.state.values.slice(0,-1)})))},n.renderDropdown=function(){return t().createElement(g,{props:n.props,state:n.state,methods:n.methods})},n.createNew=function(e){var t,o=((t={})[n.props.labelField]=e,t[n.props.valueField]=e,t);n.addOption(o),n.props.onCreateNew(o),n.setState({search:""})},n.state={dropdown:!1,values:o.values,search:"",selectBounds:{},cursor:null,searchResults:o.options},n.methods={activeCursorOption:n.activeCursorOption,addOption:n.addOption,areAllSelected:n.areAllSelected,clearAll:n.clearAll,createNew:n.createNew,dropDown:n.dropDown,getInputSize:n.getInputSize,getSelectBounds:n.getSelectBounds,getSelectRef:n.getSelectRef,handleKeyDown:n.handleKeyDown,isSelected:n.isSelected,removeOption:n.removeOption,safeString:n.safeString,searchResults:n.searchResults,selectAll:n.selectAll,setSearch:n.setSearch,sortBy:n.sortBy,toggleSelectAll:n.toggleSelectAll},n.select=t().createRef(),n.dropdownRoot="undefined"!=typeof document&&document.createElement("div"),n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,k(e,t)}(n,e);var s=n.prototype;return s.componentDidMount=function(){d().addEventListener("resize",p(this.updateSelectBounds)),d().addEventListener("scroll",p(this.onScroll)),this.dropDown("close"),this.select&&this.updateSelectBounds(),this.props.defaultMenuIsOpen&&this.dropDown("open")},s.componentDidUpdate=function(e,t){var o=this;!this.props.compareValuesFunc(e.values,this.props.values)&&this.props.compareValuesFunc(e.values,t.values)&&(this.setState({values:this.props.values},function(){o.props.onChange(o.state.values)}),this.updateSelectBounds()),e.options!==this.props.options&&this.setState({searchResults:this.searchResults()}),t.values!==this.state.values&&(this.props.onChange(this.state.values),this.updateSelectBounds()),t.search!==this.state.search&&this.updateSelectBounds(),t.values!==this.state.values&&this.props.closeOnSelect&&this.dropDown("close"),e.multi!==this.props.multi&&this.updateSelectBounds(),t.dropdown&&t.dropdown!==this.state.dropdown&&this.onDropdownClose(),t.dropdown||t.dropdown===this.state.dropdown||this.props.onDropdownOpen()},s.componentWillUnmount=function(){d().removeEventListener("resize",p(this.updateSelectBounds,this.props.debounceDelay)),d().removeEventListener("scroll",p(this.onScroll,this.props.debounceDelay))},s.render=function(){var e=this,n=[o];return"rtl"===this.props.direction&&n.push(o+"-rtl"),this.props.disabled&&n.push(o+"-disabled"),void 0!==this.props.className&&n.push(this.props.className),t().createElement(r,{onClickOutside:function(t){return e.dropDown("close",t)}},t().createElement("div",E({onKeyDown:this.handleKeyDown,"aria-label":"Dropdown select","aria-expanded":this.state.dropdown,onClick:function(t){return e.dropDown("open",t)},tabIndex:this.props.disabled?"-1":"0",ref:this.select,className:n.join(" ")},this.props.additionalProps),t().createElement(m,{props:this.props,state:this.state,methods:this.methods}),(this.props.name||this.props.required)&&t().createElement("input",{tabIndex:-1,className:o+"-input-zero",name:this.props.name,required:this.props.required,pattern:this.props.pattern,defaultValue:this.state.values.map(function(t){return t[e.props.labelField]}).toString()||[],disabled:this.props.disabled}),this.props.loading&&t().createElement(O,{props:this.props}),this.props.clearable&&t().createElement(D,{props:this.props,state:this.state,methods:this.methods}),this.props.separator&&t().createElement(R,{props:this.props,state:this.state,methods:this.methods}),this.props.dropdownHandle&&t().createElement(C,{onClick:function(){return e.select.current.focus()},props:this.props,state:this.state,methods:this.methods}),this.state.dropdown&&!this.props.disabled&&this.renderDropdown()))},n}(e.Component);A.defaultProps={addPlaceholder:"",additionalProps:null,autoFocus:!1,backspaceDelete:!0,clearAllLabel:"Clear all",clearOnBlur:!0,clearOnSelect:!0,clearable:!1,closeOnScroll:!1,closeOnSelect:!1,closeOnClickInput:!1,compareValuesFunc:function(e,t){return JSON.stringify(e)===JSON.stringify(t)},create:!1,createNewLabel:"add {search}",debounceDelay:0,direction:"ltr",disabled:!1,disabledLabel:"disabled",dropdownGap:5,dropdownHandle:!0,dropdownHeight:"300px",dropdownPosition:"bottom",handleKeyDownFn:function(){},keepOpen:!1,keepSelectedInList:!0,labelField:"label",loading:!1,multi:!1,name:null,noDataLabel:"No data",onChange:function(){},onSelect:function(){},onDeselect:function(){},onClearAll:function(){},onCreateNew:function(){},onDropdownClose:function(){},onDropdownCloseRequest:void 0,onDropdownOpen:function(){},onSelectAll:function(){},options:[],pattern:void 0,placeholder:"Select...",required:!1,searchBy:"label",searchFn:function(){},searchable:!0,selectAll:!1,selectAllLabel:"Select all",separator:!1,sortBy:null,valueField:"value",values:[],defaultMenuIsOpen:!1};const F=A})(),a})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")):"function"==typeof define&&define.amd?define("reactCleanSelect",["react","prop-types"],t):"object"==typeof exports?exports.reactCleanSelect=t(require("react"),require("prop-types")):e.reactCleanSelect=t(e.React,e.PropTypes)}(this,(e,t)=>(()=>{"use strict";var o={602:e=>{e.exports=t},359:t=>{t.exports=e}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={exports:{}};return o[e](s,s.exports,r),s.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{r.r(s),r.d(s,{Select:()=>F,default:()=>N});var e=r(359),t=r.n(e),o=(r(602),"react-clean-select");function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}const a=function(e){function r(){for(var o,n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return(o=e.call.apply(e,[this].concat(r))||this).container=t().createRef(),o.handleClick=function(e){var t=o.container.current,n=e.target,r=o.props.onClickOutside;(t&&t===n||t&&!t.contains(n))&&r(e)},o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)}(r,e);var s=r.prototype;return s.componentDidMount=function(){document.addEventListener("click",this.handleClick,!0)},s.componentWillUnmount=function(){document.removeEventListener("click",this.handleClick,!0)},s.render=function(){var e=this.props.children;return t().createElement("div",{className:o+"-container",ref:this.container},e)},r}(t().Component);var l=function(e,t){var o;return void 0===t&&(t=0),function(){for(var n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];o&&clearTimeout(o),o=setTimeout(function(){e.apply(void 0,r),o=null},t)}},p=function(e,t){return t?t.split(".").reduce(function(e,t){return e[t]},e):void 0},i=function(e,t){return(p(e,t.valueField)+"").replaceAll(/[^a-zA-Z0-9]/g,"-")},c=function(e,t,o){if(!t)return e;var n=Array.isArray(t)?t:t.split(".").filter(function(e){return e.length});return n.length?c(e[n.shift()],n,o):void 0===e?o:e},d=function(){return"undefined"==typeof window&&(global.window={}),window},u=function(e,t,o){return!!t.find(function(t){return p(t,o.valueField)===e||p(t,o.labelField)===e})};function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}var f=function(e,t){var o=e.addPlaceholder,n=e.searchable,r=e.placeholder,s=t.values&&0===t.values.length;return t.values&&0<t.values.length&&o&&n?o:s?r:""};const m=function(e){function n(){for(var o,n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return(o=e.call.apply(e,[this].concat(r))||this).input=t().createRef(),o.onBlur=function(e){return e.stopPropagation(),o.props.state.dropdown?o.input.current.focus():o.input.current.blur()},o.handleKeyPress=function(e){var t=o.props,n=t.props,r=t.state,s=t.methods;return n.create&&"Enter"===e.key&&!u(r.search,[].concat(r.values,n.options),o.props)&&r.search&&null===r.cursor&&s.createNew(r.search)},o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}(n,e);var r=n.prototype;return r.componentDidUpdate=function(e){(this.props.state.dropdown||e.state.dropdown!==this.props.state.dropdown&&this.props.state.dropdown||this.props.props.autoFocus)&&this.input.current.focus(),e.state.dropdown===this.props.state.dropdown||this.props.state.dropdown||this.input.current.blur()},r.render=function(){var e=this.props,n=e.props,r=e.state,s=e.methods;return n.inputRenderer?n.inputRenderer({props:n,state:r,methods:s,inputRef:this.input}):t().createElement("input",{ref:this.input,tabIndex:"-1",onFocus:function(e){return e.stopPropagation()},className:o+"-input"+(n.searchable?"":" "+o+"-input-readonly"),"data-testid":o+"-"+n.name+"-Input",value:r.search,onClick:function(){return s.dropDown("open")},onKeyDown:this.handleKeyPress,onChange:s.setSearch,onBlur:this.onBlur,placeholder:f(n,r),disabled:n.disabled})},n}(e.Component),v=function(e){var n=e.option,r=e.props,s=e.state,a=e.methods;if(n&&r.selectionRenderer)return r.selectionRenderer({option:n,props:r,state:s,methods:a});var l=i(n,r);return t().createElement("span",{role:"listitem",disabled:r.disabled,className:o+"-selection"+("rtl"===r.direction?" "+o+"-selection-rtl":""),"data-testid":o+"-"+r.name+"-Selection-"+l},t().createElement("span",{className:o+"-selection-label","data-testid":o+"-"+r.name+"-Selection-label-"+l},p(n,r.labelField)),t().createElement("span",{className:o+"-selection-remove-"+l,"data-testid":o+"-"+r.name+"-Selection-remove-"+l,onClick:function(e){return a.removeOption(e,n,r.closeOnSelect)}},"×"))},w=function(e){var n=e.props,r=e.state,s=e.methods;return t().createElement("div",{className:o+"-content "+(n.multi?o+"-type-multi":o+"-type-single"),"data-testid":o+"-"+n.name+"-Content",onClick:function(e){return e.stopPropagation(),!0===r.dropdown&&n.closeOnClickInput&&!r.search?s.dropDown("close"):s.dropDown("open")}},n.contentRenderer?n.contentRenderer({props:n,state:r,methods:s}):t().createElement(t().Fragment,null,n.multi?r.values&&r.values.map(function(e){return t().createElement(v,{key:""+p(e,n.valueField)+p(e,n.labelField),option:e,state:r,props:n,methods:s})}):r.values&&0<r.values.length&&t().createElement("span",null,p(r.values[0],n.labelField)),t().createElement(m,{props:n,methods:s,state:r})))},b=function(e){var n=e.props,r=e.state,s=e.methods;return n.noDataRenderer?n.noDataRenderer({props:n,state:r,methods:s}):t().createElement("div",{className:o+"-no-data","data-testid":o+"-"+n.name+"-NoData"},n.noDataLabel)};function S(e,t){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},S(e,t)}const y=function(e){function n(){for(var o,n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return(o=e.call.apply(e,[this].concat(r))||this).option=t().createRef(),o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,S(e,t)}(n,e);var r=n.prototype;return r.componentDidMount=function(){var e=this.props,t=e.props,o=e.methods;this.option.current&&!t.multi&&t.keepSelectedInList&&o.isSelected(this.props.option)&&this.option.current.scrollIntoView({block:"nearest",inline:"start"})},r.componentDidUpdate=function(){this.props.state.cursor===this.props.optionIndex&&this.option.current&&this.option.current.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})},r.render=function(){var e=this.props,n=e.props,r=e.state,s=e.methods,a=e.option,l=e.optionIndex;return n.optionRenderer?n.optionRenderer({option:a,optionIndex:l,props:n,state:r,methods:s}):!n.keepSelectedInList&&s.isSelected(a)?null:t().createElement("span",{role:"option",ref:this.option,"aria-selected":s.isSelected(a),"aria-disabled":a.disabled,"aria-label":p(a,n.labelField),key:""+p(a,n.valueField)+p(a,n.labelField),tabIndex:"-1",className:o+"-option"+(s.isSelected(a)?" "+o+"-option-selected":"")+(r.cursor===l?" "+o+"-option-active":"")+(a.disabled?" "+o+"-option-disabled":""),"data-testid":o+"-"+n.name+"-Option-"+i(a,n),onClick:a.disabled?void 0:function(){return s.addOption(a)},onKeyDown:a.disabled?void 0:function(){return s.addOption(a)}},p(a,n.labelField)," ",a.disabled&&t().createElement("ins",null,n.disabledLabel))},n}(e.Component);var g=function(e,t){var o=t.getSelectRef().getBoundingClientRect(),n=o.bottom+parseInt(e.dropdownHeight,10)+parseInt(e.dropdownGap,10);return"auto"===e.dropdownPosition?n>d().innerHeight&&n>o.top?"top":"bottom":e.dropdownPosition};const D=function(e){var n=e.props,r=e.state,s=e.methods;return t().createElement("div",{tabIndex:"-1","aria-expanded":"true",role:"list",className:o+"-dropdown "+o+"-dropdown-position-"+g(n,s),"data-testid":o+"-"+n.name+"-Dropdown"},n.dropdownRenderer?n.dropdownRenderer({props:n,state:r,methods:s}):t().createElement(t().Fragment,null,n.create&&r.search&&!u(r.search,[].concat(r.values,n.options),n)&&t().createElement("div",{role:"button",className:o+"-dropdown-add-new",color:n.color,onClick:function(){return s.createNew(r.search)}},n.createNewLabel.replace("{search}",'"'+r.search+'"')),0===r.searchResults.length?t().createElement(b,{className:o+"-no-data",state:r,props:n,methods:s}):r.searchResults.map(function(e,o){return t().createElement(y,{key:e[n.valueField].toString(),option:e,optionIndex:o,state:r,props:n,methods:s})}),n.selectAll&&n.options&&n.multi&&t().createElement("div",{role:"button",className:o+"-dropdown-select-all",color:n.color,onClick:function(){return s.areAllSelected()?s.clearAll():s.selectAll()}},s.areAllSelected()?n.clearAllLabel:n.selectAllLabel)))},O=function(e){var n=e.props;return n.loadingRenderer?n.loadingRenderer({props:n}):t().createElement("div",{className:o+"-loading","data-testid":o+"-"+n.name+"-Loading"})},R=function(e){var n=e.props,r=e.state,s=e.methods;return n.clearRenderer?n.clearRenderer({props:n,state:r,methods:s}):t().createElement("div",{className:o+"-clear","data-testid":o+"-"+n.name+"-Clear",tabIndex:"-1",onClick:function(){return s.clearAll()},onKeyDown:function(){return s.clearAll()}},"×")},C=function(e){var n=e.props,r=e.state,s=e.methods;return n.separatorRenderer?n.separatorRenderer({props:n,state:r,methods:s}):t().createElement("div",{className:o+"-separator","data-testid":o+"-"+n.name+"-Separator"})},E=function(e){var n=e.props,r=e.state,s=e.methods;return t().createElement("div",{className:o+"-dropdown-handle "+o+"-dropdown-handle-"+(r.dropdown?"open":"closed")+(n.dropdownHandleRenderer?"":" "+o+"-dropdown-handle-rotate"),"data-testid":o+"-"+n.name+"-DropdownHandle",onClick:function(e){return s.dropDown(r.dropdown?"close":"open",e)},onKeyDown:function(e){return s.dropDown("toggle",e)},tabIndex:"-1"},n.dropdownHandleRenderer?n.dropdownHandleRenderer({props:n,state:r,methods:s}):t().createElement("svg",{fill:"currentColor",viewBox:"0 0 40 40"},t().createElement("path",{d:"M31 26.4q0 .3-.2.5l-1.1 1.2q-.3.2-.6.2t-.5-.2l-8.7-8.8-8.8 8.8q-.2.2-.5.2t-.5-.2l-1.2-1.2q-.2-.2-.2-.5t.2-.5l10.4-10.4q.3-.2.6-.2t.5.2l10.4 10.4q.2.2.2.5z"})))};function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o])({}).hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},k.apply(null,arguments)}function A(e,t){return A=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},A(e,t)}var F=function(e){function n(o){var n,r=Math.floor;return{}.hasOwnProperty.call(o,"name")||(o.name="field"+r(1e3*Math.random())),(n=e.call(this,o)||this).onDropdownClose=function(){n.setState({cursor:null}),n.props.onDropdownClose()},n.onScroll=function(){n.props.closeOnScroll&&n.dropDown("close"),n.updateSelectBounds()},n.updateSelectBounds=function(){return n.select.current&&n.setState({selectBounds:n.select.current.getBoundingClientRect()})},n.getSelectBounds=function(){return n.state.selectBounds},n.dropDown=function(e,t,o){return void 0===e&&(e="toggle"),void 0===o&&(o=!1),void 0!==n.props.onDropdownCloseRequest&&n.state.dropdown&&!1===o&&"close"===e?n.props.onDropdownCloseRequest({props:n.props,methods:n.methods,state:n.state,close:function(){return n.dropDown("close",null,!0)}}):n.props.keepOpen?n.setState({dropdown:!0}):"close"===e&&n.state.dropdown?(n.select.current.blur(),n.setState({dropdown:!1,search:n.props.clearOnBlur?"":n.state.search,searchResults:n.props.options})):"open"!==e||n.state.dropdown?"toggle"===e&&(n.select.current.focus(),n.setState({dropdown:!n.state.dropdown})):n.setState({dropdown:!0})},n.getSelectRef=function(){return n.select.current},n.addOption=function(e){if(n.props.multi){if(u(p(e,n.props.valueField),n.state.values,n.props))return n.removeOption(null,e,!1);n.setState({values:[].concat(n.state.values,[e])}),n.props.onSelect([].concat(n.state.values,[e]))}else n.setState({values:[e],dropdown:!1}),n.props.onSelect([e]);return n.props.clearOnSelect&&n.setState({search:""},function(){n.setState({searchResults:n.searchResults()})}),!0},n.removeOption=function(e,t,o){void 0===o&&(o=!1),e&&o&&(e.preventDefault(),e.stopPropagation(),n.dropDown("close"));var r=n.state.values.filter(function(e){return p(e,n.props.valueField)!==p(t,n.props.valueField)});n.setState({values:r}),n.props.onDeselect(r)},n.setSearch=function(e){n.setState({cursor:null}),n.setState({search:e.target.value},function(){n.setState({searchResults:n.searchResults()})})},n.getInputSize=function(){return n.state.search?n.state.search.length:0<n.state.values.length?n.props.addPlaceholder.length:n.props.placeholder.length},n.toggleSelectAll=function(){return n.setState({values:0===n.state.values.length?n.selectAll():n.clearAll()})},n.clearAll=function(){n.props.onClearAll(),n.setState({values:[]})},n.selectAll=function(e){void 0===e&&(e=[]),n.props.onSelectAll();var t=0<e.length?e:n.props.options.filter(function(e){return!e.disabled});n.setState({values:t})},n.isSelected=function(e){return!!n.state.values.find(function(t){return p(t,n.props.valueField)===p(e,n.props.valueField)})},n.areAllSelected=function(){return n.state.values.length===n.props.options.filter(function(e){return!e.disabled}).length},n.safeString=function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},n.sortBy=function(){var e=n.props,t=e.sortBy,o=e.options;return t?(o.sort(function(e,o){return c(e,t)<c(o,t)?-1:c(e,t)>c(o,t)?1:0}),o):o},n.searchFn=function(e){var t=e.state,o=e.methods,r=new RegExp(o.safeString(t.search),"i");return o.sortBy().filter(function(e){return r.test(p(e,n.props.searchBy)||p(e,n.props.valueField))})},n.searchResults=function(){var e={state:n.state,props:n.props,methods:n.methods};return n.props.searchFn(e)||n.searchFn(e)},n.activeCursorOption=function(e){return n.setState({activeCursorOption:e})},n.handleKeyDown=function(e){var t={event:e,state:n.state,props:n.props,methods:n.methods,setState:n.setState.bind(n)};return n.props.handleKeyDownFn(t)||n.handleKeyDownFn(t)},n.handleKeyDownFn=function(e){var t=e.event,o=e.state,r=e.props,s=e.methods,a=e.setState,l=o.cursor,p=o.searchResults,i="Escape"===t.key,c="Enter"===t.key,d="ArrowUp"===t.key,h="ArrowDown"===t.key,f="Backspace"===t.key,m="Tab"===t.key&&!t.shiftKey,v=t.shiftKey&&"Tab"===t.key;if(h&&!o.dropdown)return t.preventDefault(),n.dropDown("open"),a({cursor:0});if((h||m&&o.dropdown)&&null===l)return a({cursor:0});if((d||h||v&&o.dropdown||m&&o.dropdown)&&t.preventDefault(),i&&n.dropDown("close"),c){var w=p[l];if(w&&!w.disabled){if(r.create&&u(o.search,o.values,r))return null;s.addOption(w)}}return(h||m&&o.dropdown)&&p.length===l?a({cursor:0}):((h||m&&o.dropdown)&&a(function(e){return{cursor:e.cursor+1}}),(d||v&&o.dropdown)&&0<l&&a(function(e){return{cursor:e.cursor-1}}),(d||v&&o.dropdown)&&0===l&&a({cursor:p.length}),void(f&&r.backspaceDelete&&0===n.getInputSize()&&n.setState({values:n.state.values.slice(0,-1)})))},n.renderDropdown=function(){return t().createElement(D,{props:n.props,state:n.state,methods:n.methods})},n.createNew=function(e){var t,o=((t={})[n.props.labelField]=e,t[n.props.valueField]=e,t);n.addOption(o),n.props.onCreateNew(o),n.setState({search:""})},n.state={dropdown:!1,values:o.values,search:"",selectBounds:{},cursor:null,searchResults:o.options},n.methods={activeCursorOption:n.activeCursorOption,addOption:n.addOption,areAllSelected:n.areAllSelected,clearAll:n.clearAll,createNew:n.createNew,dropDown:n.dropDown,getInputSize:n.getInputSize,getSelectBounds:n.getSelectBounds,getSelectRef:n.getSelectRef,handleKeyDown:n.handleKeyDown,isSelected:n.isSelected,removeOption:n.removeOption,safeString:n.safeString,searchResults:n.searchResults,selectAll:n.selectAll,setSearch:n.setSearch,sortBy:n.sortBy,toggleSelectAll:n.toggleSelectAll},n.select=t().createRef(),n.dropdownRoot="undefined"!=typeof document&&document.createElement("div"),n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,A(e,t)}(n,e);var r=n.prototype;return r.componentDidMount=function(){d().addEventListener("resize",l(this.updateSelectBounds)),d().addEventListener("scroll",l(this.onScroll)),this.dropDown("close"),this.select&&this.updateSelectBounds(),this.props.defaultMenuIsOpen&&this.dropDown("open")},r.componentDidUpdate=function(e,t){var o=this;!this.props.compareValuesFunc(e.values,this.props.values)&&this.props.compareValuesFunc(e.values,t.values)&&(this.setState({values:this.props.values},function(){o.props.onChange(o.state.values)}),this.updateSelectBounds()),e.options!==this.props.options&&this.setState({searchResults:this.searchResults()}),t.values!==this.state.values&&(this.props.onChange(this.state.values),this.updateSelectBounds()),t.search!==this.state.search&&this.updateSelectBounds(),t.values!==this.state.values&&this.props.closeOnSelect&&this.dropDown("close"),e.multi!==this.props.multi&&this.updateSelectBounds(),t.dropdown&&t.dropdown!==this.state.dropdown&&this.onDropdownClose(),t.dropdown||t.dropdown===this.state.dropdown||this.props.onDropdownOpen()},r.componentWillUnmount=function(){d().removeEventListener("resize",l(this.updateSelectBounds,this.props.debounceDelay)),d().removeEventListener("scroll",l(this.onScroll,this.props.debounceDelay))},r.render=function(){var e=this,n=[o];return"rtl"===this.props.direction&&n.push(o+"-rtl"),this.props.disabled&&n.push(o+"-disabled"),void 0!==this.props.className&&n.push(this.props.className),t().createElement(a,{onClickOutside:function(t){return e.dropDown("close",t)}},t().createElement("div",k({"aria-expanded":this.state.dropdown,"aria-label":"Dropdown select",className:n.join(" "),"data-testid":o+"-"+this.props.name,onClick:function(t){return e.dropDown("open",t)},onKeyDown:this.handleKeyDown,ref:this.select,tabIndex:this.props.disabled?"-1":"0"},this.props.additionalProps),t().createElement(w,{props:this.props,state:this.state,methods:this.methods}),(this.props.name||this.props.required)&&t().createElement("input",{className:o+"-input-zero","data-testid":o+"-"+this.props.name+"-input-zero",defaultValue:this.state.values.map(function(t){return t[e.props.labelField]}).toString()||[],disabled:this.props.disabled,name:this.props.name,pattern:this.props.pattern,required:this.props.required,tabIndex:-1}),this.props.loading&&t().createElement(O,{props:this.props}),this.props.clearable&&t().createElement(R,{props:this.props,state:this.state,methods:this.methods}),this.props.separator&&t().createElement(C,{props:this.props,state:this.state,methods:this.methods}),this.props.dropdownHandle&&t().createElement(E,{onClick:function(){return e.select.current.focus()},props:this.props,state:this.state,methods:this.methods}),this.state.dropdown&&!this.props.disabled&&this.renderDropdown()))},n}(e.Component);F.defaultProps={additionalProps:null,addPlaceholder:"",autoFocus:!1,backspaceDelete:!0,clearable:!1,clearAllLabel:"Clear all",clearOnBlur:!0,clearOnSelect:!0,closeOnClickInput:!1,closeOnScroll:!1,closeOnSelect:!1,compareValuesFunc:function(e,t){return JSON.stringify(e)===JSON.stringify(t)},create:!1,createNewLabel:"add {search}",debounceDelay:0,defaultMenuIsOpen:!1,direction:"ltr",disabled:!1,disabledLabel:"disabled",dropdownGap:5,dropdownHandle:!0,dropdownHeight:"300px",dropdownPosition:"bottom",handleKeyDownFn:function(){},keepOpen:!1,keepSelectedInList:!0,labelField:"label",loading:!1,multi:!1,name:null,noDataLabel:"No data",onChange:function(){},onClearAll:function(){},onCreateNew:function(){},onDeselect:function(){},onDropdownClose:function(){},onDropdownCloseRequest:void 0,onDropdownOpen:function(){},onSelect:function(){},onSelectAll:function(){},options:[],pattern:void 0,placeholder:"Select...",required:!1,searchable:!0,searchBy:"label",searchFn:function(){},selectAll:!1,selectAllLabel:"Select all",separator:!1,sortBy:null,valueField:"value",values:[]};const N=F})(),s})());
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Clear=function(a){var b=a.props,c=a.state,d=a.methods;return b.clearRenderer?b.clearRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-clear",tabIndex:"-1",onClick:function(){return d.clearAll()},onKeyPress:function(){return d.clearAll()}},"\xD7")},_default=exports.default=Clear;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Clear=function(a){var b=a.props,c=a.state,d=a.methods;return b.clearRenderer?b.clearRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-clear","data-testid":_constants.LIB_NAME+"-"+b.name+"-Clear",tabIndex:"-1",onClick:function(){return d.clearAll()},onKeyDown:function(){return d.clearAll()}},"\xD7")},_default=exports.default=Clear;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_constants=require("../constants"),_util=require("../util"),_Input=_interopRequireDefault(require("./Input")),_Selection=_interopRequireDefault(require("./Selection")),_SelectMethodsModel=_interopRequireDefault(require("../models/SelectMethodsModel")),_SelectPropsModel=_interopRequireDefault(require("../models/SelectPropsModel")),_SelectStateModel=_interopRequireDefault(require("../models/SelectStateModel"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Content=function(a){var b=a.props,c=a.state,d=a.methods;return/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-content "+(b.multi?_constants.LIB_NAME+"-type-multi":_constants.LIB_NAME+"-type-single"),onClick:function(a){return a.stopPropagation(),!0===c.dropdown&&b.closeOnClickInput&&!c.search?d.dropDown("close"):d.dropDown("open")}},b.contentRenderer?b.contentRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,b.multi?c.values&&c.values.map(function(a){return/*#__PURE__*/_react.default.createElement(_Selection.default,{key:""+(0,_util.getByPath)(a,b.valueField)+(0,_util.getByPath)(a,b.labelField),option:a,state:c,props:b,methods:d})}):c.values&&0<c.values.length&&/*#__PURE__*/_react.default.createElement("span",null,(0,_util.getByPath)(c.values[0],b.labelField)),/*#__PURE__*/_react.default.createElement(_Input.default,{props:b,methods:d,state:c})))},_default=exports.default=Content;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_constants=require("../constants"),_util=require("../util"),_Input=_interopRequireDefault(require("./Input")),_Selection=_interopRequireDefault(require("./Selection")),_SelectMethodsModel=_interopRequireDefault(require("../models/SelectMethodsModel")),_SelectPropsModel=_interopRequireDefault(require("../models/SelectPropsModel")),_SelectStateModel=_interopRequireDefault(require("../models/SelectStateModel"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Content=function(a){var b=a.props,c=a.state,d=a.methods;return/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-content "+(b.multi?_constants.LIB_NAME+"-type-multi":_constants.LIB_NAME+"-type-single"),"data-testid":_constants.LIB_NAME+"-"+b.name+"-Content",onClick:function(a){return a.stopPropagation(),!0===c.dropdown&&b.closeOnClickInput&&!c.search?d.dropDown("close"):d.dropDown("open")}},b.contentRenderer?b.contentRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,b.multi?c.values&&c.values.map(function(a){return/*#__PURE__*/_react.default.createElement(_Selection.default,{key:""+(0,_util.getByPath)(a,b.valueField)+(0,_util.getByPath)(a,b.labelField),option:a,state:c,props:b,methods:d})}):c.values&&0<c.values.length&&/*#__PURE__*/_react.default.createElement("span",null,(0,_util.getByPath)(c.values[0],b.labelField)),/*#__PURE__*/_react.default.createElement(_Input.default,{props:b,methods:d,state:c})))},_default=exports.default=Content;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants"),_NoData=_interopRequireDefault(require("../components/NoData")),_Option=_interopRequireDefault(require("../components/Option")),_util=require("../util");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var dropdownPosition=function(a,b){var c=b.getSelectRef().getBoundingClientRect(),d=c.bottom+parseInt(a.dropdownHeight,10)+parseInt(a.dropdownGap,10);return"auto"===a.dropdownPosition?d>(0,_util.isomorphicWindow)().innerHeight&&d>c.top?"top":"bottom":a.dropdownPosition},Dropdown=function(a){var b=a.props,c=a.state,d=a.methods;return/*#__PURE__*/_react.default.createElement("div",{tabIndex:"-1","aria-expanded":"true",role:"list",className:_constants.LIB_NAME+"-dropdown "+_constants.LIB_NAME+"-dropdown-position-"+dropdownPosition(b,d)},b.dropdownRenderer?b.dropdownRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,b.create&&c.search&&!(0,_util.valueExistInSelected)(c.search,[].concat(c.values,b.options),b)&&/*#__PURE__*/_react.default.createElement("div",{role:"button",className:_constants.LIB_NAME+"-dropdown-add-new",color:b.color,onClick:function(){return d.createNew(c.search)}},b.createNewLabel.replace("{search}","\""+c.search+"\"")),0===c.searchResults.length?/*#__PURE__*/_react.default.createElement(_NoData.default,{className:_constants.LIB_NAME+"-no-data",state:c,props:b,methods:d}):c.searchResults.map(function(a,e){return/*#__PURE__*/_react.default.createElement(_Option.default,{key:a[b.valueField].toString(),option:a,optionIndex:e,state:c,props:b,methods:d})}),b.selectAll&&b.options&&b.multi&&/*#__PURE__*/_react.default.createElement("div",{role:"button",className:_constants.LIB_NAME+"-dropdown-select-all",color:b.color,onClick:function(){return d.areAllSelected()?d.clearAll():d.selectAll()}},d.areAllSelected()?b.clearAllLabel:b.selectAllLabel)))},_default=exports.default=Dropdown;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_NoData=_interopRequireDefault(require("../components/NoData")),_Option=_interopRequireDefault(require("../components/Option")),_constants=require("../constants"),_util=require("../util");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var dropdownPosition=function(a,b){var c=b.getSelectRef().getBoundingClientRect(),d=c.bottom+parseInt(a.dropdownHeight,10)+parseInt(a.dropdownGap,10);return"auto"===a.dropdownPosition?d>(0,_util.isomorphicWindow)().innerHeight&&d>c.top?"top":"bottom":a.dropdownPosition},Dropdown=function(a){var b=a.props,c=a.state,d=a.methods;return/*#__PURE__*/_react.default.createElement("div",{tabIndex:"-1","aria-expanded":"true",role:"list",className:_constants.LIB_NAME+"-dropdown "+_constants.LIB_NAME+"-dropdown-position-"+dropdownPosition(b,d),"data-testid":_constants.LIB_NAME+"-"+b.name+"-Dropdown"},b.dropdownRenderer?b.dropdownRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement(_react.default.Fragment,null,b.create&&c.search&&!(0,_util.valueExistInSelected)(c.search,[].concat(c.values,b.options),b)&&/*#__PURE__*/_react.default.createElement("div",{role:"button",className:_constants.LIB_NAME+"-dropdown-add-new",color:b.color,onClick:function(){return d.createNew(c.search)}},b.createNewLabel.replace("{search}","\""+c.search+"\"")),0===c.searchResults.length?/*#__PURE__*/_react.default.createElement(_NoData.default,{className:_constants.LIB_NAME+"-no-data",state:c,props:b,methods:d}):c.searchResults.map(function(a,e){return/*#__PURE__*/_react.default.createElement(_Option.default,{key:a[b.valueField].toString(),option:a,optionIndex:e,state:c,props:b,methods:d})}),b.selectAll&&b.options&&b.multi&&/*#__PURE__*/_react.default.createElement("div",{role:"button",className:_constants.LIB_NAME+"-dropdown-select-all",color:b.color,onClick:function(){return d.areAllSelected()?d.clearAll():d.selectAll()}},d.areAllSelected()?b.clearAllLabel:b.selectAllLabel)))},_default=exports.default=Dropdown;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var DropdownHandle=function(a){var b=a.props,c=a.state,d=a.methods;return/*#__PURE__*/_react.default.createElement("div",{tabIndex:"-1",onClick:function(a){return d.dropDown(c.dropdown?"close":"open",a)},onKeyPress:function(a){return d.dropDown("toggle",a)},onKeyDown:function(a){return d.dropDown("toggle",a)},className:_constants.LIB_NAME+"-dropdown-handle "+_constants.LIB_NAME+"-dropdown-handle-"+(c.dropdown?"open":"closed")+(b.dropdownHandleRenderer?"":" "+_constants.LIB_NAME+"-dropdown-handle-rotate")},b.dropdownHandleRenderer?b.dropdownHandleRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("svg",{fill:"currentColor",viewBox:"0 0 40 40"},/*#__PURE__*/_react.default.createElement("path",{d:"M31 26.4q0 .3-.2.5l-1.1 1.2q-.3.2-.6.2t-.5-.2l-8.7-8.8-8.8 8.8q-.2.2-.5.2t-.5-.2l-1.2-1.2q-.2-.2-.2-.5t.2-.5l10.4-10.4q.3-.2.6-.2t.5.2l10.4 10.4q.2.2.2.5z"})))},_default=exports.default=DropdownHandle;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var DropdownHandle=function(a){var b=a.props,c=a.state,d=a.methods;return/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-dropdown-handle "+_constants.LIB_NAME+"-dropdown-handle-"+(c.dropdown?"open":"closed")+(b.dropdownHandleRenderer?"":" "+_constants.LIB_NAME+"-dropdown-handle-rotate"),"data-testid":_constants.LIB_NAME+"-"+b.name+"-DropdownHandle",onClick:function(a){return d.dropDown(c.dropdown?"close":"open",a)},onKeyDown:function(a){return d.dropDown("toggle",a)},tabIndex:"-1"},b.dropdownHandleRenderer?b.dropdownHandleRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("svg",{fill:"currentColor",viewBox:"0 0 40 40"},/*#__PURE__*/_react.default.createElement("path",{d:"M31 26.4q0 .3-.2.5l-1.1 1.2q-.3.2-.6.2t-.5-.2l-8.7-8.8-8.8 8.8q-.2.2-.5.2t-.5-.2l-1.2-1.2q-.2-.2-.2-.5t.2-.5l10.4-10.4q.3-.2.6-.2t.5.2l10.4 10.4q.2.2.2.5z"})))},_default=exports.default=DropdownHandle;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_util=require("../util"),PropTypes=_interopRequireWildcard(require("prop-types")),_constants=require("../constants");function _interopRequireWildcard(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(_interopRequireWildcard=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=typeof a&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function _inheritsLoose(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}var handlePlaceHolder=function(a,b){var c=a.addPlaceholder,d=a.searchable,e=a.placeholder,f=b.values&&0===b.values.length,g=b.values&&0<b.values.length;return g&&c&&d?c:f?e:g&&!d?"":""},Input=/*#__PURE__*/function(a){function b(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return b=a.call.apply(a,[this].concat(d))||this,b.input=/*#__PURE__*/_react.default.createRef(),b.onBlur=function(a){return a.stopPropagation(),b.props.state.dropdown?b.input.current.focus():b.input.current.blur()},b.handleKeyPress=function(a){var c=b.props,d=c.props,e=c.state,f=c.methods;return d.create&&"Enter"===a.key&&!(0,_util.valueExistInSelected)(e.search,[].concat(e.values,d.options),b.props)&&e.search&&null===e.cursor&&f.createNew(e.search)},b}_inheritsLoose(b,a);var c=b.prototype;return c.componentDidUpdate=function(a){(this.props.state.dropdown||a.state.dropdown!==this.props.state.dropdown&&this.props.state.dropdown||this.props.props.autoFocus)&&this.input.current.focus(),a.state.dropdown===this.props.state.dropdown||this.props.state.dropdown||this.input.current.blur()},c.render=function(){var a=this.props,b=a.props,c=a.state,d=a.methods;return b.inputRenderer?b.inputRenderer({props:b,state:c,methods:d,inputRef:this.input}):/*#__PURE__*/_react.default.createElement("input",{ref:this.input,tabIndex:"-1",onFocus:function(a){return a.stopPropagation()},className:_constants.LIB_NAME+"-input"+(b.searchable?"":" "+_constants.LIB_NAME+"-input-readonly"),value:c.search,onClick:function(){return d.dropDown("open")},onKeyPress:this.handleKeyPress,onChange:d.setSearch,onBlur:this.onBlur,placeholder:handlePlaceHolder(b,c),disabled:b.disabled})},b}(_react.Component),_default=exports.default=Input;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireWildcard(require("react")),PropTypes=_interopRequireWildcard(require("prop-types")),_constants=require("../constants"),_util=require("../util");function _interopRequireWildcard(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(_interopRequireWildcard=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=typeof a&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function _inheritsLoose(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}/* eslint-disable react/jsx-handler-names */var handlePlaceHolder=function(a,b){var c=a.addPlaceholder,d=a.searchable,e=a.placeholder,f=b.values&&0===b.values.length,g=b.values&&0<b.values.length;return g&&c&&d?c:f?e:g&&!d?"":""},Input=/*#__PURE__*/function(a){function b(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return b=a.call.apply(a,[this].concat(d))||this,b.input=/*#__PURE__*/_react.default.createRef(),b.onBlur=function(a){return a.stopPropagation(),b.props.state.dropdown?b.input.current.focus():b.input.current.blur()},b.handleKeyPress=function(a){var c=b.props,d=c.props,e=c.state,f=c.methods;return d.create&&"Enter"===a.key&&!(0,_util.valueExistInSelected)(e.search,[].concat(e.values,d.options),b.props)&&e.search&&null===e.cursor&&f.createNew(e.search)},b}_inheritsLoose(b,a);var c=b.prototype;return c.componentDidUpdate=function(a){(this.props.state.dropdown||a.state.dropdown!==this.props.state.dropdown&&this.props.state.dropdown||this.props.props.autoFocus)&&this.input.current.focus(),a.state.dropdown===this.props.state.dropdown||this.props.state.dropdown||this.input.current.blur()},c.render=function(){var a=this.props,b=a.props,c=a.state,d=a.methods;return b.inputRenderer?b.inputRenderer({props:b,state:c,methods:d,inputRef:this.input}):/*#__PURE__*/_react.default.createElement("input",{ref:this.input,tabIndex:"-1",onFocus:function(a){return a.stopPropagation()},className:_constants.LIB_NAME+"-input"+(b.searchable?"":" "+_constants.LIB_NAME+"-input-readonly"),"data-testid":_constants.LIB_NAME+"-"+b.name+"-Input",value:c.search,onClick:function(){return d.dropDown("open")},onKeyDown:this.handleKeyPress,onChange:d.setSearch,onBlur:this.onBlur,placeholder:handlePlaceHolder(b,c),disabled:b.disabled})},b}(_react.Component),_default=exports.default=Input;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Loading=function(a){var b=a.props;return b.loadingRenderer?b.loadingRenderer({props:b}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-loading"})},_default=exports.default=Loading;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Loading=function(a){var b=a.props;return b.loadingRenderer?b.loadingRenderer({props:b}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-loading","data-testid":_constants.LIB_NAME+"-"+b.name+"-Loading"})},_default=exports.default=Loading;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var NoData=function(a){var b=a.props,c=a.state,d=a.methods;return b.noDataRenderer?b.noDataRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-no-data"},b.noDataLabel)},_default=exports.default=NoData;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var NoData=function(a){var b=a.props,c=a.state,d=a.methods;return b.noDataRenderer?b.noDataRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-no-data","data-testid":_constants.LIB_NAME+"-"+b.name+"-NoData"},b.noDataLabel)},_default=exports.default=NoData;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_util=require("../util"),PropTypes=_interopRequireWildcard(require("prop-types")),_constants=require("../constants");function _interopRequireWildcard(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(_interopRequireWildcard=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=typeof a&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function _inheritsLoose(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}var Option=/*#__PURE__*/function(a){function b(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return b=a.call.apply(a,[this].concat(d))||this,b.option=/*#__PURE__*/_react.default.createRef(),b}_inheritsLoose(b,a);var c=b.prototype;return c.componentDidMount=function(){var a=this.props,b=a.props,c=a.methods;this.option.current&&!b.multi&&b.keepSelectedInList&&c.isSelected(this.props.option)&&this.option.current.scrollIntoView({block:"nearest",inline:"start"})},c.componentDidUpdate=function(){this.props.state.cursor===this.props.optionIndex&&this.option.current&&this.option.current.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})},c.render=function(){var a=this.props,b=a.props,c=a.state,d=a.methods,e=a.option,f=a.optionIndex;return b.optionRenderer?b.optionRenderer({option:e,optionIndex:f,props:b,state:c,methods:d}):!b.keepSelectedInList&&d.isSelected(e)?null:/*#__PURE__*/_react.default.createElement("span",{role:"option",ref:this.option,"aria-selected":d.isSelected(e),"aria-disabled":e.disabled,"aria-label":(0,_util.getByPath)(e,b.labelField),key:""+(0,_util.getByPath)(e,b.valueField)+(0,_util.getByPath)(e,b.labelField),tabIndex:"-1",className:_constants.LIB_NAME+"-option"+(d.isSelected(e)?" "+_constants.LIB_NAME+"-option-selected":"")+(c.cursor===f?" "+_constants.LIB_NAME+"-option-active":"")+(e.disabled?" "+_constants.LIB_NAME+"-option-disabled":""),onClick:e.disabled?void 0:function(){return d.addOption(e)},onKeyPress:e.disabled?void 0:function(){return d.addOption(e)}},(0,_util.getByPath)(e,b.labelField)," ",e.disabled&&/*#__PURE__*/_react.default.createElement("ins",null,b.disabledLabel))},b}(_react.Component),_default=exports.default=Option;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireWildcard(require("react")),PropTypes=_interopRequireWildcard(require("prop-types")),_constants=require("../constants"),_util=require("../util");function _interopRequireWildcard(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(_interopRequireWildcard=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=typeof a&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function _inheritsLoose(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}var Option=/*#__PURE__*/function(a){function b(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return b=a.call.apply(a,[this].concat(d))||this,b.option=/*#__PURE__*/_react.default.createRef(),b}_inheritsLoose(b,a);var c=b.prototype;return c.componentDidMount=function(){var a=this.props,b=a.props,c=a.methods;this.option.current&&!b.multi&&b.keepSelectedInList&&c.isSelected(this.props.option)&&this.option.current.scrollIntoView({block:"nearest",inline:"start"})},c.componentDidUpdate=function(){this.props.state.cursor===this.props.optionIndex&&this.option.current&&this.option.current.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})},c.render=function(){var a=this.props,b=a.props,c=a.state,d=a.methods,e=a.option,f=a.optionIndex;return b.optionRenderer?b.optionRenderer({option:e,optionIndex:f,props:b,state:c,methods:d}):!b.keepSelectedInList&&d.isSelected(e)?null:/*#__PURE__*/_react.default.createElement("span",{role:"option",ref:this.option,"aria-selected":d.isSelected(e),"aria-disabled":e.disabled,"aria-label":(0,_util.getByPath)(e,b.labelField),key:""+(0,_util.getByPath)(e,b.valueField)+(0,_util.getByPath)(e,b.labelField),tabIndex:"-1",className:_constants.LIB_NAME+"-option"+(d.isSelected(e)?" "+_constants.LIB_NAME+"-option-selected":"")+(c.cursor===f?" "+_constants.LIB_NAME+"-option-active":"")+(e.disabled?" "+_constants.LIB_NAME+"-option-disabled":""),"data-testid":_constants.LIB_NAME+"-"+b.name+"-Option-"+(0,_util.getOptionSlug)(e,b),onClick:e.disabled?void 0:function(){return d.addOption(e)},onKeyDown:e.disabled?void 0:function(){return d.addOption(e)}},(0,_util.getByPath)(e,b.labelField)," ",e.disabled&&/*#__PURE__*/_react.default.createElement("ins",null,b.disabledLabel))},b}(_react.Component),_default=exports.default=Option;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants"),_util=require("../util");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Selection=function(a){var b=a.option,c=a.props,d=a.state,e=a.methods;return b&&c.selectionRenderer?c.selectionRenderer({option:b,props:c,state:d,methods:e}):/*#__PURE__*/_react.default.createElement("span",{role:"listitem",disabled:c.disabled,className:_constants.LIB_NAME+"-selection"+("rtl"===c.direction?" "+_constants.LIB_NAME+"-selection-rtl":"")},/*#__PURE__*/_react.default.createElement("span",{className:_constants.LIB_NAME+"-selection-label"},(0,_util.getByPath)(b,c.labelField)),/*#__PURE__*/_react.default.createElement("span",{className:_constants.LIB_NAME+"-selection-remove",onClick:function(a){return e.removeOption(a,b,c.closeOnSelect)}},"\xD7"))},_default=exports.default=Selection;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants"),_util=require("../util");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Selection=function(a){var b=a.option,c=a.props,d=a.state,e=a.methods;if(b&&c.selectionRenderer)return c.selectionRenderer({option:b,props:c,state:d,methods:e});var f=(0,_util.getOptionSlug)(b,c);return/*#__PURE__*/_react.default.createElement("span",{role:"listitem",disabled:c.disabled,className:_constants.LIB_NAME+"-selection"+("rtl"===c.direction?" "+_constants.LIB_NAME+"-selection-rtl":""),"data-testid":_constants.LIB_NAME+"-"+c.name+"-Selection-"+f},/*#__PURE__*/_react.default.createElement("span",{className:_constants.LIB_NAME+"-selection-label","data-testid":_constants.LIB_NAME+"-"+c.name+"-Selection-label-"+f},(0,_util.getByPath)(b,c.labelField)),/*#__PURE__*/_react.default.createElement("span",{className:_constants.LIB_NAME+"-selection-remove-"+f,"data-testid":_constants.LIB_NAME+"-"+c.name+"-Selection-remove-"+f,onClick:function(a){return e.removeOption(a,b,c.closeOnSelect)}},"\xD7"))},_default=exports.default=Selection;
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Separator=function(a){var b=a.props,c=a.state,d=a.methods;return b.separatorRenderer?b.separatorRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-separator"})},_default=exports.default=Separator;
1
+ "use strict";exports.__esModule=!0,exports.default=void 0;var _react=_interopRequireDefault(require("react")),_constants=require("../constants");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var Separator=function(a){var b=a.props,c=a.state,d=a.methods;return b.separatorRenderer?b.separatorRenderer({props:b,state:c,methods:d}):/*#__PURE__*/_react.default.createElement("div",{className:_constants.LIB_NAME+"-separator","data-testid":_constants.LIB_NAME+"-"+b.name+"-Separator"})},_default=exports.default=Separator;
package/lib/index.js CHANGED
@@ -1 +1,2 @@
1
- "use strict";exports.__esModule=!0,exports.default=exports.Select=void 0;var _react=_interopRequireWildcard(require("react")),_reactDom=_interopRequireDefault(require("react-dom")),_ClickOutside=_interopRequireDefault(require("./components/ClickOutside")),_Content=_interopRequireDefault(require("./components/Content")),_Dropdown=_interopRequireDefault(require("./components/Dropdown")),_Loading=_interopRequireDefault(require("./components/Loading")),_Clear=_interopRequireDefault(require("./components/Clear")),_Separator=_interopRequireDefault(require("./components/Separator")),_DropdownHandle=_interopRequireDefault(require("./components/DropdownHandle")),_util=require("./util"),_constants=require("./constants"),_SelectPropsModel=_interopRequireDefault(require("./models/SelectPropsModel"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _interopRequireWildcard(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(_interopRequireWildcard=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=typeof a&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)({}).hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(null,arguments)}function _inheritsLoose(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}var Select=exports.Select=/*#__PURE__*/function(a){function b(b){var c;return c=a.call(this,b)||this,c.onDropdownClose=function(){c.setState({cursor:null}),c.props.onDropdownClose()},c.onScroll=function(){c.props.closeOnScroll&&c.dropDown("close"),c.updateSelectBounds()},c.updateSelectBounds=function(){return c.select.current&&c.setState({selectBounds:c.select.current.getBoundingClientRect()})},c.getSelectBounds=function(){return c.state.selectBounds},c.dropDown=function(a,b,d){void 0===a&&(a="toggle"),void 0===d&&(d=!1);b&&b.target||b&&b.srcElement;return void 0!==c.props.onDropdownCloseRequest&&c.state.dropdown&&!1===d&&"close"===a?c.props.onDropdownCloseRequest({props:c.props,methods:c.methods,state:c.state,close:function(){return c.dropDown("close",null,!0)}}):c.props.keepOpen?c.setState({dropdown:!0}):"close"===a&&c.state.dropdown?(c.select.current.blur(),c.setState({dropdown:!1,search:c.props.clearOnBlur?"":c.state.search,searchResults:c.props.options})):"open"!==a||c.state.dropdown?"toggle"===a&&(c.select.current.focus(),c.setState({dropdown:!c.state.dropdown})):c.setState({dropdown:!0})},c.getSelectRef=function(){return c.select.current},c.addOption=function(a){if(c.props.multi){if((0,_util.valueExistInSelected)((0,_util.getByPath)(a,c.props.valueField),c.state.values,c.props))return c.removeOption(null,a,!1);c.setState({values:[].concat(c.state.values,[a])}),c.props.onSelect([].concat(c.state.values,[a]))}else c.setState({values:[a],dropdown:!1}),c.props.onSelect([a]);return c.props.clearOnSelect&&c.setState({search:""},function(){c.setState({searchResults:c.searchResults()})}),!0},c.removeOption=function(a,b,d){void 0===d&&(d=!1),a&&d&&(a.preventDefault(),a.stopPropagation(),c.dropDown("close"));var e=c.state.values.filter(function(a){return(0,_util.getByPath)(a,c.props.valueField)!==(0,_util.getByPath)(b,c.props.valueField)});c.setState({values:e}),c.props.onDeselect(e)},c.setSearch=function(a){c.setState({cursor:null}),c.setState({search:a.target.value},function(){c.setState({searchResults:c.searchResults()})})},c.getInputSize=function(){return c.state.search?c.state.search.length:0<c.state.values.length?c.props.addPlaceholder.length:c.props.placeholder.length},c.toggleSelectAll=function(){return c.setState({values:0===c.state.values.length?c.selectAll():c.clearAll()})},c.clearAll=function(){c.props.onClearAll(),c.setState({values:[]})},c.selectAll=function(a){void 0===a&&(a=[]),c.props.onSelectAll();var b=0<a.length?a:c.props.options.filter(function(a){return!a.disabled});c.setState({values:b})},c.isSelected=function(a){return!!c.state.values.find(function(b){return(0,_util.getByPath)(b,c.props.valueField)===(0,_util.getByPath)(a,c.props.valueField)})},c.areAllSelected=function(){return c.state.values.length===c.props.options.filter(function(a){return!a.disabled}).length},c.safeString=function(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},c.sortBy=function(){var a=c.props,d=a.sortBy,e=a.options;return d?(e.sort(function(c,a){return(0,_util.getProp)(c,d)<(0,_util.getProp)(a,d)?-1:(0,_util.getProp)(c,d)>(0,_util.getProp)(a,d)?1:0}),e):e},c.searchFn=function(a){var b=a.state,d=a.methods,e=new RegExp(d.safeString(b.search),"i");return d.sortBy().filter(function(a){return e.test((0,_util.getByPath)(a,c.props.searchBy)||(0,_util.getByPath)(a,c.props.valueField))})},c.searchResults=function(){var a={state:c.state,props:c.props,methods:c.methods};return c.props.searchFn(a)||c.searchFn(a)},c.activeCursorOption=function(a){return c.setState({activeCursorOption:a})},c.handleKeyDown=function(a){var b={event:a,state:c.state,props:c.props,methods:c.methods,setState:c.setState.bind(c)};return c.props.handleKeyDownFn(b)||c.handleKeyDownFn(b)},c.handleKeyDownFn=function(a){var b=a.event,d=a.state,e=a.props,f=a.methods,g=a.setState,h=d.cursor,i=d.searchResults,j="Escape"===b.key,k="Enter"===b.key,l="ArrowUp"===b.key,m="ArrowDown"===b.key,n="Backspace"===b.key,o="Tab"===b.key&&!b.shiftKey,p=b.shiftKey&&"Tab"===b.key;if(m&&!d.dropdown)return b.preventDefault(),c.dropDown("open"),g({cursor:0});if((m||o&&d.dropdown)&&null===h)return g({cursor:0});if((l||m||p&&d.dropdown||o&&d.dropdown)&&b.preventDefault(),j&&c.dropDown("close"),k){var q=i[h];if(q&&!q.disabled){if(e.create&&(0,_util.valueExistInSelected)(d.search,d.values,e))return null;f.addOption(q)}}return(m||o&&d.dropdown)&&i.length===h?g({cursor:0}):void((m||o&&d.dropdown)&&g(function(a){return{cursor:a.cursor+1}}),(l||p&&d.dropdown)&&0<h&&g(function(a){return{cursor:a.cursor-1}}),(l||p&&d.dropdown)&&0===h&&g({cursor:i.length}),n&&e.backspaceDelete&&0===c.getInputSize()&&c.setState({values:c.state.values.slice(0,-1)}))},c.renderDropdown=function(){return/*#__PURE__*/_react.default.createElement(_Dropdown.default,{props:c.props,state:c.state,methods:c.methods})},c.createNew=function(a){var b,d=(b={},b[c.props.labelField]=a,b[c.props.valueField]=a,b);c.addOption(d),c.props.onCreateNew(d),c.setState({search:""})},c.state={dropdown:!1,values:b.values,search:"",selectBounds:{},cursor:null,searchResults:b.options},c.methods={activeCursorOption:c.activeCursorOption,addOption:c.addOption,areAllSelected:c.areAllSelected,clearAll:c.clearAll,createNew:c.createNew,dropDown:c.dropDown,getInputSize:c.getInputSize,getSelectBounds:c.getSelectBounds,getSelectRef:c.getSelectRef,handleKeyDown:c.handleKeyDown,isSelected:c.isSelected,removeOption:c.removeOption,safeString:c.safeString,searchResults:c.searchResults,selectAll:c.selectAll,setSearch:c.setSearch,sortBy:c.sortBy,toggleSelectAll:c.toggleSelectAll},c.select=/*#__PURE__*/_react.default.createRef(),c.dropdownRoot="undefined"!=typeof document&&document.createElement("div"),c}_inheritsLoose(b,a);var c=b.prototype;return c.componentDidMount=function(){(0,_util.isomorphicWindow)().addEventListener("resize",(0,_util.debounce)(this.updateSelectBounds)),(0,_util.isomorphicWindow)().addEventListener("scroll",(0,_util.debounce)(this.onScroll)),this.dropDown("close"),this.select&&this.updateSelectBounds(),this.props.defaultMenuIsOpen&&this.dropDown("open")},c.componentDidUpdate=function(a,b){var c=this;!this.props.compareValuesFunc(a.values,this.props.values)&&this.props.compareValuesFunc(a.values,b.values)&&(this.setState({values:this.props.values},function(){c.props.onChange(c.state.values)}),this.updateSelectBounds()),a.options!==this.props.options&&this.setState({searchResults:this.searchResults()}),b.values!==this.state.values&&(this.props.onChange(this.state.values),this.updateSelectBounds()),b.search!==this.state.search&&this.updateSelectBounds(),b.values!==this.state.values&&this.props.closeOnSelect&&this.dropDown("close"),a.multi!==this.props.multi&&this.updateSelectBounds(),b.dropdown&&b.dropdown!==this.state.dropdown&&this.onDropdownClose(),b.dropdown||b.dropdown===this.state.dropdown||this.props.onDropdownOpen()},c.componentWillUnmount=function(){(0,_util.isomorphicWindow)().removeEventListener("resize",(0,_util.debounce)(this.updateSelectBounds,this.props.debounceDelay)),(0,_util.isomorphicWindow)().removeEventListener("scroll",(0,_util.debounce)(this.onScroll,this.props.debounceDelay))},c.render=function(){var a=this,b=[_constants.LIB_NAME];return"rtl"===this.props.direction&&b.push(_constants.LIB_NAME+"-rtl"),this.props.disabled&&b.push(_constants.LIB_NAME+"-disabled"),void 0!==this.props.className&&b.push(this.props.className),/*#__PURE__*/_react.default.createElement(_ClickOutside.default,{onClickOutside:function(b){return a.dropDown("close",b)}},/*#__PURE__*/_react.default.createElement("div",_extends({onKeyDown:this.handleKeyDown,"aria-label":"Dropdown select","aria-expanded":this.state.dropdown,onClick:function(b){return a.dropDown("open",b)},tabIndex:this.props.disabled?"-1":"0",ref:this.select,className:b.join(" ")},this.props.additionalProps),/*#__PURE__*/_react.default.createElement(_Content.default,{props:this.props,state:this.state,methods:this.methods}),(this.props.name||this.props.required)&&/*#__PURE__*/_react.default.createElement("input",{tabIndex:-1,className:_constants.LIB_NAME+"-input-zero",name:this.props.name,required:this.props.required,pattern:this.props.pattern,defaultValue:this.state.values.map(function(b){return b[a.props.labelField]}).toString()||[],disabled:this.props.disabled}),this.props.loading&&/*#__PURE__*/_react.default.createElement(_Loading.default,{props:this.props}),this.props.clearable&&/*#__PURE__*/_react.default.createElement(_Clear.default,{props:this.props,state:this.state,methods:this.methods}),this.props.separator&&/*#__PURE__*/_react.default.createElement(_Separator.default,{props:this.props,state:this.state,methods:this.methods}),this.props.dropdownHandle&&/*#__PURE__*/_react.default.createElement(_DropdownHandle.default,{onClick:function(){return a.select.current.focus()},props:this.props,state:this.state,methods:this.methods}),this.state.dropdown&&!this.props.disabled&&this.renderDropdown()))},b}(_react.Component);Select.defaultProps={addPlaceholder:"",additionalProps:null,autoFocus:!1,backspaceDelete:!0,clearAllLabel:"Clear all",clearOnBlur:!0,clearOnSelect:!0,clearable:!1,closeOnScroll:!1,closeOnSelect:!1,closeOnClickInput:!1,compareValuesFunc:_util.isEqual,create:!1,createNewLabel:"add {search}",debounceDelay:0,direction:"ltr",disabled:!1,disabledLabel:"disabled",dropdownGap:5,dropdownHandle:!0,dropdownHeight:"300px",dropdownPosition:"bottom",handleKeyDownFn:function(){},keepOpen:!1,keepSelectedInList:!0,labelField:"label",loading:!1,multi:!1,name:null,noDataLabel:"No data",onChange:function(){},onSelect:function(){},onDeselect:function(){},onClearAll:function(){},onCreateNew:function(){},onDropdownClose:function(){},onDropdownCloseRequest:void 0,onDropdownOpen:function(){},onSelectAll:function(){},options:[],pattern:void 0,placeholder:"Select...",required:!1,searchBy:"label",searchFn:function(){},searchable:!0,selectAll:!1,selectAllLabel:"Select all",separator:!1,sortBy:null,valueField:"value",values:[],defaultMenuIsOpen:!1};var _default=exports.default=Select;
1
+ "use strict";exports.__esModule=!0,exports.default=exports.Select=void 0;var _react=_interopRequireWildcard(require("react")),_ClickOutside=_interopRequireDefault(require("./components/ClickOutside")),_Content=_interopRequireDefault(require("./components/Content")),_Dropdown=_interopRequireDefault(require("./components/Dropdown")),_Loading=_interopRequireDefault(require("./components/Loading")),_Clear=_interopRequireDefault(require("./components/Clear")),_Separator=_interopRequireDefault(require("./components/Separator")),_DropdownHandle=_interopRequireDefault(require("./components/DropdownHandle")),_util=require("./util"),_constants=require("./constants"),_SelectPropsModel=_interopRequireDefault(require("./models/SelectPropsModel"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _interopRequireWildcard(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(_interopRequireWildcard=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=typeof a&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)({}).hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(null,arguments)}function _inheritsLoose(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}var Select=exports.Select=/*#__PURE__*/function(a){function b(b){var d,c=Math.floor;return{}.hasOwnProperty.call(b,"name")||(b.name="field"+c(1e3*Math.random())),d=a.call(this,b)||this,d.onDropdownClose=function(){d.setState({cursor:null}),d.props.onDropdownClose()},d.onScroll=function(){d.props.closeOnScroll&&d.dropDown("close"),d.updateSelectBounds()},d.updateSelectBounds=function(){return d.select.current&&d.setState({selectBounds:d.select.current.getBoundingClientRect()})},d.getSelectBounds=function(){return d.state.selectBounds},d.dropDown=function(a,b,c){// const target = (event && event.target) || (event && event.srcElement)
2
+ return void 0===a&&(a="toggle"),void 0===c&&(c=!1),void 0!==d.props.onDropdownCloseRequest&&d.state.dropdown&&!1===c&&"close"===a?d.props.onDropdownCloseRequest({props:d.props,methods:d.methods,state:d.state,close:function(){return d.dropDown("close",null,!0)}}):d.props.keepOpen?d.setState({dropdown:!0}):"close"===a&&d.state.dropdown?(d.select.current.blur(),d.setState({dropdown:!1,search:d.props.clearOnBlur?"":d.state.search,searchResults:d.props.options})):"open"!==a||d.state.dropdown?"toggle"===a&&(d.select.current.focus(),d.setState({dropdown:!d.state.dropdown})):d.setState({dropdown:!0})},d.getSelectRef=function(){return d.select.current},d.addOption=function(a){if(d.props.multi){if((0,_util.valueExistInSelected)((0,_util.getByPath)(a,d.props.valueField),d.state.values,d.props))return d.removeOption(null,a,!1);d.setState({values:[].concat(d.state.values,[a])}),d.props.onSelect([].concat(d.state.values,[a]))}else d.setState({values:[a],dropdown:!1}),d.props.onSelect([a]);return d.props.clearOnSelect&&d.setState({search:""},function(){d.setState({searchResults:d.searchResults()})}),!0},d.removeOption=function(a,b,c){void 0===c&&(c=!1),a&&c&&(a.preventDefault(),a.stopPropagation(),d.dropDown("close"));var e=d.state.values.filter(function(a){return(0,_util.getByPath)(a,d.props.valueField)!==(0,_util.getByPath)(b,d.props.valueField)});d.setState({values:e}),d.props.onDeselect(e)},d.setSearch=function(a){d.setState({cursor:null}),d.setState({search:a.target.value},function(){d.setState({searchResults:d.searchResults()})})},d.getInputSize=function(){return d.state.search?d.state.search.length:0<d.state.values.length?d.props.addPlaceholder.length:d.props.placeholder.length},d.toggleSelectAll=function(){return d.setState({values:0===d.state.values.length?d.selectAll():d.clearAll()})},d.clearAll=function(){d.props.onClearAll(),d.setState({values:[]})},d.selectAll=function(a){void 0===a&&(a=[]),d.props.onSelectAll();var b=0<a.length?a:d.props.options.filter(function(a){return!a.disabled});d.setState({values:b})},d.isSelected=function(a){return!!d.state.values.find(function(b){return(0,_util.getByPath)(b,d.props.valueField)===(0,_util.getByPath)(a,d.props.valueField)})},d.areAllSelected=function(){return d.state.values.length===d.props.options.filter(function(a){return!a.disabled}).length},d.safeString=function(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},d.sortBy=function(){var a=d.props,c=a.sortBy,e=a.options;return c?(e.sort(function(d,a){return(0,_util.getProp)(d,c)<(0,_util.getProp)(a,c)?-1:(0,_util.getProp)(d,c)>(0,_util.getProp)(a,c)?1:0}),e):e},d.searchFn=function(a){var b=a.state,c=a.methods,e=new RegExp(c.safeString(b.search),"i");return c.sortBy().filter(function(a){return e.test((0,_util.getByPath)(a,d.props.searchBy)||(0,_util.getByPath)(a,d.props.valueField))})},d.searchResults=function(){var a={state:d.state,props:d.props,methods:d.methods};return d.props.searchFn(a)||d.searchFn(a)},d.activeCursorOption=function(a){return d.setState({activeCursorOption:a})},d.handleKeyDown=function(a){var b={event:a,state:d.state,props:d.props,methods:d.methods,setState:d.setState.bind(d)};return d.props.handleKeyDownFn(b)||d.handleKeyDownFn(b)},d.handleKeyDownFn=function(a){var b=a.event,c=a.state,e=a.props,f=a.methods,g=a.setState,h=c.cursor,i=c.searchResults,j="Escape"===b.key,k="Enter"===b.key,l="ArrowUp"===b.key,m="ArrowDown"===b.key,n="Backspace"===b.key,o="Tab"===b.key&&!b.shiftKey,p=b.shiftKey&&"Tab"===b.key;if(m&&!c.dropdown)return b.preventDefault(),d.dropDown("open"),g({cursor:0});if((m||o&&c.dropdown)&&null===h)return g({cursor:0});if((l||m||p&&c.dropdown||o&&c.dropdown)&&b.preventDefault(),j&&d.dropDown("close"),k){var q=i[h];if(q&&!q.disabled){if(e.create&&(0,_util.valueExistInSelected)(c.search,c.values,e))return null;f.addOption(q)}}return(m||o&&c.dropdown)&&i.length===h?g({cursor:0}):void((m||o&&c.dropdown)&&g(function(a){return{cursor:a.cursor+1}}),(l||p&&c.dropdown)&&0<h&&g(function(a){return{cursor:a.cursor-1}}),(l||p&&c.dropdown)&&0===h&&g({cursor:i.length}),n&&e.backspaceDelete&&0===d.getInputSize()&&d.setState({values:d.state.values.slice(0,-1)}))},d.renderDropdown=function(){return/*#__PURE__*/_react.default.createElement(_Dropdown.default,{props:d.props,state:d.state,methods:d.methods})},d.createNew=function(a){var b,c=(b={},b[d.props.labelField]=a,b[d.props.valueField]=a,b);d.addOption(c),d.props.onCreateNew(c),d.setState({search:""})},d.state={dropdown:!1,values:b.values,search:"",selectBounds:{},cursor:null,searchResults:b.options},d.methods={activeCursorOption:d.activeCursorOption,addOption:d.addOption,areAllSelected:d.areAllSelected,clearAll:d.clearAll,createNew:d.createNew,dropDown:d.dropDown,getInputSize:d.getInputSize,getSelectBounds:d.getSelectBounds,getSelectRef:d.getSelectRef,handleKeyDown:d.handleKeyDown,isSelected:d.isSelected,removeOption:d.removeOption,safeString:d.safeString,searchResults:d.searchResults,selectAll:d.selectAll,setSearch:d.setSearch,sortBy:d.sortBy,toggleSelectAll:d.toggleSelectAll},d.select=/*#__PURE__*/_react.default.createRef(),d.dropdownRoot="undefined"!=typeof document&&document.createElement("div"),d}_inheritsLoose(b,a);var c=b.prototype;return c.componentDidMount=function(){(0,_util.isomorphicWindow)().addEventListener("resize",(0,_util.debounce)(this.updateSelectBounds)),(0,_util.isomorphicWindow)().addEventListener("scroll",(0,_util.debounce)(this.onScroll)),this.dropDown("close"),this.select&&this.updateSelectBounds(),this.props.defaultMenuIsOpen&&this.dropDown("open")},c.componentDidUpdate=function(a,b){var c=this;!this.props.compareValuesFunc(a.values,this.props.values)&&this.props.compareValuesFunc(a.values,b.values)&&(this.setState({values:this.props.values},function(){c.props.onChange(c.state.values)}),this.updateSelectBounds()),a.options!==this.props.options&&this.setState({searchResults:this.searchResults()}),b.values!==this.state.values&&(this.props.onChange(this.state.values),this.updateSelectBounds()),b.search!==this.state.search&&this.updateSelectBounds(),b.values!==this.state.values&&this.props.closeOnSelect&&this.dropDown("close"),a.multi!==this.props.multi&&this.updateSelectBounds(),b.dropdown&&b.dropdown!==this.state.dropdown&&this.onDropdownClose(),b.dropdown||b.dropdown===this.state.dropdown||this.props.onDropdownOpen()},c.componentWillUnmount=function(){(0,_util.isomorphicWindow)().removeEventListener("resize",(0,_util.debounce)(this.updateSelectBounds,this.props.debounceDelay)),(0,_util.isomorphicWindow)().removeEventListener("scroll",(0,_util.debounce)(this.onScroll,this.props.debounceDelay))},c.render=function(){var a=this,b=[_constants.LIB_NAME];return"rtl"===this.props.direction&&b.push(_constants.LIB_NAME+"-rtl"),this.props.disabled&&b.push(_constants.LIB_NAME+"-disabled"),void 0!==this.props.className&&b.push(this.props.className),/*#__PURE__*/_react.default.createElement(_ClickOutside.default,{onClickOutside:function(b){return a.dropDown("close",b)}},/*#__PURE__*/_react.default.createElement("div",_extends({"aria-expanded":this.state.dropdown,"aria-label":"Dropdown select",className:b.join(" "),"data-testid":_constants.LIB_NAME+"-"+this.props.name,onClick:function(b){return a.dropDown("open",b)},onKeyDown:this.handleKeyDown,ref:this.select,tabIndex:this.props.disabled?"-1":"0"},this.props.additionalProps),/*#__PURE__*/_react.default.createElement(_Content.default,{props:this.props,state:this.state,methods:this.methods}),(this.props.name||this.props.required)&&/*#__PURE__*/_react.default.createElement("input",{className:_constants.LIB_NAME+"-input-zero","data-testid":_constants.LIB_NAME+"-"+this.props.name+"-input-zero",defaultValue:this.state.values.map(function(b){return b[a.props.labelField]}).toString()||[],disabled:this.props.disabled,name:this.props.name,pattern:this.props.pattern,required:this.props.required,tabIndex:-1}),this.props.loading&&/*#__PURE__*/_react.default.createElement(_Loading.default,{props:this.props}),this.props.clearable&&/*#__PURE__*/_react.default.createElement(_Clear.default,{props:this.props,state:this.state,methods:this.methods}),this.props.separator&&/*#__PURE__*/_react.default.createElement(_Separator.default,{props:this.props,state:this.state,methods:this.methods}),this.props.dropdownHandle&&/*#__PURE__*/_react.default.createElement(_DropdownHandle.default,{onClick:function(){return a.select.current.focus()},props:this.props,state:this.state,methods:this.methods}),this.state.dropdown&&!this.props.disabled&&this.renderDropdown()))},b}(_react.Component);Select.defaultProps={additionalProps:null,addPlaceholder:"",autoFocus:!1,backspaceDelete:!0,clearable:!1,clearAllLabel:"Clear all",clearOnBlur:!0,clearOnSelect:!0,closeOnClickInput:!1,closeOnScroll:!1,closeOnSelect:!1,compareValuesFunc:_util.isEqual,create:!1,createNewLabel:"add {search}",debounceDelay:0,defaultMenuIsOpen:!1,direction:"ltr",disabled:!1,disabledLabel:"disabled",dropdownGap:5,dropdownHandle:!0,dropdownHeight:"300px",dropdownPosition:"bottom",handleKeyDownFn:function(){},keepOpen:!1,keepSelectedInList:!0,labelField:"label",loading:!1,multi:!1,name:null,noDataLabel:"No data",onChange:function(){},onClearAll:function(){},onCreateNew:function(){},onDeselect:function(){},onDropdownClose:function(){},onDropdownCloseRequest:void 0,onDropdownOpen:function(){},onSelect:function(){},onSelectAll:function(){},options:[],pattern:void 0,placeholder:"Select...",required:!1,searchable:!0,searchBy:"label",searchFn:function(){},selectAll:!1,selectAllLabel:"Select all",separator:!1,sortBy:null,valueField:"value",values:[]};var _default=exports.default=Select;
package/lib/util.js CHANGED
@@ -1 +1 @@
1
- "use strict";exports.__esModule=!0,exports.valueExistInSelected=exports.isomorphicWindow=exports.isEqual=exports.hexToRGBA=exports.getProp=exports.getByPath=exports.debounce=void 0;var valueExistInSelected=exports.valueExistInSelected=function(a,b,c){return!!b.find(function(b){return getByPath(b,c.valueField)===a||getByPath(b,c.labelField)===a})},hexToRGBA=exports.hexToRGBA=function(a,b){4===a.length&&(a=""+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]+"}");var c=parseInt(a.slice(1,3),16),d=parseInt(a.slice(3,5),16),e=parseInt(a.slice(5,7),16);return"rgba("+c+", "+d+", "+e+(b&&", "+b)+")"},debounce=exports.debounce=function(a,b){void 0===b&&(b=0);var c;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];c&&clearTimeout(c),c=setTimeout(function(){a.apply(void 0,e),c=null},b)}},isEqual=exports.isEqual=function(c,a){return JSON.stringify(c)===JSON.stringify(a)},getByPath=exports.getByPath=function(a,b){return b?b.split(".").reduce(function(a,b){return a[b]},a):void 0},_getProp=exports.getProp=function(a,b,c){if(!b)return a;var d=Array.isArray(b)?b:b.split(".").filter(function(a){return a.length});return d.length?_getProp(a[d.shift()],d,c):void 0===a?c:a},isomorphicWindow=exports.isomorphicWindow=function(){return"undefined"==typeof window&&(global.window={}),window};
1
+ "use strict";exports.__esModule=!0,exports.valueExistInSelected=exports.isomorphicWindow=exports.isEqual=exports.getProp=exports.getOptionSlug=exports.getByPath=exports.debounce=void 0;var debounce=exports.debounce=function(a,b){void 0===b&&(b=0);var c;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];c&&clearTimeout(c),c=setTimeout(function(){a.apply(void 0,e),c=null},b)}},getByPath=exports.getByPath=function(a,b){return b?b.split(".").reduce(function(a,b){return a[b]},a):void 0},getOptionSlug=exports.getOptionSlug=function(a,b){var c=getByPath(a,b.valueField);return(c+"").replaceAll(/[^a-zA-Z0-9]/g,"-")},_getProp=exports.getProp=function(a,b,c){if(!b)return a;var d=Array.isArray(b)?b:b.split(".").filter(function(a){return a.length});return d.length?_getProp(a[d.shift()],d,c):void 0===a?c:a},isEqual=exports.isEqual=function(c,a){return JSON.stringify(c)===JSON.stringify(a)},isomorphicWindow=exports.isomorphicWindow=function(){return"undefined"==typeof window&&(global.window={}),window},valueExistInSelected=exports.valueExistInSelected=function(a,b,c){return!!b.find(function(b){return getByPath(b,c.valueField)===a||getByPath(b,c.labelField)===a})};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-clean-select",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Customizable single- and multi- select component for react with basic, easily-overrideable CSS",
5
5
  "main": "dist/react-clean-select.js",
6
6
  "module": "lib/index.js",
@@ -13,15 +13,17 @@
13
13
  "types.d.ts"
14
14
  ],
15
15
  "scripts": {
16
+ "build": "webpack && npm run transpile",
17
+ "coveralls": "jest --coverage && cat ./coverage/lcov.info | coveralls",
18
+ "lint": "standard",
19
+ "lint:fix": "standard --fix",
16
20
  "test": "jest",
17
21
  "test:watch": "jest --watch",
18
- "coveralls": "jest --coverage && cat ./coverage/lcov.info | coveralls",
19
- "build": "webpack && npm run transpile",
20
22
  "transpile": "babel src -d lib",
21
23
  "prepublishOnly": "npm run build",
22
24
  "preversion": "sh change-log-builder.sh",
23
25
  "storybook": "storybook dev -p 6006",
24
- "build-storybook": "storybook build"
26
+ "storybook-build": "storybook build"
25
27
  },
26
28
  "repository": {
27
29
  "type": "git",
@@ -52,16 +54,17 @@
52
54
  "react-dom": ">=16.x"
53
55
  },
54
56
  "devDependencies": {
55
- "@babel/cli": "^7.7.7",
56
- "@babel/core": "^7.7.7",
57
- "@babel/plugin-proposal-class-properties": "^7.7.4",
58
- "@babel/plugin-proposal-object-rest-spread": "^7.7.7",
59
- "@babel/plugin-syntax-dynamic-import": "^7.7.4",
60
- "@babel/preset-env": "^7.7.7",
61
- "@babel/preset-react": "^7.7.4",
57
+ "@babel/cli": "7",
58
+ "@babel/core": "7",
59
+ "@babel/eslint-parser": "7",
60
+ "@babel/plugin-proposal-class-properties": "7",
61
+ "@babel/plugin-proposal-object-rest-spread": "7",
62
+ "@babel/plugin-syntax-dynamic-import": "7",
63
+ "@babel/preset-env": "7",
64
+ "@babel/preset-react": "7",
62
65
  "@emotion/babel-plugin": "11.11.0",
63
66
  "@emotion/jest": "11.11.0",
64
- "@faker-js/faker": "^10.1.0",
67
+ "@faker-js/faker": "10",
65
68
  "@storybook/addon-docs": "7.1.1",
66
69
  "@storybook/addon-essentials": "7.1.1",
67
70
  "@storybook/addon-interactions": "7.1.1",
@@ -70,6 +73,10 @@
70
73
  "@storybook/react": "7.1.1",
71
74
  "@storybook/react-webpack5": "7.1.1",
72
75
  "@storybook/testing-library": "^0.2.0",
76
+ "@testing-library/dom": "10",
77
+ "@testing-library/jest-dom": "6",
78
+ "@testing-library/react": "12",
79
+ "@testing-library/user-event": "14",
73
80
  "babel-core": "^7.0.0-bridge.0",
74
81
  "babel-jest": "^25.3.0",
75
82
  "babel-loader": "^8.0.6",
@@ -88,32 +95,16 @@
88
95
  "prop-types": "^15.7.2",
89
96
  "react": "16.14.0",
90
97
  "react-dom": "^16.12.0",
91
- "react-test-renderer": "^16.12.0",
92
98
  "replace": "^1.2.0",
93
99
  "storybook": "7.1.1",
100
+ "standard": "17",
94
101
  "style-loader": "^3.3.1",
95
102
  "webpack": "5.88.1",
96
103
  "webpack-cli": "^5.0.1",
97
104
  "webpack-dev-server": "4.15.1"
98
105
  },
99
106
  "jest": {
100
- "snapshotSerializers": [
101
- "@emotion/jest/serializer"
102
- ],
103
- "transform": {
104
- "^.+\\.(js)$": "babel-jest"
105
- },
106
- "testMatch": [
107
- "**/?(*.)+(spec|test).js?(x)"
108
- ],
109
- "testEnvironmentOptions": {
110
- "url": "http://localhost/"
111
- },
112
107
  "collectCoverage": false,
113
- "bail": true,
114
- "roots": [
115
- "<rootDir>/__tests__"
116
- ],
117
108
  "collectCoverageFrom": [
118
109
  "src/**/*.{js,jsx}",
119
110
  "!src/**/ClickOutside.js",
@@ -121,7 +112,22 @@
121
112
  "!docs/**",
122
113
  "!dist/**",
123
114
  "!coverage/**"
124
- ]
115
+ ],
116
+ "moduleNameMapper": {
117
+ "^components(.*)$": "<rootDir>/src/components/$1"
118
+ },
119
+ "roots": [
120
+ "<rootDir>/__tests__"
121
+ ],
122
+ "testEnvironmentOptions": {
123
+ "url": "http://localhost/"
124
+ },
125
+ "testMatch": [
126
+ "**/?(*.)+(spec|test).js?(x)"
127
+ ],
128
+ "transform": {
129
+ "^.+\\.(js)$": "babel-jest"
130
+ }
125
131
  },
126
132
  "browserslist": [
127
133
  "last 2 versions",
@@ -130,7 +136,17 @@
130
136
  ],
131
137
  "husky": {
132
138
  "hooks": {
133
- "pre-commit": "npm test"
139
+ "pre-commit": "yarn lint && yarn test"
134
140
  }
141
+ },
142
+ "standard": {
143
+ "env": [
144
+ "jest",
145
+ "node"
146
+ ],
147
+ "parser": "@babel/eslint-parser",
148
+ "globals": [
149
+ "it"
150
+ ]
135
151
  }
136
152
  }