downshift 6.1.11 → 6.1.12
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/dist/downshift.cjs.js +4 -4
- package/dist/downshift.esm.js +4 -4
- package/dist/downshift.native.cjs.js +4 -4
- package/dist/downshift.umd.js +4 -4
- package/dist/downshift.umd.js.map +1 -1
- package/dist/downshift.umd.min.js +1 -1
- package/dist/downshift.umd.min.js.map +1 -1
- package/package.json +2 -1
- package/preact/dist/downshift.cjs.js +4 -4
- package/preact/dist/downshift.esm.js +4 -4
- package/preact/dist/downshift.umd.js +4 -4
- package/preact/dist/downshift.umd.js.map +1 -1
- package/preact/dist/downshift.umd.min.js +1 -1
- package/preact/dist/downshift.umd.min.js.map +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","preact","prop-types"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Downshift={},e.preact,e.PropTypes)}(this,(function(e,t,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=i(n),s={},r=60103,u=60106,l=60107,d=60108,a=60114,c=60109,h=60110,p=60112,g=60113,f=60120,m=60115,I=60116,y=60121,v=60122,x=60117,b=60129,w=60131;if("function"==typeof Symbol&&Symbol.for){var S=Symbol.for;r=S("react.element"),u=S("react.portal"),l=S("react.fragment"),d=S("react.strict_mode"),a=S("react.profiler"),c=S("react.provider"),h=S("react.context"),p=S("react.forward_ref"),g=S("react.suspense"),f=S("react.suspense_list"),m=S("react.memo"),I=S("react.lazy"),y=S("react.block"),v=S("react.server.block"),x=S("react.fundamental"),b=S("react.debug_trace_mode"),w=S("react.legacy_hidden")}function C(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case l:case a:case d:case g:case f:return e;default:switch(e=e&&e.$$typeof){case h:case p:case I:case m:case c:return e;default:return t}}case u:return t}}}var k=c,M=r,E=p,O=l,D=I,R=m,K=u,H=a,P=d,T=g;function V(e){return"object"==typeof e&&null!=e&&1===e.nodeType}function F(e,t){return(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e}function N(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return F(n.overflowY,t)||F(n.overflowX,t)||function(e){var t=function(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}}(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)}(e)}return!1}function A(e,t,n,i,o,s,r,u){return s<e&&r>t||s>e&&r<t?0:s<=e&&u<=n||r>=t&&u>=n?s-e-i:r>t&&u<n||s<e&&u>n?r-t+o:0}s.ContextConsumer=h,s.ContextProvider=k,s.Element=M,s.ForwardRef=E,s.Fragment=O,s.Lazy=D,s.Memo=R,s.Portal=K,s.Profiler=H,s.StrictMode=P,s.Suspense=T,s.isAsyncMode=function(){return!1},s.isConcurrentMode=function(){return!1},s.isContextConsumer=function(e){return C(e)===h},s.isContextProvider=function(e){return C(e)===c},s.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},s.isForwardRef=function(e){return C(e)===p},s.isFragment=function(e){return C(e)===l},s.isLazy=function(e){return C(e)===I},s.isMemo=function(e){return C(e)===m},s.isPortal=function(e){return C(e)===u},s.isProfiler=function(e){return C(e)===a},s.isStrictMode=function(e){return C(e)===d},s.isSuspense=function(e){return C(e)===g},s.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===l||e===a||e===b||e===d||e===g||e===f||e===w||"object"==typeof e&&null!==e&&(e.$$typeof===I||e.$$typeof===m||e.$$typeof===c||e.$$typeof===h||e.$$typeof===p||e.$$typeof===x||e.$$typeof===y||e[0]===v)},s.typeOf=C;let $=0;function B(e){return"function"==typeof e?e:L}function L(){}function _(e,t){if(!e)return;const n=function(e,t){var n=window,i=t.scrollMode,o=t.block,s=t.inline,r=t.boundary,u=t.skipOverflowHiddenElements,l="function"==typeof r?r:function(e){return e!==r};if(!V(e))throw new TypeError("Invalid target");for(var d=document.scrollingElement||document.documentElement,a=[],c=e;V(c)&&l(c);){if((c=c.parentElement)===d){a.push(c);break}null!=c&&c===document.body&&N(c)&&!N(document.documentElement)||null!=c&&N(c,u)&&a.push(c)}for(var h=n.visualViewport?n.visualViewport.width:innerWidth,p=n.visualViewport?n.visualViewport.height:innerHeight,g=window.scrollX||pageXOffset,f=window.scrollY||pageYOffset,m=e.getBoundingClientRect(),I=m.height,y=m.width,v=m.top,x=m.right,b=m.bottom,w=m.left,S="start"===o||"nearest"===o?v:"end"===o?b:v+I/2,C="center"===s?w+y/2:"end"===s?x:w,k=[],M=0;M<a.length;M++){var E=a[M],O=E.getBoundingClientRect(),D=O.height,R=O.width,K=O.top,H=O.right,P=O.bottom,T=O.left;if("if-needed"===i&&v>=0&&w>=0&&b<=p&&x<=h&&v>=K&&b<=P&&w>=T&&x<=H)return k;var F=getComputedStyle(E),$=parseInt(F.borderLeftWidth,10),B=parseInt(F.borderTopWidth,10),L=parseInt(F.borderRightWidth,10),_=parseInt(F.borderBottomWidth,10),j=0,U=0,W="offsetWidth"in E?E.offsetWidth-E.clientWidth-$-L:0,z="offsetHeight"in E?E.offsetHeight-E.clientHeight-B-_:0;if(d===E)j="start"===o?S:"end"===o?S-p:"nearest"===o?A(f,f+p,p,B,_,f+S,f+S+I,I):S-p/2,U="start"===s?C:"center"===s?C-h/2:"end"===s?C-h:A(g,g+h,h,$,L,g+C,g+C+y,y),j=Math.max(0,j+f),U=Math.max(0,U+g);else{j="start"===o?S-K-B:"end"===o?S-P+_+z:"nearest"===o?A(K,P,D,B,_+z,S,S+I,I):S-(K+D/2)+z/2,U="start"===s?C-T-$:"center"===s?C-(T+R/2)+W/2:"end"===s?C-H+L+W:A(T,H,R,$,L+W,C,C+y,y);var q=E.scrollLeft,X=E.scrollTop;S+=X-(j=Math.max(0,Math.min(X+j,E.scrollHeight-D+z))),C+=q-(U=Math.max(0,Math.min(q+U,E.scrollWidth-R+W)))}k.push({el:E,top:j,left:U})}return k}(e,{boundary:t,block:"nearest",scrollMode:"if-needed"});n.forEach((e=>{let{el:t,top:n,left:i}=e;t.scrollTop=n,t.scrollLeft=i}))}function j(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function U(e,t){let n;function i(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,s=new Array(o),r=0;r<o;r++)s[r]=arguments[r];i(),n=setTimeout((()=>{n=null,e(...s)}),t)}return o.cancel=i,o}function W(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return t.some((t=>(t&&t(e,...i),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault)))}}function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{t.forEach((t=>{"function"==typeof t?t(e):t&&(t.current=e)}))}}function q(){return String($++)}function X(e){let{isOpen:t,resultCount:n,previousResultCount:i}=e;return t?n?n!==i?`${n} result${1===n?" is":"s are"} available, use up and down arrow keys to navigate. Press Enter key to select.`:"":"No results are available.":""}function Y(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}const G=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function J(e){void 0===e&&(e={});const t={};return G.forEach((n=>{e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function Q(e,t){return Object.keys(e).reduce(((n,i)=>(n[i]=Z(t,i)?t[i]:e[i],n)),{})}function Z(e,t){return void 0!==e[t]}function ee(e){const{key:t,keyCode:n}=e;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?`Arrow${t}`:t}function te(e,t,n,i,o){if(void 0===o&&(o=!0),0===n)return-1;const s=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:s+1);let r=t+e;r<0?r=o?s:0:r>s&&(r=o?0:s);const u=ne(e,r,n,i,o);return-1===u?t>=n?-1:t:u}function ne(e,t,n,i,o){const s=i(t);if(!s||!s.hasAttribute("disabled"))return t;if(e>0){for(let e=t+1;e<n;e++)if(!i(e).hasAttribute("disabled"))return e}else for(let e=t-1;e>=0;e--)if(!i(e).hasAttribute("disabled"))return e;return o?e>0?ne(1,0,n,i,!1):ne(-1,n-1,n,i,!1):-1}function ie(e,t,n,i){return void 0===i&&(i=!0),t.some((t=>t&&(j(t,e,n)||i&&j(t,n.document.activeElement,n))))}const oe=U((e=>{re(e).textContent=""}),500);function se(e,t){const n=re(t);e&&(n.textContent=e,oe(t))}function re(e){void 0===e&&(e=document);let t=e.getElementById("a11y-status-message");return t||(t=e.createElement("div"),t.setAttribute("id","a11y-status-message"),t.setAttribute("role","status"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-relevant","additions text"),Object.assign(t.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),e.body.appendChild(t),t)}var ue=Object.freeze({__proto__:null,unknown:0,mouseUp:1,itemMouseEnter:2,keyDownArrowUp:3,keyDownArrowDown:4,keyDownEscape:5,keyDownEnter:6,keyDownHome:7,keyDownEnd:8,clickItem:9,blurInput:10,changeInput:11,keyDownSpaceButton:12,clickButton:13,blurButton:14,controlledPropUpdatedSelectedItem:15,touchEnd:16});const le=(()=>{class e extends t.Component{constructor(e){var t;super(e),t=this,this.id=this.props.id||`downshift-${q()}`,this.menuId=this.props.menuId||`${this.id}-menu`,this.labelId=this.props.labelId||`${this.id}-label`,this.inputId=this.props.inputId||`${this.id}-input`,this.getItemId=this.props.getItemId||(e=>`${this.id}-item-${e}`),this.input=null,this.items=[],this.itemCount=null,this.previousResultCount=0,this.timeoutIds=[],this.internalSetTimeout=(e,t)=>{const n=setTimeout((()=>{this.timeoutIds=this.timeoutIds.filter((e=>e!==n)),e()}),t);this.timeoutIds.push(n)},this.setItemCount=e=>{this.itemCount=e},this.unsetItemCount=()=>{this.itemCount=null},this.setHighlightedIndex=function(e,n){void 0===e&&(e=t.props.defaultHighlightedIndex),void 0===n&&(n={}),n=J(n),t.internalSetState({highlightedIndex:e,...n})},this.clearSelection=e=>{this.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:this.props.defaultHighlightedIndex,isOpen:this.props.defaultIsOpen},e)},this.selectItem=(e,t,n)=>{t=J(t),this.internalSetState({isOpen:this.props.defaultIsOpen,highlightedIndex:this.props.defaultHighlightedIndex,selectedItem:e,inputValue:this.props.itemToString(e),...t},n)},this.selectItemAtIndex=(e,t,n)=>{const i=this.items[e];null!=i&&this.selectItem(i,t,n)},this.selectHighlightedItem=(e,t)=>this.selectItemAtIndex(this.getState().highlightedIndex,e,t),this.internalSetState=(e,t)=>{let n,i;const o={},s="function"==typeof e;return!s&&e.hasOwnProperty("inputValue")&&this.props.onInputValueChange(e.inputValue,{...this.getStateAndHelpers(),...e}),this.setState((t=>{t=this.getState(t);let r=s?e(t):e;r=this.props.stateReducer(t,r),n=r.hasOwnProperty("selectedItem");const u={};return n&&r.selectedItem!==t.selectedItem&&(i=r.selectedItem),r.type=r.type||0,Object.keys(r).forEach((e=>{t[e]!==r[e]&&(o[e]=r[e]),"type"!==e&&(r[e],Z(this.props,e)||(u[e]=r[e]))})),s&&r.hasOwnProperty("inputValue")&&this.props.onInputValueChange(r.inputValue,{...this.getStateAndHelpers(),...r}),u}),(()=>{B(t)();Object.keys(o).length>1&&this.props.onStateChange(o,this.getStateAndHelpers()),n&&this.props.onSelect(e.selectedItem,this.getStateAndHelpers()),void 0!==i&&this.props.onChange(i,this.getStateAndHelpers()),this.props.onUserAction(o,this.getStateAndHelpers())}))},this.rootRef=e=>this._rootNode=e,this.getRootProps=function(e,n){let{refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===n?{}:n;t.getRootProps.called=!0,t.getRootProps.refKey=i,t.getRootProps.suppressRefError=r;const{isOpen:u}=t.getState();return{[i]:z(o,t.rootRef),role:"combobox","aria-expanded":u,"aria-haspopup":"listbox","aria-owns":u?t.menuId:null,"aria-labelledby":t.labelId,...s}},this.keyDownHandlers={ArrowDown(e){if(e.preventDefault(),this.getState().isOpen){const t=e.shiftKey?5:1;this.moveHighlightedIndex(t,{type:4})}else this.internalSetState({isOpen:!0,type:4},(()=>{const e=this.getItemCount();if(e>0){const{highlightedIndex:t}=this.getState(),n=te(1,t,e,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(n,{type:4})}}))},ArrowUp(e){if(e.preventDefault(),this.getState().isOpen){const t=e.shiftKey?-5:-1;this.moveHighlightedIndex(t,{type:3})}else this.internalSetState({isOpen:!0,type:3},(()=>{const e=this.getItemCount();if(e>0){const{highlightedIndex:t}=this.getState(),n=te(-1,t,e,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(n,{type:3})}}))},Enter(e){if(229===e.which)return;const{isOpen:t,highlightedIndex:n}=this.getState();if(t&&null!=n){e.preventDefault();const t=this.items[n],i=this.getItemNodeFromIndex(n);if(null==t||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}},Escape(e){e.preventDefault(),this.reset({type:5,...!this.state.isOpen&&{selectedItem:null,inputValue:""}})}},this.buttonKeyDownHandlers={...this.keyDownHandlers," "(e){e.preventDefault(),this.toggleMenu({type:12})}},this.inputKeyDownHandlers={...this.keyDownHandlers,Home(e){const{isOpen:t}=this.getState();if(!t)return;e.preventDefault();const n=this.getItemCount();if(n<=0||!t)return;const i=ne(1,0,n,(e=>this.getItemNodeFromIndex(e)),!1);this.setHighlightedIndex(i,{type:7})},End(e){const{isOpen:t}=this.getState();if(!t)return;e.preventDefault();const n=this.getItemCount();if(n<=0||!t)return;const i=ne(-1,n-1,n,(e=>this.getItemNodeFromIndex(e)),!1);this.setHighlightedIndex(i,{type:8})}},this.getToggleButtonProps=function(e){let{onClick:n,onPress:i,onKeyDown:o,onKeyUp:s,onBlur:r,...u}=void 0===e?{}:e;const{isOpen:l}=t.getState(),d={onClick:W(n,t.buttonHandleClick),onKeyDown:W(o,t.buttonHandleKeyDown),onKeyUp:W(s,t.buttonHandleKeyUp),onBlur:W(r,t.buttonHandleBlur)};return{type:"button",role:"button","aria-label":l?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0,...u.disabled?{}:d,...u}},this.buttonHandleKeyUp=e=>{e.preventDefault()},this.buttonHandleKeyDown=e=>{const t=ee(e);this.buttonKeyDownHandlers[t]&&this.buttonKeyDownHandlers[t].call(this,e)},this.buttonHandleClick=e=>{e.preventDefault(),this.props.environment.document.activeElement===this.props.environment.document.body&&e.target.focus(),this.internalSetTimeout((()=>this.toggleMenu({type:13})))},this.buttonHandleBlur=e=>{const t=e.target;this.internalSetTimeout((()=>{this.isMouseDown||null!=this.props.environment.document.activeElement&&this.props.environment.document.activeElement.id===this.inputId||this.props.environment.document.activeElement===t||this.reset({type:14})}))},this.getLabelProps=e=>({htmlFor:this.inputId,id:this.labelId,...e}),this.getInputProps=function(e){let n,{onKeyDown:i,onBlur:o,onChange:s,onInput:r,onChangeText:u,...l}=void 0===e?{}:e,d={};n="onInput";const{inputValue:a,isOpen:c,highlightedIndex:h}=t.getState();return l.disabled||(d={onInput:W(s,r,t.inputHandleChange),onKeyDown:W(i,t.inputHandleKeyDown),onBlur:W(o,t.inputHandleBlur)}),{"aria-autocomplete":"list","aria-activedescendant":c&&"number"==typeof h&&h>=0?t.getItemId(h):null,"aria-controls":c?t.menuId:null,"aria-labelledby":t.labelId,autoComplete:"off",value:a,id:t.inputId,...d,...l}},this.inputHandleKeyDown=e=>{const t=ee(e);t&&this.inputKeyDownHandlers[t]&&this.inputKeyDownHandlers[t].call(this,e)},this.inputHandleChange=e=>{this.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:this.props.defaultHighlightedIndex})},this.inputHandleBlur=()=>{this.internalSetTimeout((()=>{const e=this.props.environment.document&&!!this.props.environment.document.activeElement&&!!this.props.environment.document.activeElement.dataset&&this.props.environment.document.activeElement.dataset.toggle&&this._rootNode&&this._rootNode.contains(this.props.environment.document.activeElement);this.isMouseDown||e||this.reset({type:10})}))},this.menuRef=e=>{this._menuNode=e},this.getMenuProps=function(e,n){let{refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===n?{}:n;return t.getMenuProps.called=!0,t.getMenuProps.refKey=i,t.getMenuProps.suppressRefError=r,{[i]:z(o,t.menuRef),role:"listbox","aria-labelledby":s&&s["aria-label"]?null:t.labelId,id:t.menuId,...s}},this.getItemProps=function(e){let{onMouseMove:n,onMouseDown:i,onClick:o,onPress:s,index:r,item:u,...l}=void 0===e?{}:e;void 0===r?(t.items.push(u),r=t.items.indexOf(u)):t.items[r]=u;const d=o,a={onMouseMove:W(n,(()=>{r!==t.getState().highlightedIndex&&(t.setHighlightedIndex(r,{type:2}),t.avoidScrolling=!0,t.internalSetTimeout((()=>t.avoidScrolling=!1),250))})),onMouseDown:W(i,(e=>{e.preventDefault()})),onClick:W(d,(()=>{t.selectItemAtIndex(r,{type:9})}))},c=l.disabled?{onMouseDown:a.onMouseDown}:a;return{id:t.getItemId(r),role:"option","aria-selected":t.getState().highlightedIndex===r,...c,...l}},this.clearItems=()=>{this.items=[]},this.reset=function(e,n){void 0===e&&(e={}),e=J(e),t.internalSetState((n=>{let{selectedItem:i}=n;return{isOpen:t.props.defaultIsOpen,highlightedIndex:t.props.defaultHighlightedIndex,inputValue:t.props.itemToString(i),...e}}),n)},this.toggleMenu=function(e,n){void 0===e&&(e={}),e=J(e),t.internalSetState((n=>{let{isOpen:i}=n;return{isOpen:!i,...i&&{highlightedIndex:t.props.defaultHighlightedIndex},...e}}),(()=>{const{isOpen:i,highlightedIndex:o}=t.getState();i&&t.getItemCount()>0&&"number"==typeof o&&t.setHighlightedIndex(o,e),B(n)()}))},this.openMenu=e=>{this.internalSetState({isOpen:!0},e)},this.closeMenu=e=>{this.internalSetState({isOpen:!1},e)},this.updateStatus=U((()=>{const e=this.getState(),t=this.items[e.highlightedIndex],n=this.getItemCount(),i=this.props.getA11yStatusMessage({itemToString:this.props.itemToString,previousResultCount:this.previousResultCount,resultCount:n,highlightedItem:t,...e});this.previousResultCount=n,se(i,this.props.environment.document)}),200);const{defaultHighlightedIndex:n,initialHighlightedIndex:i=n,defaultIsOpen:o,initialIsOpen:s=o,initialInputValue:r="",initialSelectedItem:u=null}=this.props,l=this.getState({highlightedIndex:i,isOpen:s,inputValue:r,selectedItem:u});null!=l.selectedItem&&void 0===this.props.initialInputValue&&(l.inputValue=this.props.itemToString(l.selectedItem)),this.state=l}internalClearTimeouts(){this.timeoutIds.forEach((e=>{clearTimeout(e)})),this.timeoutIds=[]}getState(e){return void 0===e&&(e=this.state),Q(e,this.props)}getItemCount(){let e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e}getItemNodeFromIndex(e){return this.props.environment.document.getElementById(this.getItemId(e))}scrollHighlightedItemIntoView(){{const e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)}}moveHighlightedIndex(e,t){const n=this.getItemCount(),{highlightedIndex:i}=this.getState();if(n>0){const o=te(e,i,n,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(o,t)}}getStateAndHelpers(){const{highlightedIndex:e,inputValue:t,selectedItem:n,isOpen:i}=this.getState(),{itemToString:o}=this.props,{id:s}=this,{getRootProps:r,getToggleButtonProps:u,getLabelProps:l,getMenuProps:d,getInputProps:a,getItemProps:c,openMenu:h,closeMenu:p,toggleMenu:g,selectItem:f,selectItemAtIndex:m,selectHighlightedItem:I,setHighlightedIndex:y,clearSelection:v,clearItems:x,reset:b,setItemCount:w,unsetItemCount:S,internalSetState:C}=this;return{getRootProps:r,getToggleButtonProps:u,getLabelProps:l,getMenuProps:d,getInputProps:a,getItemProps:c,reset:b,openMenu:h,closeMenu:p,toggleMenu:g,selectItem:f,selectItemAtIndex:m,selectHighlightedItem:I,setHighlightedIndex:y,clearSelection:v,clearItems:x,setItemCount:w,unsetItemCount:S,setState:C,itemToString:o,id:s,highlightedIndex:e,inputValue:t,isOpen:i,selectedItem:n}}componentDidMount(){{const e=()=>{this.isMouseDown=!0},t=e=>{this.isMouseDown=!1;!ie(e.target,[this._rootNode,this._menuNode],this.props.environment)&&this.getState().isOpen&&this.reset({type:1},(()=>this.props.onOuterClick(this.getStateAndHelpers())))},n=()=>{this.isTouchMove=!1},i=()=>{this.isTouchMove=!0},o=e=>{const t=ie(e.target,[this._rootNode,this._menuNode],this.props.environment,!1);this.isTouchMove||t||!this.getState().isOpen||this.reset({type:16},(()=>this.props.onOuterClick(this.getStateAndHelpers())))},{environment:s}=this.props;s.addEventListener("mousedown",e),s.addEventListener("mouseup",t),s.addEventListener("touchstart",n),s.addEventListener("touchmove",i),s.addEventListener("touchend",o),this.cleanup=()=>{this.internalClearTimeouts(),this.updateStatus.cancel(),s.removeEventListener("mousedown",e),s.removeEventListener("mouseup",t),s.removeEventListener("touchstart",n),s.removeEventListener("touchmove",i),s.removeEventListener("touchend",o)}}}shouldScroll(e,t){const{highlightedIndex:n}=void 0===this.props.highlightedIndex?this.getState():this.props,{highlightedIndex:i}=void 0===t.highlightedIndex?e:t;return n&&this.getState().isOpen&&!e.isOpen||n!==i}componentDidUpdate(e,t){Z(this.props,"selectedItem")&&this.props.selectedItemChanged(e.selectedItem,this.props.selectedItem)&&this.internalSetState({type:15,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(t,e)&&this.scrollHighlightedItemIntoView(),this.updateStatus()}componentWillUnmount(){this.cleanup()}render(){const e=Y(this.props.children,L);this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1;const n=Y(e(this.getStateAndHelpers()));return n?this.getRootProps.called||this.props.suppressRefError?n:function(e){return"string"==typeof e.type||"string"==typeof e.nodeName}(n)?t.cloneElement(n,this.getRootProps(function(e){return e.props||e.attributes}(n))):void 0:null}}return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:X,itemToString:e=>null==e?"":String(e),onStateChange:L,onInputValueChange:L,onUserAction:L,onChange:L,onSelect:L,onOuterClick:L,selectedItemChanged:(e,t)=>e!==t,environment:"undefined"==typeof window?{}:window,stateReducer:(e,t)=>t,suppressRefError:!1,scrollIntoView:_},e.stateChangeTypes=ue,e})();var de=le;const ae={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function ce(e,t,n){const{props:i,type:o}=e,s={};Object.keys(t).forEach((i=>{!function(e,t,n,i){const{props:o,type:s}=t,r=`on${Ie(e)}Change`;o[r]&&void 0!==i[e]&&i[e]!==n[e]&&o[r]({type:s,...i})}(i,e,t,n),n[i]!==t[i]&&(s[i]=n[i])})),i.onStateChange&&Object.keys(s).length&&i.onStateChange({type:o,...s})}const he=U(((e,t)=>{se(e(),t)}),200),pe="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect;function ge(e){let{id:n=`downshift-${q()}`,labelId:i,menuId:o,getItemId:s,toggleButtonId:r,inputId:u}=e;return t.useRef({labelId:i||`${n}-label`,menuId:o||`${n}-menu`,getItemId:s||(e=>`${n}-item-${e}`),toggleButtonId:r||`${n}-toggle-button`,inputId:u||`${n}-input`}).current}function fe(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function me(e){return/^\S{1}$/.test(e)}function Ie(e){return`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}function ye(e){const n=t.useRef(e);return n.current=e,n}function ve(e,n,i){const o=t.useRef(),s=t.useRef(),r=t.useCallback(((t,n)=>{s.current=n,t=Q(t,n.props);const i=e(t,n);return n.props.stateReducer(t,{...n,changes:i})}),[e]),[u,l]=t.useReducer(r,n),d=ye(i),a=t.useCallback((e=>l({props:d.current,...e})),[d]),c=s.current;return t.useEffect((()=>{c&&o.current&&o.current!==u&&ce(c,Q(o.current,c.props),u),o.current=u}),[u,i,c]),[u,a]}function xe(e,t,n){const[i,o]=ve(e,t,n);return[Q(i,n),o]}const be={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11ySelectionMessage:function(e){const{selectedItem:t,itemToString:n}=e;return t?`${n(t)} has been selected.`:""},scrollIntoView:_,circularNavigation:!1,environment:"undefined"==typeof window?{}:window};function we(e,t,n){void 0===n&&(n=ae);const i=e[`default${Ie(t)}`];return void 0!==i?i:n[t]}function Se(e,t,n){void 0===n&&(n=ae);const i=e[t];if(void 0!==i)return i;const o=e[`initial${Ie(t)}`];return void 0!==o?o:we(e,t,n)}function Ce(e){const t=Se(e,"selectedItem"),n=Se(e,"isOpen"),i=Se(e,"highlightedIndex"),o=Se(e,"inputValue");return{highlightedIndex:i<0&&t&&n?e.items.indexOf(t):i,isOpen:n,selectedItem:t,inputValue:o}}function ke(e,t,n,i){const{items:o,initialHighlightedIndex:s,defaultHighlightedIndex:r}=e,{selectedItem:u,highlightedIndex:l}=t;return 0===o.length?-1:void 0!==s&&l===s?s:void 0!==r?r:u?0===n?o.indexOf(u):te(n,o.indexOf(u),o.length,i,!1):0===n?-1:n<0?o.length-1:0}function Me(e,n,i,o){const s=t.useRef({isMouseDown:!1,isTouchMove:!1});return t.useEffect((()=>{const t=()=>{s.current.isMouseDown=!0},r=t=>{s.current.isMouseDown=!1,e&&!ie(t.target,n.map((e=>e.current)),i)&&o()},u=()=>{s.current.isTouchMove=!1},l=()=>{s.current.isTouchMove=!0},d=t=>{!e||s.current.isTouchMove||ie(t.target,n.map((e=>e.current)),i,!1)||o()};return i.addEventListener("mousedown",t),i.addEventListener("mouseup",r),i.addEventListener("touchstart",u),i.addEventListener("touchmove",l),i.addEventListener("touchend",d),function(){i.removeEventListener("mousedown",t),i.removeEventListener("mouseup",r),i.removeEventListener("touchstart",u),i.removeEventListener("touchmove",l),i.removeEventListener("touchend",d)}}),[e,i]),s}let Ee=()=>L;function Oe(e,n,i){let{isInitialMount:o,highlightedIndex:s,items:r,environment:u,...l}=i;t.useEffect((()=>{o||he((()=>e({highlightedIndex:s,highlightedItem:r[s],resultCount:r.length,...l})),u.document)}),n)}function De(e){let{highlightedIndex:n,isOpen:i,itemRefs:o,getItemNodeFromIndex:s,menuElement:r,scrollIntoView:u}=e;const l=t.useRef(!0);return pe((()=>{n<0||!i||!Object.keys(o.current).length||(!1===l.current?l.current=!0:u(s(n),r))}),[n]),l}let Re=L;function Ke(e,t,n){const{type:i,props:o}=t;let s;switch(i){case n.ItemMouseMove:s={highlightedIndex:t.disabled?-1:t.index};break;case n.MenuMouseLeave:s={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:s={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:ke(o,e,0)};break;case n.FunctionOpenMenu:s={isOpen:!0,highlightedIndex:ke(o,e,0)};break;case n.FunctionCloseMenu:s={isOpen:!1};break;case n.FunctionSetHighlightedIndex:s={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:s={inputValue:t.inputValue};break;case n.FunctionReset:s={highlightedIndex:we(o,"highlightedIndex"),isOpen:we(o,"isOpen"),selectedItem:we(o,"selectedItem"),inputValue:we(o,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return{...e,...s}}var He=function(){return He=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},He.apply(this,arguments)};function Pe(e){for(var t=e.keysSoFar,n=e.highlightedIndex,i=e.items,o=e.itemToString,s=e.getItemNodeFromIndex,r=t.toLowerCase(),u=0;u<i.length;u++){var l=(u+n+1)%i.length,d=i[l];if(void 0!==d&&o(d).toLowerCase().startsWith(r)){var a=s(l);if(!(null==a?void 0:a.hasAttribute("disabled")))return l}}return n}o.default.array.isRequired,o.default.func,o.default.func,o.default.func,o.default.bool,o.default.number,o.default.number,o.default.number,o.default.bool,o.default.bool,o.default.bool,o.default.any,o.default.any,o.default.any,o.default.string,o.default.string,o.default.string,o.default.func,o.default.string,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});var Te=He(He({},be),{getA11yStatusMessage:function(e){var t=e.isOpen,n=e.resultCount,i=e.previousResultCount;return t?n?n!==i?"".concat(n," result").concat(1===n?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}}),Ve=L;var Fe=Object.freeze({__proto__:null,MenuKeyDownArrowDown:0,MenuKeyDownArrowUp:1,MenuKeyDownEscape:2,MenuKeyDownHome:3,MenuKeyDownEnd:4,MenuKeyDownEnter:5,MenuKeyDownSpaceButton:6,MenuKeyDownCharacter:7,MenuBlur:8,MenuMouseLeave:9,ItemMouseMove:10,ItemClick:11,ToggleButtonClick:12,ToggleButtonKeyDownArrowDown:13,ToggleButtonKeyDownArrowUp:14,ToggleButtonKeyDownCharacter:15,FunctionToggleMenu:16,FunctionOpenMenu:17,FunctionCloseMenu:18,FunctionSetHighlightedIndex:19,FunctionSelectItem:20,FunctionSetInputValue:21,FunctionReset:22});function Ne(e,t){const{type:n,props:i,shiftKey:o}=t;let s;switch(n){case 11:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),selectedItem:i.items[t.index]};break;case 15:{const n=t.key,o=`${e.inputValue}${n}`,r=Pe({keysSoFar:o,highlightedIndex:e.selectedItem?i.items.indexOf(e.selectedItem):-1,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});s={inputValue:o,...r>=0&&{selectedItem:i.items[r]}}}break;case 13:s={highlightedIndex:ke(i,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case 14:s={highlightedIndex:ke(i,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case 5:case 6:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),...e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]}};break;case 3:s={highlightedIndex:ne(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:s={highlightedIndex:ne(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 2:case 8:s={isOpen:!1,highlightedIndex:-1};break;case 7:{const n=t.key,o=`${e.inputValue}${n}`,r=Pe({keysSoFar:o,highlightedIndex:e.highlightedIndex,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});s={inputValue:o,...r>=0&&{highlightedIndex:r}}}break;case 0:s={highlightedIndex:te(o?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 1:s={highlightedIndex:te(o?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 20:s={selectedItem:t.selectedItem};break;default:return Ke(e,t,Fe)}return{...e,...s}}function Ae(e){void 0===e&&(e={}),Ve();const n={...Te,...e},{items:i,scrollIntoView:o,environment:s,initialIsOpen:r,defaultIsOpen:u,itemToString:l,getA11ySelectionMessage:d,getA11yStatusMessage:a}=n,c=Ce(n),[h,p]=xe(Ne,c,n),{isOpen:g,highlightedIndex:f,selectedItem:m,inputValue:I}=h,y=t.useRef(null),v=t.useRef(null),x=t.useRef({}),b=t.useRef(!0),w=t.useRef(null),S=ge(n),C=t.useRef(),k=t.useRef(!0),M=ye({state:h,props:n}),E=t.useCallback((e=>x.current[S.getItemId(e)]),[S]);Oe(a,[g,f,I,i],{isInitialMount:k.current,previousResultCount:C.current,items:i,environment:s,itemToString:l,...h}),Oe(d,[m],{isInitialMount:k.current,previousResultCount:C.current,items:i,environment:s,itemToString:l,...h});const O=De({menuElement:v.current,highlightedIndex:f,isOpen:g,itemRefs:x,scrollIntoView:o,getItemNodeFromIndex:E});t.useEffect((()=>(w.current=U((e=>{e({type:21,inputValue:""})}),500),()=>{w.current.cancel()})),[]),t.useEffect((()=>{I&&w.current(p)}),[p,I]),Re({isInitialMount:k.current,props:n,state:h}),t.useEffect((()=>{k.current?(r||u||g)&&v.current&&v.current.focus():g?v.current&&v.current.focus():s.document.activeElement===v.current&&y.current&&(b.current=!1,y.current.focus())}),[g]),t.useEffect((()=>{k.current||(C.current=i.length)}));const D=Me(g,[v,y],s,(()=>{p({type:8})})),R=Ee();t.useEffect((()=>{k.current=!1}),[]),t.useEffect((()=>{g||(x.current={})}),[g]);const K=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:13,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:14,getItemNodeFromIndex:E,shiftKey:e.shiftKey})}})),[p,E]),H=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:0,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:1,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},Home(e){e.preventDefault(),p({type:3,getItemNodeFromIndex:E})},End(e){e.preventDefault(),p({type:4,getItemNodeFromIndex:E})},Escape(){p({type:2})},Enter(e){e.preventDefault(),p({type:5})}," "(e){e.preventDefault(),p({type:6})}})),[p,E]),P=t.useCallback((()=>{p({type:16})}),[p]),T=t.useCallback((()=>{p({type:18})}),[p]),V=t.useCallback((()=>{p({type:17})}),[p]),F=t.useCallback((e=>{p({type:19,highlightedIndex:e})}),[p]),N=t.useCallback((e=>{p({type:20,selectedItem:e})}),[p]),A=t.useCallback((()=>{p({type:22})}),[p]),$=t.useCallback((e=>{p({type:21,inputValue:e})}),[p]),B=t.useCallback((e=>({id:S.labelId,htmlFor:S.toggleButtonId,...e})),[S]),L=t.useCallback((function(e,t){let{onMouseLeave:n,refKey:i="ref",onKeyDown:o,onBlur:s,ref:r,...u}=void 0===e?{}:e,{suppressRefError:l=!1}=void 0===t?{}:t;const d=M.current.state;return R("getMenuProps",l,i,v),{[i]:z(r,(e=>{v.current=e})),id:S.menuId,role:"listbox","aria-labelledby":S.labelId,tabIndex:-1,...d.isOpen&&d.highlightedIndex>-1&&{"aria-activedescendant":S.getItemId(d.highlightedIndex)},onMouseLeave:W(n,(()=>{p({type:9})})),onKeyDown:W(o,(e=>{const t=ee(e);t&&H[t]?H[t](e):me(t)&&p({type:7,key:t,getItemNodeFromIndex:E})})),onBlur:W(s,(()=>{if(!1===b.current)return void(b.current=!0);!D.current.isMouseDown&&p({type:8})})),...u}}),[p,M,H,D,R,S,E]);return{getToggleButtonProps:t.useCallback((function(e,t){let{onClick:n,onKeyDown:i,refKey:o="ref",ref:s,...r}=void 0===e?{}:e,{suppressRefError:u=!1}=void 0===t?{}:t;const l=()=>{p({type:12})},d=e=>{const t=ee(e);t&&K[t]?K[t](e):me(t)&&p({type:15,key:t,getItemNodeFromIndex:E})},a={[o]:z(s,(e=>{y.current=e})),id:S.toggleButtonId,"aria-haspopup":"listbox","aria-expanded":M.current.state.isOpen,"aria-labelledby":`${S.labelId} ${S.toggleButtonId}`,...r};return r.disabled||(a.onClick=W(n,l),a.onKeyDown=W(i,d)),R("getToggleButtonProps",u,o,y),a}),[p,M,K,R,S,E]),getLabelProps:B,getMenuProps:L,getItemProps:t.useCallback((function(e){let{item:t,index:n,onMouseMove:i,onClick:o,refKey:s="ref",ref:r,disabled:u,...l}=void 0===e?{}:e;const{state:d,props:a}=M.current,c=()=>{p({type:11,index:n})},h=fe(n,t,a.items);if(h<0)throw new Error("Pass either item or item index in getItemProps!");const g={disabled:u,role:"option","aria-selected":`${h===d.highlightedIndex}`,id:S.getItemId(h),[s]:z(r,(e=>{e&&(x.current[S.getItemId(h)]=e)})),...l};return u||(g.onClick=W(o,c)),g.onMouseMove=W(i,(()=>{n!==d.highlightedIndex&&(O.current=!1,p({type:10,index:n,disabled:u}))})),g}),[p,M,O,S]),toggleMenu:P,openMenu:V,closeMenu:T,setHighlightedIndex:F,selectItem:N,reset:A,setInputValue:$,highlightedIndex:f,isOpen:g,selectedItem:m,inputValue:I}}Ae.stateChangeTypes=Fe;var $e=Object.freeze({__proto__:null,InputKeyDownArrowDown:0,InputKeyDownArrowUp:1,InputKeyDownEscape:2,InputKeyDownHome:3,InputKeyDownEnd:4,InputKeyDownEnter:5,InputChange:6,InputBlur:7,MenuMouseLeave:8,ItemMouseMove:9,ItemClick:10,ToggleButtonClick:11,FunctionToggleMenu:12,FunctionOpenMenu:13,FunctionCloseMenu:14,FunctionSetHighlightedIndex:15,FunctionSelectItem:16,FunctionSetInputValue:17,FunctionReset:18,ControlledPropUpdatedSelectedItem:19});o.default.array.isRequired,o.default.func,o.default.func,o.default.func,o.default.bool,o.default.number,o.default.number,o.default.number,o.default.bool,o.default.bool,o.default.bool,o.default.any,o.default.any,o.default.any,o.default.string,o.default.string,o.default.string,o.default.string,o.default.string,o.default.string,o.default.func,o.default.string,o.default.string,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});let Be=L;const Le={...be,getA11yStatusMessage:X,circularNavigation:!0};function _e(e,t){const{type:n,props:i,shiftKey:o}=t;let s;switch(n){case 10:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),selectedItem:i.items[t.index],inputValue:i.itemToString(i.items[t.index])};break;case 0:s=e.isOpen?{highlightedIndex:te(o?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ke(i,e,1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 1:s=e.isOpen?{highlightedIndex:te(o?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ke(i,e,-1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 5:s={...e.isOpen&&e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex],isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),inputValue:i.itemToString(i.items[e.highlightedIndex])}};break;case 2:s={isOpen:!1,highlightedIndex:-1,...!e.isOpen&&{selectedItem:null,inputValue:""}};break;case 3:s={highlightedIndex:ne(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:s={highlightedIndex:ne(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 7:s={isOpen:!1,highlightedIndex:-1,...e.highlightedIndex>=0&&t.selectItem&&{selectedItem:i.items[e.highlightedIndex],inputValue:i.itemToString(i.items[e.highlightedIndex])}};break;case 6:s={isOpen:!0,highlightedIndex:we(i,"highlightedIndex"),inputValue:t.inputValue};break;case 16:s={selectedItem:t.selectedItem,inputValue:i.itemToString(t.selectedItem)};break;case 19:s={inputValue:t.inputValue};break;default:return Ke(e,t,$e)}return{...e,...s}}function je(e){void 0===e&&(e={}),Be();const n={...Le,...e},{initialIsOpen:i,defaultIsOpen:o,items:s,scrollIntoView:r,environment:u,getA11yStatusMessage:l,getA11ySelectionMessage:d,itemToString:a}=n,c=function(e){const t=Ce(e),{selectedItem:n}=t;let{inputValue:i}=t;return""===i&&n&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(i=e.itemToString(n)),{...t,inputValue:i}}(n),[h,p]=function(e,n,i){const o=t.useRef(),[s,r]=ve(e,n,i);return t.useEffect((()=>{Z(i,"selectedItem")&&(o.current!==i.selectedItem&&r({type:19,inputValue:i.itemToString(i.selectedItem)}),o.current=s.selectedItem===o.current?i.selectedItem:s.selectedItem)})),[Q(s,i),r]}(_e,c,n),{isOpen:g,highlightedIndex:f,selectedItem:m,inputValue:I}=h,y=t.useRef(null),v=t.useRef({}),x=t.useRef(null),b=t.useRef(null),w=t.useRef(null),S=t.useRef(!0),C=ge(n),k=t.useRef(),M=ye({state:h,props:n}),E=t.useCallback((e=>v.current[C.getItemId(e)]),[C]);Oe(l,[g,f,I,s],{isInitialMount:S.current,previousResultCount:k.current,items:s,environment:u,itemToString:a,...h}),Oe(d,[m],{isInitialMount:S.current,previousResultCount:k.current,items:s,environment:u,itemToString:a,...h});const O=De({menuElement:y.current,highlightedIndex:f,isOpen:g,itemRefs:v,scrollIntoView:r,getItemNodeFromIndex:E});Re({isInitialMount:S.current,props:n,state:h}),t.useEffect((()=>{(i||o||g)&&x.current&&x.current.focus()}),[]),t.useEffect((()=>{S.current||(k.current=s.length)}));const D=Me(g,[w,y,b],u,(()=>{p({type:7,selectItem:!1})})),R=Ee();t.useEffect((()=>{S.current=!1}),[]),t.useEffect((()=>{g||(v.current={})}),[g]);const K=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:0,shiftKey:e.shiftKey,getItemNodeFromIndex:E})},ArrowUp(e){e.preventDefault(),p({type:1,shiftKey:e.shiftKey,getItemNodeFromIndex:E})},Home(e){M.current.state.isOpen&&(e.preventDefault(),p({type:3,getItemNodeFromIndex:E}))},End(e){M.current.state.isOpen&&(e.preventDefault(),p({type:4,getItemNodeFromIndex:E}))},Escape(e){const t=M.current.state;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),p({type:2}))},Enter(e){const t=M.current.state;!t.isOpen||t.highlightedIndex<0||229===e.which||(e.preventDefault(),p({type:5,getItemNodeFromIndex:E}))}})),[p,M,E]),H=t.useCallback((e=>({id:C.labelId,htmlFor:C.inputId,...e})),[C]),P=t.useCallback((function(e,t){let{onMouseLeave:n,refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===t?{}:t;return R("getMenuProps",r,i,y),{[i]:z(o,(e=>{y.current=e})),id:C.menuId,role:"listbox","aria-labelledby":C.labelId,onMouseLeave:W(n,(()=>{p({type:8})})),...s}}),[p,R,C]),T=t.useCallback((function(e){let{item:t,index:n,refKey:i="ref",ref:o,onMouseMove:s,onClick:r,onPress:u,disabled:l,...d}=void 0===e?{}:e;const{props:a,state:c}=M.current,h=fe(n,t,a.items);if(h<0)throw new Error("Pass either item or item index in getItemProps!");const g=r;return{[i]:z(o,(e=>{e&&(v.current[C.getItemId(h)]=e)})),disabled:l,role:"option","aria-selected":`${h===c.highlightedIndex}`,id:C.getItemId(h),...!l&&{onClick:W(g,(()=>{p({type:10,index:n}),x.current&&x.current.focus()}))},onMouseMove:W(s,(()=>{n!==c.highlightedIndex&&(O.current=!1,p({type:9,index:n,disabled:l}))})),...d}}),[p,M,O,C]),V=t.useCallback((function(e){let{onClick:t,onPress:n,refKey:i="ref",ref:o,...s}=void 0===e?{}:e;return{[i]:z(o,(e=>{b.current=e})),id:C.toggleButtonId,tabIndex:-1,...!s.disabled&&{onClick:W(t,(()=>{p({type:11}),!M.current.state.isOpen&&x.current&&x.current.focus()}))},...s}}),[p,M,C]),F=t.useCallback((function(e,t){let{onKeyDown:n,onChange:i,onInput:o,onBlur:s,onChangeText:r,refKey:u="ref",ref:l,...d}=void 0===e?{}:e,{suppressRefError:a=!1}=void 0===t?{}:t;R("getInputProps",a,u,x);const c=M.current.state,h=e=>{const t=ee(e);t&&K[t]&&K[t](e)},g=e=>{p({type:6,inputValue:e.target.value})},f=()=>{c.isOpen&&!D.current.isMouseDown&&p({type:7,selectItem:!0})};let m={};return d.disabled||(m={onInput:W(i,o,g),onKeyDown:W(n,h),onBlur:W(s,f)}),{[u]:z(l,(e=>{x.current=e})),id:C.inputId,"aria-autocomplete":"list","aria-controls":C.menuId,...c.isOpen&&c.highlightedIndex>-1&&{"aria-activedescendant":C.getItemId(c.highlightedIndex)},"aria-labelledby":C.labelId,autoComplete:"off",value:c.inputValue,...m,...d}}),[p,K,M,D,R,C]),N=t.useCallback((function(e,t){let{refKey:n="ref",ref:i,...o}=void 0===e?{}:e,{suppressRefError:s=!1}=void 0===t?{}:t;return R("getComboboxProps",s,n,w),{[n]:z(i,(e=>{w.current=e})),role:"combobox","aria-haspopup":"listbox","aria-owns":C.menuId,"aria-expanded":M.current.state.isOpen,...o}}),[M,R,C]),A=t.useCallback((()=>{p({type:12})}),[p]),$=t.useCallback((()=>{p({type:14})}),[p]),B=t.useCallback((()=>{p({type:13})}),[p]),L=t.useCallback((e=>{p({type:15,highlightedIndex:e})}),[p]),_=t.useCallback((e=>{p({type:16,selectedItem:e})}),[p]);return{getItemProps:T,getLabelProps:H,getMenuProps:P,getInputProps:F,getComboboxProps:N,getToggleButtonProps:V,toggleMenu:A,openMenu:B,closeMenu:$,setHighlightedIndex:L,setInputValue:t.useCallback((e=>{p({type:17,inputValue:e})}),[p]),selectItem:_,reset:t.useCallback((()=>{p({type:18})}),[p]),highlightedIndex:f,isOpen:g,selectedItem:m,inputValue:I}}je.stateChangeTypes=$e;const Ue={activeIndex:-1,selectedItems:[]};function We(e,t){return Se(e,t,Ue)}function ze(e,t){return we(e,t,Ue)}function qe(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;const t=e.target;return!(t instanceof HTMLInputElement&&""!==t.value)||0===t.selectionStart&&0===t.selectionEnd}o.default.array,o.default.array,o.default.array,o.default.func,o.default.func,o.default.func,o.default.number,o.default.number,o.default.number,o.default.func,o.default.func,o.default.string,o.default.string,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});const Xe={itemToString:be.itemToString,stateReducer:be.stateReducer,environment:be.environment,getA11yRemovalMessage:function(e){const{removedSelectedItem:t,itemToString:n}=e;return`${n(t)} has been removed.`},keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"};let Ye=L;var Ge=Object.freeze({__proto__:null,SelectedItemClick:0,SelectedItemKeyDownDelete:1,SelectedItemKeyDownBackspace:2,SelectedItemKeyDownNavigationNext:3,SelectedItemKeyDownNavigationPrevious:4,DropdownKeyDownNavigationPrevious:5,DropdownKeyDownBackspace:6,DropdownClick:7,FunctionAddSelectedItem:8,FunctionRemoveSelectedItem:9,FunctionSetSelectedItems:10,FunctionSetActiveIndex:11,FunctionReset:12});function Je(e,t){const{type:n,index:i,props:o,selectedItem:s}=t,{activeIndex:r,selectedItems:u}=e;let l;switch(n){case 0:l={activeIndex:i};break;case 4:l={activeIndex:r-1<0?0:r-1};break;case 3:l={activeIndex:r+1>=u.length?-1:r+1};break;case 2:case 1:{let e=r;1===u.length?e=-1:r===u.length-1&&(e=u.length-2),l={selectedItems:[...u.slice(0,r),...u.slice(r+1)],activeIndex:e};break}case 5:l={activeIndex:u.length-1};break;case 6:l={selectedItems:u.slice(0,u.length-1)};break;case 8:l={selectedItems:[...u,s]};break;case 7:l={activeIndex:-1};break;case 9:{let e=r;const t=u.indexOf(s);t>=0&&(1===u.length?e=-1:t===u.length-1&&(e=u.length-2),l={selectedItems:[...u.slice(0,t),...u.slice(t+1)],activeIndex:e});break}case 10:{const{selectedItems:e}=t;l={selectedItems:e};break}case 11:{const{activeIndex:e}=t;l={activeIndex:e};break}case 12:l={activeIndex:ze(o,"activeIndex"),selectedItems:ze(o,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return{...e,...l}}function Qe(e){void 0===e&&(e={}),Ye();const n={...Xe,...e},{getA11yRemovalMessage:i,itemToString:o,environment:s,keyNavigationNext:r,keyNavigationPrevious:u}=n,[l,d]=xe(Je,function(e){return{activeIndex:We(e,"activeIndex"),selectedItems:We(e,"selectedItems")}}(n),n),{activeIndex:a,selectedItems:c}=l,h=t.useRef(!0),p=t.useRef(null),g=t.useRef(c),f=t.useRef();f.current=[];const m=ye({state:l,props:n});t.useEffect((()=>{if(!h.current){if(c.length<g.current.length){const e=g.current.find((e=>c.indexOf(e)<0));se(i({itemToString:o,resultCount:c.length,removedSelectedItem:e,activeIndex:a,activeSelectedItem:c[a]}),s.document)}g.current=c}}),[c.length]),t.useEffect((()=>{h.current||(-1===a&&p.current?p.current.focus():f.current[a]&&f.current[a].focus())}),[a]),Re({isInitialMount:h.current,props:n,state:l});const I=Ee();t.useEffect((()=>{h.current=!1}),[]);const y=t.useMemo((()=>({[u](){d({type:4})},[r](){d({type:3})},Delete(){d({type:1})},Backspace(){d({type:2})}})),[d,r,u]),v=t.useMemo((()=>({[u](e){qe(e)&&d({type:5})},Backspace(e){qe(e)&&d({type:6})}})),[d,u]);return{getSelectedItemProps:t.useCallback((function(e){let{refKey:t="ref",ref:n,onClick:i,onKeyDown:o,selectedItem:s,index:r,...u}=void 0===e?{}:e;const{state:l}=m.current;if(fe(r,s,l.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");return{[t]:z(n,(e=>{e&&f.current.push(e)})),tabIndex:r===l.activeIndex?0:-1,onClick:W(i,(()=>{d({type:0,index:r})})),onKeyDown:W(o,(e=>{const t=ee(e);t&&y[t]&&y[t](e)})),...u}}),[d,m,y]),getDropdownProps:t.useCallback((function(e,t){let{refKey:n="ref",ref:i,onKeyDown:o,onClick:s,preventKeyAction:r=!1,...u}=void 0===e?{}:e,{suppressRefError:l=!1}=void 0===t?{}:t;return I("getDropdownProps",l,n,p),{[n]:z(i,(e=>{e&&(p.current=e)})),...!r&&{onKeyDown:W(o,(e=>{const t=ee(e);t&&v[t]&&v[t](e)})),onClick:W(s,(()=>{d({type:7})}))},...u}}),[d,v,I]),addSelectedItem:t.useCallback((e=>{d({type:8,selectedItem:e})}),[d]),removeSelectedItem:t.useCallback((e=>{d({type:9,selectedItem:e})}),[d]),setSelectedItems:t.useCallback((e=>{d({type:10,selectedItems:e})}),[d]),setActiveIndex:t.useCallback((e=>{d({type:11,activeIndex:e})}),[d]),reset:t.useCallback((()=>{d({type:12})}),[d]),selectedItems:c,activeIndex:a}}Qe.stateChangeTypes=Ge,e.default=de,e.resetIdCounter=function(){$=0},e.useCombobox=je,e.useMultipleSelection=Qe,e.useSelect=Ae,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","preact","prop-types"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Downshift={},e.preact,e.PropTypes)}(this,(function(e,t,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=i(n),s={},r=60103,u=60106,l=60107,d=60108,a=60114,c=60109,h=60110,p=60112,g=60113,f=60120,m=60115,I=60116,y=60121,v=60122,x=60117,b=60129,w=60131;if("function"==typeof Symbol&&Symbol.for){var S=Symbol.for;r=S("react.element"),u=S("react.portal"),l=S("react.fragment"),d=S("react.strict_mode"),a=S("react.profiler"),c=S("react.provider"),h=S("react.context"),p=S("react.forward_ref"),g=S("react.suspense"),f=S("react.suspense_list"),m=S("react.memo"),I=S("react.lazy"),y=S("react.block"),v=S("react.server.block"),x=S("react.fundamental"),b=S("react.debug_trace_mode"),w=S("react.legacy_hidden")}function C(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case l:case a:case d:case g:case f:return e;default:switch(e=e&&e.$$typeof){case h:case p:case I:case m:case c:return e;default:return t}}case u:return t}}}var k=c,M=r,E=p,O=l,D=I,R=m,K=u,H=a,P=d,T=g;function V(e){return"object"==typeof e&&null!=e&&1===e.nodeType}function F(e,t){return(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e}function N(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return F(n.overflowY,t)||F(n.overflowX,t)||function(e){var t=function(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}}(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)}(e)}return!1}function A(e,t,n,i,o,s,r,u){return s<e&&r>t||s>e&&r<t?0:s<=e&&u<=n||r>=t&&u>=n?s-e-i:r>t&&u<n||s<e&&u>n?r-t+o:0}s.ContextConsumer=h,s.ContextProvider=k,s.Element=M,s.ForwardRef=E,s.Fragment=O,s.Lazy=D,s.Memo=R,s.Portal=K,s.Profiler=H,s.StrictMode=P,s.Suspense=T,s.isAsyncMode=function(){return!1},s.isConcurrentMode=function(){return!1},s.isContextConsumer=function(e){return C(e)===h},s.isContextProvider=function(e){return C(e)===c},s.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},s.isForwardRef=function(e){return C(e)===p},s.isFragment=function(e){return C(e)===l},s.isLazy=function(e){return C(e)===I},s.isMemo=function(e){return C(e)===m},s.isPortal=function(e){return C(e)===u},s.isProfiler=function(e){return C(e)===a},s.isStrictMode=function(e){return C(e)===d},s.isSuspense=function(e){return C(e)===g},s.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===l||e===a||e===b||e===d||e===g||e===f||e===w||"object"==typeof e&&null!==e&&(e.$$typeof===I||e.$$typeof===m||e.$$typeof===c||e.$$typeof===h||e.$$typeof===p||e.$$typeof===x||e.$$typeof===y||e[0]===v)},s.typeOf=C;let $=0;function B(e){return"function"==typeof e?e:L}function L(){}function _(e,t){if(!e)return;const n=function(e,t){var n=window,i=t.scrollMode,o=t.block,s=t.inline,r=t.boundary,u=t.skipOverflowHiddenElements,l="function"==typeof r?r:function(e){return e!==r};if(!V(e))throw new TypeError("Invalid target");for(var d=document.scrollingElement||document.documentElement,a=[],c=e;V(c)&&l(c);){if((c=c.parentElement)===d){a.push(c);break}null!=c&&c===document.body&&N(c)&&!N(document.documentElement)||null!=c&&N(c,u)&&a.push(c)}for(var h=n.visualViewport?n.visualViewport.width:innerWidth,p=n.visualViewport?n.visualViewport.height:innerHeight,g=window.scrollX||pageXOffset,f=window.scrollY||pageYOffset,m=e.getBoundingClientRect(),I=m.height,y=m.width,v=m.top,x=m.right,b=m.bottom,w=m.left,S="start"===o||"nearest"===o?v:"end"===o?b:v+I/2,C="center"===s?w+y/2:"end"===s?x:w,k=[],M=0;M<a.length;M++){var E=a[M],O=E.getBoundingClientRect(),D=O.height,R=O.width,K=O.top,H=O.right,P=O.bottom,T=O.left;if("if-needed"===i&&v>=0&&w>=0&&b<=p&&x<=h&&v>=K&&b<=P&&w>=T&&x<=H)return k;var F=getComputedStyle(E),$=parseInt(F.borderLeftWidth,10),B=parseInt(F.borderTopWidth,10),L=parseInt(F.borderRightWidth,10),_=parseInt(F.borderBottomWidth,10),j=0,U=0,W="offsetWidth"in E?E.offsetWidth-E.clientWidth-$-L:0,z="offsetHeight"in E?E.offsetHeight-E.clientHeight-B-_:0;if(d===E)j="start"===o?S:"end"===o?S-p:"nearest"===o?A(f,f+p,p,B,_,f+S,f+S+I,I):S-p/2,U="start"===s?C:"center"===s?C-h/2:"end"===s?C-h:A(g,g+h,h,$,L,g+C,g+C+y,y),j=Math.max(0,j+f),U=Math.max(0,U+g);else{j="start"===o?S-K-B:"end"===o?S-P+_+z:"nearest"===o?A(K,P,D,B,_+z,S,S+I,I):S-(K+D/2)+z/2,U="start"===s?C-T-$:"center"===s?C-(T+R/2)+W/2:"end"===s?C-H+L+W:A(T,H,R,$,L+W,C,C+y,y);var q=E.scrollLeft,X=E.scrollTop;S+=X-(j=Math.max(0,Math.min(X+j,E.scrollHeight-D+z))),C+=q-(U=Math.max(0,Math.min(q+U,E.scrollWidth-R+W)))}k.push({el:E,top:j,left:U})}return k}(e,{boundary:t,block:"nearest",scrollMode:"if-needed"});n.forEach((e=>{let{el:t,top:n,left:i}=e;t.scrollTop=n,t.scrollLeft=i}))}function j(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function U(e,t){let n;function i(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,s=new Array(o),r=0;r<o;r++)s[r]=arguments[r];i(),n=setTimeout((()=>{n=null,e(...s)}),t)}return o.cancel=i,o}function W(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return t.some((t=>(t&&t(e,...i),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault)))}}function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{t.forEach((t=>{"function"==typeof t?t(e):t&&(t.current=e)}))}}function q(){return String($++)}function X(e){let{isOpen:t,resultCount:n,previousResultCount:i}=e;return t?n?n!==i?`${n} result${1===n?" is":"s are"} available, use up and down arrow keys to navigate. Press Enter key to select.`:"":"No results are available.":""}function Y(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}const G=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function J(e){void 0===e&&(e={});const t={};return G.forEach((n=>{e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function Q(e,t){return Object.keys(e).reduce(((n,i)=>(n[i]=Z(t,i)?t[i]:e[i],n)),{})}function Z(e,t){return void 0!==e[t]}function ee(e){const{key:t,keyCode:n}=e;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?`Arrow${t}`:t}function te(e,t,n,i,o){if(void 0===o&&(o=!0),0===n)return-1;const s=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:s+1);let r=t+e;r<0?r=o?s:0:r>s&&(r=o?0:s);const u=ne(e,r,n,i,o);return-1===u?t>=n?-1:t:u}function ne(e,t,n,i,o){const s=i(t);if(!s||!s.hasAttribute("disabled"))return t;if(e>0){for(let e=t+1;e<n;e++)if(!i(e).hasAttribute("disabled"))return e}else for(let e=t-1;e>=0;e--)if(!i(e).hasAttribute("disabled"))return e;return o?e>0?ne(1,0,n,i,!1):ne(-1,n-1,n,i,!1):-1}function ie(e,t,n,i){return void 0===i&&(i=!0),t.some((t=>t&&(j(t,e,n)||i&&j(t,n.document.activeElement,n))))}const oe=U((e=>{re(e).textContent=""}),500);function se(e,t){const n=re(t);e&&(n.textContent=e,oe(t))}function re(e){void 0===e&&(e=document);let t=e.getElementById("a11y-status-message");return t||(t=e.createElement("div"),t.setAttribute("id","a11y-status-message"),t.setAttribute("role","status"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-relevant","additions text"),Object.assign(t.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),e.body.appendChild(t),t)}var ue=Object.freeze({__proto__:null,unknown:0,mouseUp:1,itemMouseEnter:2,keyDownArrowUp:3,keyDownArrowDown:4,keyDownEscape:5,keyDownEnter:6,keyDownHome:7,keyDownEnd:8,clickItem:9,blurInput:10,changeInput:11,keyDownSpaceButton:12,clickButton:13,blurButton:14,controlledPropUpdatedSelectedItem:15,touchEnd:16});const le=(()=>{class e extends t.Component{constructor(e){var t;super(e),t=this,this.id=this.props.id||`downshift-${q()}`,this.menuId=this.props.menuId||`${this.id}-menu`,this.labelId=this.props.labelId||`${this.id}-label`,this.inputId=this.props.inputId||`${this.id}-input`,this.getItemId=this.props.getItemId||(e=>`${this.id}-item-${e}`),this.input=null,this.items=[],this.itemCount=null,this.previousResultCount=0,this.timeoutIds=[],this.internalSetTimeout=(e,t)=>{const n=setTimeout((()=>{this.timeoutIds=this.timeoutIds.filter((e=>e!==n)),e()}),t);this.timeoutIds.push(n)},this.setItemCount=e=>{this.itemCount=e},this.unsetItemCount=()=>{this.itemCount=null},this.setHighlightedIndex=function(e,n){void 0===e&&(e=t.props.defaultHighlightedIndex),void 0===n&&(n={}),n=J(n),t.internalSetState({highlightedIndex:e,...n})},this.clearSelection=e=>{this.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:this.props.defaultHighlightedIndex,isOpen:this.props.defaultIsOpen},e)},this.selectItem=(e,t,n)=>{t=J(t),this.internalSetState({isOpen:this.props.defaultIsOpen,highlightedIndex:this.props.defaultHighlightedIndex,selectedItem:e,inputValue:this.props.itemToString(e),...t},n)},this.selectItemAtIndex=(e,t,n)=>{const i=this.items[e];null!=i&&this.selectItem(i,t,n)},this.selectHighlightedItem=(e,t)=>this.selectItemAtIndex(this.getState().highlightedIndex,e,t),this.internalSetState=(e,t)=>{let n,i;const o={},s="function"==typeof e;return!s&&e.hasOwnProperty("inputValue")&&this.props.onInputValueChange(e.inputValue,{...this.getStateAndHelpers(),...e}),this.setState((t=>{t=this.getState(t);let r=s?e(t):e;r=this.props.stateReducer(t,r),n=r.hasOwnProperty("selectedItem");const u={};return n&&r.selectedItem!==t.selectedItem&&(i=r.selectedItem),r.type=r.type||0,Object.keys(r).forEach((e=>{t[e]!==r[e]&&(o[e]=r[e]),"type"!==e&&(r[e],Z(this.props,e)||(u[e]=r[e]))})),s&&r.hasOwnProperty("inputValue")&&this.props.onInputValueChange(r.inputValue,{...this.getStateAndHelpers(),...r}),u}),(()=>{B(t)();Object.keys(o).length>1&&this.props.onStateChange(o,this.getStateAndHelpers()),n&&this.props.onSelect(e.selectedItem,this.getStateAndHelpers()),void 0!==i&&this.props.onChange(i,this.getStateAndHelpers()),this.props.onUserAction(o,this.getStateAndHelpers())}))},this.rootRef=e=>this._rootNode=e,this.getRootProps=function(e,n){let{refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===n?{}:n;t.getRootProps.called=!0,t.getRootProps.refKey=i,t.getRootProps.suppressRefError=r;const{isOpen:u}=t.getState();return{[i]:z(o,t.rootRef),role:"combobox","aria-expanded":u,"aria-haspopup":"listbox","aria-owns":u?t.menuId:null,"aria-labelledby":t.labelId,...s}},this.keyDownHandlers={ArrowDown(e){if(e.preventDefault(),this.getState().isOpen){const t=e.shiftKey?5:1;this.moveHighlightedIndex(t,{type:4})}else this.internalSetState({isOpen:!0,type:4},(()=>{const e=this.getItemCount();if(e>0){const{highlightedIndex:t}=this.getState(),n=te(1,t,e,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(n,{type:4})}}))},ArrowUp(e){if(e.preventDefault(),this.getState().isOpen){const t=e.shiftKey?-5:-1;this.moveHighlightedIndex(t,{type:3})}else this.internalSetState({isOpen:!0,type:3},(()=>{const e=this.getItemCount();if(e>0){const{highlightedIndex:t}=this.getState(),n=te(-1,t,e,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(n,{type:3})}}))},Enter(e){if(229===e.which)return;const{isOpen:t,highlightedIndex:n}=this.getState();if(t&&null!=n){e.preventDefault();const t=this.items[n],i=this.getItemNodeFromIndex(n);if(null==t||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}},Escape(e){e.preventDefault(),this.reset({type:5,...!this.state.isOpen&&{selectedItem:null,inputValue:""}})}},this.buttonKeyDownHandlers={...this.keyDownHandlers," "(e){e.preventDefault(),this.toggleMenu({type:12})}},this.inputKeyDownHandlers={...this.keyDownHandlers,Home(e){const{isOpen:t}=this.getState();if(!t)return;e.preventDefault();const n=this.getItemCount();if(n<=0||!t)return;const i=ne(1,0,n,(e=>this.getItemNodeFromIndex(e)),!1);this.setHighlightedIndex(i,{type:7})},End(e){const{isOpen:t}=this.getState();if(!t)return;e.preventDefault();const n=this.getItemCount();if(n<=0||!t)return;const i=ne(-1,n-1,n,(e=>this.getItemNodeFromIndex(e)),!1);this.setHighlightedIndex(i,{type:8})}},this.getToggleButtonProps=function(e){let{onClick:n,onPress:i,onKeyDown:o,onKeyUp:s,onBlur:r,...u}=void 0===e?{}:e;const{isOpen:l}=t.getState(),d={onClick:W(n,t.buttonHandleClick),onKeyDown:W(o,t.buttonHandleKeyDown),onKeyUp:W(s,t.buttonHandleKeyUp),onBlur:W(r,t.buttonHandleBlur)};return{type:"button",role:"button","aria-label":l?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0,...u.disabled?{}:d,...u}},this.buttonHandleKeyUp=e=>{e.preventDefault()},this.buttonHandleKeyDown=e=>{const t=ee(e);this.buttonKeyDownHandlers[t]&&this.buttonKeyDownHandlers[t].call(this,e)},this.buttonHandleClick=e=>{e.preventDefault(),this.props.environment.document.activeElement===this.props.environment.document.body&&e.target.focus(),this.internalSetTimeout((()=>this.toggleMenu({type:13})))},this.buttonHandleBlur=e=>{const t=e.target;this.internalSetTimeout((()=>{this.isMouseDown||null!=this.props.environment.document.activeElement&&this.props.environment.document.activeElement.id===this.inputId||this.props.environment.document.activeElement===t||this.reset({type:14})}))},this.getLabelProps=e=>({htmlFor:this.inputId,id:this.labelId,...e}),this.getInputProps=function(e){let n,{onKeyDown:i,onBlur:o,onChange:s,onInput:r,onChangeText:u,...l}=void 0===e?{}:e,d={};n="onInput";const{inputValue:a,isOpen:c,highlightedIndex:h}=t.getState();return l.disabled||(d={onInput:W(s,r,t.inputHandleChange),onKeyDown:W(i,t.inputHandleKeyDown),onBlur:W(o,t.inputHandleBlur)}),{"aria-autocomplete":"list","aria-activedescendant":c&&"number"==typeof h&&h>=0?t.getItemId(h):null,"aria-controls":c?t.menuId:null,"aria-labelledby":t.labelId,autoComplete:"off",value:a,id:t.inputId,...d,...l}},this.inputHandleKeyDown=e=>{const t=ee(e);t&&this.inputKeyDownHandlers[t]&&this.inputKeyDownHandlers[t].call(this,e)},this.inputHandleChange=e=>{this.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:this.props.defaultHighlightedIndex})},this.inputHandleBlur=()=>{this.internalSetTimeout((()=>{const e=this.props.environment.document&&!!this.props.environment.document.activeElement&&!!this.props.environment.document.activeElement.dataset&&this.props.environment.document.activeElement.dataset.toggle&&this._rootNode&&this._rootNode.contains(this.props.environment.document.activeElement);this.isMouseDown||e||this.reset({type:10})}))},this.menuRef=e=>{this._menuNode=e},this.getMenuProps=function(e,n){let{refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===n?{}:n;return t.getMenuProps.called=!0,t.getMenuProps.refKey=i,t.getMenuProps.suppressRefError=r,{[i]:z(o,t.menuRef),role:"listbox","aria-labelledby":s&&s["aria-label"]?null:t.labelId,id:t.menuId,...s}},this.getItemProps=function(e){let{onMouseMove:n,onMouseDown:i,onClick:o,onPress:s,index:r,item:u,...l}=void 0===e?{}:e;void 0===r?(t.items.push(u),r=t.items.indexOf(u)):t.items[r]=u;const d=o,a={onMouseMove:W(n,(()=>{r!==t.getState().highlightedIndex&&(t.setHighlightedIndex(r,{type:2}),t.avoidScrolling=!0,t.internalSetTimeout((()=>t.avoidScrolling=!1),250))})),onMouseDown:W(i,(e=>{e.preventDefault()})),onClick:W(d,(()=>{t.selectItemAtIndex(r,{type:9})}))},c=l.disabled?{onMouseDown:a.onMouseDown}:a;return{id:t.getItemId(r),role:"option","aria-selected":t.getState().highlightedIndex===r,...c,...l}},this.clearItems=()=>{this.items=[]},this.reset=function(e,n){void 0===e&&(e={}),e=J(e),t.internalSetState((n=>{let{selectedItem:i}=n;return{isOpen:t.props.defaultIsOpen,highlightedIndex:t.props.defaultHighlightedIndex,inputValue:t.props.itemToString(i),...e}}),n)},this.toggleMenu=function(e,n){void 0===e&&(e={}),e=J(e),t.internalSetState((n=>{let{isOpen:i}=n;return{isOpen:!i,...i&&{highlightedIndex:t.props.defaultHighlightedIndex},...e}}),(()=>{const{isOpen:i,highlightedIndex:o}=t.getState();i&&t.getItemCount()>0&&"number"==typeof o&&t.setHighlightedIndex(o,e),B(n)()}))},this.openMenu=e=>{this.internalSetState({isOpen:!0},e)},this.closeMenu=e=>{this.internalSetState({isOpen:!1},e)},this.updateStatus=U((()=>{const e=this.getState(),t=this.items[e.highlightedIndex],n=this.getItemCount(),i=this.props.getA11yStatusMessage({itemToString:this.props.itemToString,previousResultCount:this.previousResultCount,resultCount:n,highlightedItem:t,...e});this.previousResultCount=n,se(i,this.props.environment.document)}),200);const{defaultHighlightedIndex:n,initialHighlightedIndex:i=n,defaultIsOpen:o,initialIsOpen:s=o,initialInputValue:r="",initialSelectedItem:u=null}=this.props,l=this.getState({highlightedIndex:i,isOpen:s,inputValue:r,selectedItem:u});null!=l.selectedItem&&void 0===this.props.initialInputValue&&(l.inputValue=this.props.itemToString(l.selectedItem)),this.state=l}internalClearTimeouts(){this.timeoutIds.forEach((e=>{clearTimeout(e)})),this.timeoutIds=[]}getState(e){return void 0===e&&(e=this.state),Q(e,this.props)}getItemCount(){let e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e}getItemNodeFromIndex(e){return this.props.environment.document.getElementById(this.getItemId(e))}scrollHighlightedItemIntoView(){{const e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)}}moveHighlightedIndex(e,t){const n=this.getItemCount(),{highlightedIndex:i}=this.getState();if(n>0){const o=te(e,i,n,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(o,t)}}getStateAndHelpers(){const{highlightedIndex:e,inputValue:t,selectedItem:n,isOpen:i}=this.getState(),{itemToString:o}=this.props,{id:s}=this,{getRootProps:r,getToggleButtonProps:u,getLabelProps:l,getMenuProps:d,getInputProps:a,getItemProps:c,openMenu:h,closeMenu:p,toggleMenu:g,selectItem:f,selectItemAtIndex:m,selectHighlightedItem:I,setHighlightedIndex:y,clearSelection:v,clearItems:x,reset:b,setItemCount:w,unsetItemCount:S,internalSetState:C}=this;return{getRootProps:r,getToggleButtonProps:u,getLabelProps:l,getMenuProps:d,getInputProps:a,getItemProps:c,reset:b,openMenu:h,closeMenu:p,toggleMenu:g,selectItem:f,selectItemAtIndex:m,selectHighlightedItem:I,setHighlightedIndex:y,clearSelection:v,clearItems:x,setItemCount:w,unsetItemCount:S,setState:C,itemToString:o,id:s,highlightedIndex:e,inputValue:t,isOpen:i,selectedItem:n}}componentDidMount(){{const e=()=>{this.isMouseDown=!0},t=e=>{this.isMouseDown=!1;!ie(e.target,[this._rootNode,this._menuNode],this.props.environment)&&this.getState().isOpen&&this.reset({type:1},(()=>this.props.onOuterClick(this.getStateAndHelpers())))},n=()=>{this.isTouchMove=!1},i=()=>{this.isTouchMove=!0},o=e=>{const t=ie(e.target,[this._rootNode,this._menuNode],this.props.environment,!1);this.isTouchMove||t||!this.getState().isOpen||this.reset({type:16},(()=>this.props.onOuterClick(this.getStateAndHelpers())))},{environment:s}=this.props;s.addEventListener("mousedown",e),s.addEventListener("mouseup",t),s.addEventListener("touchstart",n),s.addEventListener("touchmove",i),s.addEventListener("touchend",o),this.cleanup=()=>{this.internalClearTimeouts(),this.updateStatus.cancel(),s.removeEventListener("mousedown",e),s.removeEventListener("mouseup",t),s.removeEventListener("touchstart",n),s.removeEventListener("touchmove",i),s.removeEventListener("touchend",o)}}}shouldScroll(e,t){const{highlightedIndex:n}=void 0===this.props.highlightedIndex?this.getState():this.props,{highlightedIndex:i}=void 0===t.highlightedIndex?e:t;return n&&this.getState().isOpen&&!e.isOpen||n!==i}componentDidUpdate(e,t){Z(this.props,"selectedItem")&&this.props.selectedItemChanged(e.selectedItem,this.props.selectedItem)&&this.internalSetState({type:15,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(t,e)&&this.scrollHighlightedItemIntoView(),this.updateStatus()}componentWillUnmount(){this.cleanup()}render(){const e=Y(this.props.children,L);this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1;const n=Y(e(this.getStateAndHelpers()));return n?this.getRootProps.called||this.props.suppressRefError?n:function(e){return"string"==typeof e.type||"string"==typeof e.nodeName}(n)?t.cloneElement(n,this.getRootProps(function(e){return e.props||e.attributes}(n))):void 0:null}}return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:X,itemToString:e=>null==e?"":String(e),onStateChange:L,onInputValueChange:L,onUserAction:L,onChange:L,onSelect:L,onOuterClick:L,selectedItemChanged:(e,t)=>e!==t,environment:"undefined"==typeof window?{}:window,stateReducer:(e,t)=>t,suppressRefError:!1,scrollIntoView:_},e.stateChangeTypes=ue,e})();var de=le;const ae={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function ce(e,t,n){const{props:i,type:o}=e,s={};Object.keys(t).forEach((i=>{!function(e,t,n,i){const{props:o,type:s}=t,r=`on${Ie(e)}Change`;o[r]&&void 0!==i[e]&&i[e]!==n[e]&&o[r]({type:s,...i})}(i,e,t,n),n[i]!==t[i]&&(s[i]=n[i])})),i.onStateChange&&Object.keys(s).length&&i.onStateChange({type:o,...s})}const he=U(((e,t)=>{se(e(),t)}),200),pe="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect;function ge(e){let{id:n=`downshift-${q()}`,labelId:i,menuId:o,getItemId:s,toggleButtonId:r,inputId:u}=e;return t.useRef({labelId:i||`${n}-label`,menuId:o||`${n}-menu`,getItemId:s||(e=>`${n}-item-${e}`),toggleButtonId:r||`${n}-toggle-button`,inputId:u||`${n}-input`}).current}function fe(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function me(e){return/^\S{1}$/.test(e)}function Ie(e){return`${e.slice(0,1).toUpperCase()}${e.slice(1)}`}function ye(e){const n=t.useRef(e);return n.current=e,n}function ve(e,n,i){const o=t.useRef(),s=t.useRef(),r=t.useCallback(((t,n)=>{s.current=n,t=Q(t,n.props);const i=e(t,n);return n.props.stateReducer(t,{...n,changes:i})}),[e]),[u,l]=t.useReducer(r,n),d=ye(i),a=t.useCallback((e=>l({props:d.current,...e})),[d]),c=s.current;return t.useEffect((()=>{c&&o.current&&o.current!==u&&ce(c,Q(o.current,c.props),u),o.current=u}),[u,i,c]),[u,a]}function xe(e,t,n){const[i,o]=ve(e,t,n);return[Q(i,n),o]}const be={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11ySelectionMessage:function(e){const{selectedItem:t,itemToString:n}=e;return t?`${n(t)} has been selected.`:""},scrollIntoView:_,circularNavigation:!1,environment:"undefined"==typeof window?{}:window};function we(e,t,n){void 0===n&&(n=ae);const i=e[`default${Ie(t)}`];return void 0!==i?i:n[t]}function Se(e,t,n){void 0===n&&(n=ae);const i=e[t];if(void 0!==i)return i;const o=e[`initial${Ie(t)}`];return void 0!==o?o:we(e,t,n)}function Ce(e){const t=Se(e,"selectedItem"),n=Se(e,"isOpen"),i=Se(e,"highlightedIndex"),o=Se(e,"inputValue");return{highlightedIndex:i<0&&t&&n?e.items.indexOf(t):i,isOpen:n,selectedItem:t,inputValue:o}}function ke(e,t,n,i){const{items:o,initialHighlightedIndex:s,defaultHighlightedIndex:r}=e,{selectedItem:u,highlightedIndex:l}=t;return 0===o.length?-1:void 0!==s&&l===s?s:void 0!==r?r:u?0===n?o.indexOf(u):te(n,o.indexOf(u),o.length,i,!1):0===n?-1:n<0?o.length-1:0}function Me(e,n,i,o){const s=t.useRef({isMouseDown:!1,isTouchMove:!1});return t.useEffect((()=>{const t=()=>{s.current.isMouseDown=!0},r=t=>{s.current.isMouseDown=!1,e&&!ie(t.target,n.map((e=>e.current)),i)&&o()},u=()=>{s.current.isTouchMove=!1},l=()=>{s.current.isTouchMove=!0},d=t=>{!e||s.current.isTouchMove||ie(t.target,n.map((e=>e.current)),i,!1)||o()};return i.addEventListener("mousedown",t),i.addEventListener("mouseup",r),i.addEventListener("touchstart",u),i.addEventListener("touchmove",l),i.addEventListener("touchend",d),function(){i.removeEventListener("mousedown",t),i.removeEventListener("mouseup",r),i.removeEventListener("touchstart",u),i.removeEventListener("touchmove",l),i.removeEventListener("touchend",d)}}),[e,i]),s}let Ee=()=>L;function Oe(e,n,i){let{isInitialMount:o,highlightedIndex:s,items:r,environment:u,...l}=i;t.useEffect((()=>{o||he((()=>e({highlightedIndex:s,highlightedItem:r[s],resultCount:r.length,...l})),u.document)}),n)}function De(e){let{highlightedIndex:n,isOpen:i,itemRefs:o,getItemNodeFromIndex:s,menuElement:r,scrollIntoView:u}=e;const l=t.useRef(!0);return pe((()=>{n<0||!i||!Object.keys(o.current).length||(!1===l.current?l.current=!0:u(s(n),r))}),[n]),l}let Re=L;function Ke(e,t,n){const{type:i,props:o}=t;let s;switch(i){case n.ItemMouseMove:s={highlightedIndex:t.disabled?-1:t.index};break;case n.MenuMouseLeave:s={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:s={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:ke(o,e,0)};break;case n.FunctionOpenMenu:s={isOpen:!0,highlightedIndex:ke(o,e,0)};break;case n.FunctionCloseMenu:s={isOpen:!1};break;case n.FunctionSetHighlightedIndex:s={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:s={inputValue:t.inputValue};break;case n.FunctionReset:s={highlightedIndex:we(o,"highlightedIndex"),isOpen:we(o,"isOpen"),selectedItem:we(o,"selectedItem"),inputValue:we(o,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return{...e,...s}}var He=function(){return He=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},He.apply(this,arguments)};function Pe(e){for(var t=e.keysSoFar,n=e.highlightedIndex,i=e.items,o=e.itemToString,s=e.getItemNodeFromIndex,r=t.toLowerCase(),u=0;u<i.length;u++){var l=(u+n+1)%i.length,d=i[l];if(void 0!==d&&o(d).toLowerCase().startsWith(r)){var a=s(l);if(!(null==a?void 0:a.hasAttribute("disabled")))return l}}return n}o.default.array.isRequired,o.default.func,o.default.func,o.default.func,o.default.bool,o.default.number,o.default.number,o.default.number,o.default.bool,o.default.bool,o.default.bool,o.default.any,o.default.any,o.default.any,o.default.string,o.default.string,o.default.string,o.default.func,o.default.string,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});var Te=He(He({},be),{getA11yStatusMessage:function(e){var t=e.isOpen,n=e.resultCount,i=e.previousResultCount;return t?n?n!==i?"".concat(n," result").concat(1===n?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}}),Ve=L;var Fe=Object.freeze({__proto__:null,MenuKeyDownArrowDown:0,MenuKeyDownArrowUp:1,MenuKeyDownEscape:2,MenuKeyDownHome:3,MenuKeyDownEnd:4,MenuKeyDownEnter:5,MenuKeyDownSpaceButton:6,MenuKeyDownCharacter:7,MenuBlur:8,MenuMouseLeave:9,ItemMouseMove:10,ItemClick:11,ToggleButtonClick:12,ToggleButtonKeyDownArrowDown:13,ToggleButtonKeyDownArrowUp:14,ToggleButtonKeyDownCharacter:15,FunctionToggleMenu:16,FunctionOpenMenu:17,FunctionCloseMenu:18,FunctionSetHighlightedIndex:19,FunctionSelectItem:20,FunctionSetInputValue:21,FunctionReset:22});function Ne(e,t){const{type:n,props:i,shiftKey:o}=t;let s;switch(n){case 11:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),selectedItem:i.items[t.index]};break;case 15:{const n=t.key,o=`${e.inputValue}${n}`,r=Pe({keysSoFar:o,highlightedIndex:e.selectedItem?i.items.indexOf(e.selectedItem):-1,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});s={inputValue:o,...r>=0&&{selectedItem:i.items[r]}}}break;case 13:s={highlightedIndex:ke(i,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case 14:s={highlightedIndex:ke(i,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case 5:case 6:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),...e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]}};break;case 3:s={highlightedIndex:ne(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:s={highlightedIndex:ne(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 2:case 8:s={isOpen:!1,highlightedIndex:-1};break;case 7:{const n=t.key,o=`${e.inputValue}${n}`,r=Pe({keysSoFar:o,highlightedIndex:e.highlightedIndex,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});s={inputValue:o,...r>=0&&{highlightedIndex:r}}}break;case 0:s={highlightedIndex:te(o?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 1:s={highlightedIndex:te(o?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 20:s={selectedItem:t.selectedItem};break;default:return Ke(e,t,Fe)}return{...e,...s}}function Ae(e){void 0===e&&(e={}),Ve();const n={...Te,...e},{items:i,scrollIntoView:o,environment:s,initialIsOpen:r,defaultIsOpen:u,itemToString:l,getA11ySelectionMessage:d,getA11yStatusMessage:a}=n,c=Ce(n),[h,p]=xe(Ne,c,n),{isOpen:g,highlightedIndex:f,selectedItem:m,inputValue:I}=h,y=t.useRef(null),v=t.useRef(null),x=t.useRef({}),b=t.useRef(!0),w=t.useRef(null),S=ge(n),C=t.useRef(),k=t.useRef(!0),M=ye({state:h,props:n}),E=t.useCallback((e=>x.current[S.getItemId(e)]),[S]);Oe(a,[g,f,I,i],{isInitialMount:k.current,previousResultCount:C.current,items:i,environment:s,itemToString:l,...h}),Oe(d,[m],{isInitialMount:k.current,previousResultCount:C.current,items:i,environment:s,itemToString:l,...h});const O=De({menuElement:v.current,highlightedIndex:f,isOpen:g,itemRefs:x,scrollIntoView:o,getItemNodeFromIndex:E});t.useEffect((()=>(w.current=U((e=>{e({type:21,inputValue:""})}),500),()=>{w.current.cancel()})),[]),t.useEffect((()=>{I&&w.current(p)}),[p,I]),Re({isInitialMount:k.current,props:n,state:h}),t.useEffect((()=>{k.current?(r||u||g)&&v.current&&v.current.focus():g?v.current&&v.current.focus():s.document.activeElement===v.current&&y.current&&(b.current=!1,y.current.focus())}),[g]),t.useEffect((()=>{k.current||(C.current=i.length)}));const D=Me(g,[v,y],s,(()=>{p({type:8})})),R=Ee();t.useEffect((()=>{k.current=!1}),[]),t.useEffect((()=>{g||(x.current={})}),[g]);const K=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:13,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:14,getItemNodeFromIndex:E,shiftKey:e.shiftKey})}})),[p,E]),H=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:0,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:1,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},Home(e){e.preventDefault(),p({type:3,getItemNodeFromIndex:E})},End(e){e.preventDefault(),p({type:4,getItemNodeFromIndex:E})},Escape(){p({type:2})},Enter(e){e.preventDefault(),p({type:5})}," "(e){e.preventDefault(),p({type:6})}})),[p,E]),P=t.useCallback((()=>{p({type:16})}),[p]),T=t.useCallback((()=>{p({type:18})}),[p]),V=t.useCallback((()=>{p({type:17})}),[p]),F=t.useCallback((e=>{p({type:19,highlightedIndex:e})}),[p]),N=t.useCallback((e=>{p({type:20,selectedItem:e})}),[p]),A=t.useCallback((()=>{p({type:22})}),[p]),$=t.useCallback((e=>{p({type:21,inputValue:e})}),[p]),B=t.useCallback((e=>({id:S.labelId,htmlFor:S.toggleButtonId,...e})),[S]),L=t.useCallback((function(e,t){let{onMouseLeave:n,refKey:i="ref",onKeyDown:o,onBlur:s,ref:r,...u}=void 0===e?{}:e,{suppressRefError:l=!1}=void 0===t?{}:t;const d=M.current.state;return R("getMenuProps",l,i,v),{[i]:z(r,(e=>{v.current=e})),id:S.menuId,role:"listbox","aria-labelledby":S.labelId,tabIndex:-1,...d.isOpen&&d.highlightedIndex>-1&&{"aria-activedescendant":S.getItemId(d.highlightedIndex)},onMouseLeave:W(n,(()=>{p({type:9})})),onKeyDown:W(o,(e=>{const t=ee(e);t&&H[t]?H[t](e):me(t)&&p({type:7,key:t,getItemNodeFromIndex:E})})),onBlur:W(s,(()=>{if(!1===b.current)return void(b.current=!0);!D.current.isMouseDown&&p({type:8})})),...u}}),[p,M,H,D,R,S,E]);return{getToggleButtonProps:t.useCallback((function(e,t){let{onClick:n,onKeyDown:i,refKey:o="ref",ref:s,...r}=void 0===e?{}:e,{suppressRefError:u=!1}=void 0===t?{}:t;const l=()=>{p({type:12})},d=e=>{const t=ee(e);t&&K[t]?K[t](e):me(t)&&p({type:15,key:t,getItemNodeFromIndex:E})},a={[o]:z(s,(e=>{y.current=e})),id:S.toggleButtonId,"aria-haspopup":"listbox","aria-expanded":M.current.state.isOpen,"aria-labelledby":`${S.labelId} ${S.toggleButtonId}`,...r};return r.disabled||(a.onClick=W(n,l),a.onKeyDown=W(i,d)),R("getToggleButtonProps",u,o,y),a}),[p,M,K,R,S,E]),getLabelProps:B,getMenuProps:L,getItemProps:t.useCallback((function(e){let{item:t,index:n,onMouseMove:i,onClick:o,refKey:s="ref",ref:r,disabled:u,...l}=void 0===e?{}:e;const{state:d,props:a}=M.current,c=()=>{p({type:11,index:n})},h=fe(n,t,a.items);if(h<0)throw new Error("Pass either item or item index in getItemProps!");const g={disabled:u,role:"option","aria-selected":`${h===d.highlightedIndex}`,id:S.getItemId(h),[s]:z(r,(e=>{e&&(x.current[S.getItemId(h)]=e)})),...l};return u||(g.onClick=W(o,c)),g.onMouseMove=W(i,(()=>{n!==d.highlightedIndex&&(O.current=!1,p({type:10,index:n,disabled:u}))})),g}),[p,M,O,S]),toggleMenu:P,openMenu:V,closeMenu:T,setHighlightedIndex:F,selectItem:N,reset:A,setInputValue:$,highlightedIndex:f,isOpen:g,selectedItem:m,inputValue:I}}Ae.stateChangeTypes=Fe;var $e=Object.freeze({__proto__:null,InputKeyDownArrowDown:0,InputKeyDownArrowUp:1,InputKeyDownEscape:2,InputKeyDownHome:3,InputKeyDownEnd:4,InputKeyDownEnter:5,InputChange:6,InputBlur:7,MenuMouseLeave:8,ItemMouseMove:9,ItemClick:10,ToggleButtonClick:11,FunctionToggleMenu:12,FunctionOpenMenu:13,FunctionCloseMenu:14,FunctionSetHighlightedIndex:15,FunctionSelectItem:16,FunctionSetInputValue:17,FunctionReset:18,ControlledPropUpdatedSelectedItem:19});o.default.array.isRequired,o.default.func,o.default.func,o.default.func,o.default.bool,o.default.number,o.default.number,o.default.number,o.default.bool,o.default.bool,o.default.bool,o.default.any,o.default.any,o.default.any,o.default.string,o.default.string,o.default.string,o.default.string,o.default.string,o.default.string,o.default.func,o.default.string,o.default.string,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});let Be=L;const Le={...be,getA11yStatusMessage:X,circularNavigation:!0};function _e(e,t){const{type:n,props:i,shiftKey:o}=t;let s;switch(n){case 10:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),selectedItem:i.items[t.index],inputValue:i.itemToString(i.items[t.index])};break;case 0:s=e.isOpen?{highlightedIndex:te(o?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ke(i,e,1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 1:s=e.isOpen?{highlightedIndex:te(o?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ke(i,e,-1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 5:s={...e.isOpen&&e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex],isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),inputValue:i.itemToString(i.items[e.highlightedIndex])}};break;case 2:s={isOpen:!1,highlightedIndex:-1,...!e.isOpen&&{selectedItem:null,inputValue:""}};break;case 3:s={highlightedIndex:ne(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:s={highlightedIndex:ne(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 7:s={isOpen:!1,highlightedIndex:-1,...e.highlightedIndex>=0&&t.selectItem&&{selectedItem:i.items[e.highlightedIndex],inputValue:i.itemToString(i.items[e.highlightedIndex])}};break;case 6:s={isOpen:!0,highlightedIndex:we(i,"highlightedIndex"),inputValue:t.inputValue};break;case 16:s={selectedItem:t.selectedItem,inputValue:i.itemToString(t.selectedItem)};break;case 19:s={inputValue:t.inputValue};break;default:return Ke(e,t,$e)}return{...e,...s}}function je(e){void 0===e&&(e={}),Be();const n={...Le,...e},{initialIsOpen:i,defaultIsOpen:o,items:s,scrollIntoView:r,environment:u,getA11yStatusMessage:l,getA11ySelectionMessage:d,itemToString:a}=n,c=function(e){const t=Ce(e),{selectedItem:n}=t;let{inputValue:i}=t;return""===i&&n&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(i=e.itemToString(n)),{...t,inputValue:i}}(n),[h,p]=function(e,n,i){const o=t.useRef(),[s,r]=ve(e,n,i);return t.useEffect((()=>{Z(i,"selectedItem")&&(o.current!==i.selectedItem&&r({type:19,inputValue:i.itemToString(i.selectedItem)}),o.current=s.selectedItem===o.current?i.selectedItem:s.selectedItem)})),[Q(s,i),r]}(_e,c,n),{isOpen:g,highlightedIndex:f,selectedItem:m,inputValue:I}=h,y=t.useRef(null),v=t.useRef({}),x=t.useRef(null),b=t.useRef(null),w=t.useRef(null),S=t.useRef(!0),C=ge(n),k=t.useRef(),M=ye({state:h,props:n}),E=t.useCallback((e=>v.current[C.getItemId(e)]),[C]);Oe(l,[g,f,I,s],{isInitialMount:S.current,previousResultCount:k.current,items:s,environment:u,itemToString:a,...h}),Oe(d,[m],{isInitialMount:S.current,previousResultCount:k.current,items:s,environment:u,itemToString:a,...h});const O=De({menuElement:y.current,highlightedIndex:f,isOpen:g,itemRefs:v,scrollIntoView:r,getItemNodeFromIndex:E});Re({isInitialMount:S.current,props:n,state:h}),t.useEffect((()=>{(i||o||g)&&x.current&&x.current.focus()}),[]),t.useEffect((()=>{S.current||(k.current=s.length)}));const D=Me(g,[w,y,b],u,(()=>{p({type:7,selectItem:!1})})),R=Ee();t.useEffect((()=>{S.current=!1}),[]),t.useEffect((()=>{g||(v.current={})}),[g]);const K=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:0,shiftKey:e.shiftKey,getItemNodeFromIndex:E})},ArrowUp(e){e.preventDefault(),p({type:1,shiftKey:e.shiftKey,getItemNodeFromIndex:E})},Home(e){M.current.state.isOpen&&(e.preventDefault(),p({type:3,getItemNodeFromIndex:E}))},End(e){M.current.state.isOpen&&(e.preventDefault(),p({type:4,getItemNodeFromIndex:E}))},Escape(e){const t=M.current.state;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),p({type:2}))},Enter(e){const t=M.current.state;!t.isOpen||t.highlightedIndex<0||229===e.which||(e.preventDefault(),p({type:5,getItemNodeFromIndex:E}))}})),[p,M,E]),H=t.useCallback((e=>({id:C.labelId,htmlFor:C.inputId,...e})),[C]),P=t.useCallback((function(e,t){let{onMouseLeave:n,refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===t?{}:t;return R("getMenuProps",r,i,y),{[i]:z(o,(e=>{y.current=e})),id:C.menuId,role:"listbox","aria-labelledby":C.labelId,onMouseLeave:W(n,(()=>{p({type:8})})),...s}}),[p,R,C]),T=t.useCallback((function(e){let{item:t,index:n,refKey:i="ref",ref:o,onMouseMove:s,onMouseDown:r,onClick:u,onPress:l,disabled:d,...a}=void 0===e?{}:e;const{props:c,state:h}=M.current,g=fe(n,t,c.items);if(g<0)throw new Error("Pass either item or item index in getItemProps!");const f=u;return{[i]:z(o,(e=>{e&&(v.current[C.getItemId(g)]=e)})),disabled:d,role:"option","aria-selected":`${g===h.highlightedIndex}`,id:C.getItemId(g),...!d&&{onClick:W(f,(()=>{p({type:10,index:n})}))},onMouseMove:W(s,(()=>{n!==h.highlightedIndex&&(O.current=!1,p({type:9,index:n,disabled:d}))})),onMouseDown:W(r,(e=>e.preventDefault())),...a}}),[p,M,O,C]),V=t.useCallback((function(e){let{onClick:t,onPress:n,refKey:i="ref",ref:o,...s}=void 0===e?{}:e;return{[i]:z(o,(e=>{b.current=e})),id:C.toggleButtonId,tabIndex:-1,...!s.disabled&&{onClick:W(t,(()=>{p({type:11}),!M.current.state.isOpen&&x.current&&x.current.focus()}))},...s}}),[p,M,C]),F=t.useCallback((function(e,t){let{onKeyDown:n,onChange:i,onInput:o,onBlur:s,onChangeText:r,refKey:u="ref",ref:l,...d}=void 0===e?{}:e,{suppressRefError:a=!1}=void 0===t?{}:t;R("getInputProps",a,u,x);const c=M.current.state,h=e=>{const t=ee(e);t&&K[t]&&K[t](e)},g=e=>{p({type:6,inputValue:e.target.value})},f=()=>{c.isOpen&&!D.current.isMouseDown&&p({type:7,selectItem:!0})};let m={};return d.disabled||(m={onInput:W(i,o,g),onKeyDown:W(n,h),onBlur:W(s,f)}),{[u]:z(l,(e=>{x.current=e})),id:C.inputId,"aria-autocomplete":"list","aria-controls":C.menuId,...c.isOpen&&c.highlightedIndex>-1&&{"aria-activedescendant":C.getItemId(c.highlightedIndex)},"aria-labelledby":C.labelId,autoComplete:"off",value:c.inputValue,...m,...d}}),[p,K,M,D,R,C]),N=t.useCallback((function(e,t){let{refKey:n="ref",ref:i,...o}=void 0===e?{}:e,{suppressRefError:s=!1}=void 0===t?{}:t;return R("getComboboxProps",s,n,w),{[n]:z(i,(e=>{w.current=e})),role:"combobox","aria-haspopup":"listbox","aria-owns":C.menuId,"aria-expanded":M.current.state.isOpen,...o}}),[M,R,C]),A=t.useCallback((()=>{p({type:12})}),[p]),$=t.useCallback((()=>{p({type:14})}),[p]),B=t.useCallback((()=>{p({type:13})}),[p]),L=t.useCallback((e=>{p({type:15,highlightedIndex:e})}),[p]),_=t.useCallback((e=>{p({type:16,selectedItem:e})}),[p]);return{getItemProps:T,getLabelProps:H,getMenuProps:P,getInputProps:F,getComboboxProps:N,getToggleButtonProps:V,toggleMenu:A,openMenu:B,closeMenu:$,setHighlightedIndex:L,setInputValue:t.useCallback((e=>{p({type:17,inputValue:e})}),[p]),selectItem:_,reset:t.useCallback((()=>{p({type:18})}),[p]),highlightedIndex:f,isOpen:g,selectedItem:m,inputValue:I}}je.stateChangeTypes=$e;const Ue={activeIndex:-1,selectedItems:[]};function We(e,t){return Se(e,t,Ue)}function ze(e,t){return we(e,t,Ue)}function qe(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;const t=e.target;return!(t instanceof HTMLInputElement&&""!==t.value)||0===t.selectionStart&&0===t.selectionEnd}o.default.array,o.default.array,o.default.array,o.default.func,o.default.func,o.default.func,o.default.number,o.default.number,o.default.number,o.default.func,o.default.func,o.default.string,o.default.string,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});const Xe={itemToString:be.itemToString,stateReducer:be.stateReducer,environment:be.environment,getA11yRemovalMessage:function(e){const{removedSelectedItem:t,itemToString:n}=e;return`${n(t)} has been removed.`},keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"};let Ye=L;var Ge=Object.freeze({__proto__:null,SelectedItemClick:0,SelectedItemKeyDownDelete:1,SelectedItemKeyDownBackspace:2,SelectedItemKeyDownNavigationNext:3,SelectedItemKeyDownNavigationPrevious:4,DropdownKeyDownNavigationPrevious:5,DropdownKeyDownBackspace:6,DropdownClick:7,FunctionAddSelectedItem:8,FunctionRemoveSelectedItem:9,FunctionSetSelectedItems:10,FunctionSetActiveIndex:11,FunctionReset:12});function Je(e,t){const{type:n,index:i,props:o,selectedItem:s}=t,{activeIndex:r,selectedItems:u}=e;let l;switch(n){case 0:l={activeIndex:i};break;case 4:l={activeIndex:r-1<0?0:r-1};break;case 3:l={activeIndex:r+1>=u.length?-1:r+1};break;case 2:case 1:{let e=r;1===u.length?e=-1:r===u.length-1&&(e=u.length-2),l={selectedItems:[...u.slice(0,r),...u.slice(r+1)],activeIndex:e};break}case 5:l={activeIndex:u.length-1};break;case 6:l={selectedItems:u.slice(0,u.length-1)};break;case 8:l={selectedItems:[...u,s]};break;case 7:l={activeIndex:-1};break;case 9:{let e=r;const t=u.indexOf(s);t>=0&&(1===u.length?e=-1:t===u.length-1&&(e=u.length-2),l={selectedItems:[...u.slice(0,t),...u.slice(t+1)],activeIndex:e});break}case 10:{const{selectedItems:e}=t;l={selectedItems:e};break}case 11:{const{activeIndex:e}=t;l={activeIndex:e};break}case 12:l={activeIndex:ze(o,"activeIndex"),selectedItems:ze(o,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return{...e,...l}}function Qe(e){void 0===e&&(e={}),Ye();const n={...Xe,...e},{getA11yRemovalMessage:i,itemToString:o,environment:s,keyNavigationNext:r,keyNavigationPrevious:u}=n,[l,d]=xe(Je,function(e){return{activeIndex:We(e,"activeIndex"),selectedItems:We(e,"selectedItems")}}(n),n),{activeIndex:a,selectedItems:c}=l,h=t.useRef(!0),p=t.useRef(null),g=t.useRef(c),f=t.useRef();f.current=[];const m=ye({state:l,props:n});t.useEffect((()=>{if(!h.current){if(c.length<g.current.length){const e=g.current.find((e=>c.indexOf(e)<0));se(i({itemToString:o,resultCount:c.length,removedSelectedItem:e,activeIndex:a,activeSelectedItem:c[a]}),s.document)}g.current=c}}),[c.length]),t.useEffect((()=>{h.current||(-1===a&&p.current?p.current.focus():f.current[a]&&f.current[a].focus())}),[a]),Re({isInitialMount:h.current,props:n,state:l});const I=Ee();t.useEffect((()=>{h.current=!1}),[]);const y=t.useMemo((()=>({[u](){d({type:4})},[r](){d({type:3})},Delete(){d({type:1})},Backspace(){d({type:2})}})),[d,r,u]),v=t.useMemo((()=>({[u](e){qe(e)&&d({type:5})},Backspace(e){qe(e)&&d({type:6})}})),[d,u]);return{getSelectedItemProps:t.useCallback((function(e){let{refKey:t="ref",ref:n,onClick:i,onKeyDown:o,selectedItem:s,index:r,...u}=void 0===e?{}:e;const{state:l}=m.current;if(fe(r,s,l.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");return{[t]:z(n,(e=>{e&&f.current.push(e)})),tabIndex:r===l.activeIndex?0:-1,onClick:W(i,(()=>{d({type:0,index:r})})),onKeyDown:W(o,(e=>{const t=ee(e);t&&y[t]&&y[t](e)})),...u}}),[d,m,y]),getDropdownProps:t.useCallback((function(e,t){let{refKey:n="ref",ref:i,onKeyDown:o,onClick:s,preventKeyAction:r=!1,...u}=void 0===e?{}:e,{suppressRefError:l=!1}=void 0===t?{}:t;return I("getDropdownProps",l,n,p),{[n]:z(i,(e=>{e&&(p.current=e)})),...!r&&{onKeyDown:W(o,(e=>{const t=ee(e);t&&v[t]&&v[t](e)})),onClick:W(s,(()=>{d({type:7})}))},...u}}),[d,v,I]),addSelectedItem:t.useCallback((e=>{d({type:8,selectedItem:e})}),[d]),removeSelectedItem:t.useCallback((e=>{d({type:9,selectedItem:e})}),[d]),setSelectedItems:t.useCallback((e=>{d({type:10,selectedItems:e})}),[d]),setActiveIndex:t.useCallback((e=>{d({type:11,activeIndex:e})}),[d]),reset:t.useCallback((()=>{d({type:12})}),[d]),selectedItems:c,activeIndex:a}}Qe.stateChangeTypes=Ge,e.default=de,e.resetIdCounter=function(){$=0},e.useCombobox=je,e.useMultipleSelection=Qe,e.useSelect=Ae,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=downshift.umd.min.js.map
|