UNPKG

53.4 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Downshift={},e.React)}(this,(function(e,t){"use strict";function n(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var u={exports:{}},s={},a="function"==typeof Symbol&&Symbol.for,c=a?Symbol.for("react.element"):60103,l=a?Symbol.for("react.portal"):60106,d=a?Symbol.for("react.fragment"):60107,p=a?Symbol.for("react.strict_mode"):60108,f=a?Symbol.for("react.profiler"):60114,h=a?Symbol.for("react.provider"):60109,g=a?Symbol.for("react.context"):60110,m=a?Symbol.for("react.async_mode"):60111,I=a?Symbol.for("react.concurrent_mode"):60111,v=a?Symbol.for("react.forward_ref"):60112,y=a?Symbol.for("react.suspense"):60113,b=a?Symbol.for("react.suspense_list"):60120,x=a?Symbol.for("react.memo"):60115,w=a?Symbol.for("react.lazy"):60116,S=a?Symbol.for("react.block"):60121,C=a?Symbol.for("react.fundamental"):60117,k=a?Symbol.for("react.responder"):60118,O=a?Symbol.for("react.scope"):60119;function M(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case c:switch(e=e.type){case m:case I:case d:case f:case p:case y:return e;default:switch(e=e&&e.$$typeof){case g:case v:case w:case x:case h:return e;default:return t}}case l:return t}}}function E(e){return M(e)===I}s.AsyncMode=m,s.ConcurrentMode=I,s.ContextConsumer=g,s.ContextProvider=h,s.Element=c,s.ForwardRef=v,s.Fragment=d,s.Lazy=w,s.Memo=x,s.Portal=l,s.Profiler=f,s.StrictMode=p,s.Suspense=y,s.isAsyncMode=function(e){return E(e)||M(e)===m},s.isConcurrentMode=E,s.isContextConsumer=function(e){return M(e)===g},s.isContextProvider=function(e){return M(e)===h},s.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===c},s.isForwardRef=function(e){return M(e)===v},s.isFragment=function(e){return M(e)===d},s.isLazy=function(e){return M(e)===w},s.isMemo=function(e){return M(e)===x},s.isPortal=function(e){return M(e)===l},s.isProfiler=function(e){return M(e)===f},s.isStrictMode=function(e){return M(e)===p},s.isSuspense=function(e){return M(e)===y},s.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===d||e===I||e===f||e===p||e===y||e===b||"object"==typeof e&&null!==e&&(e.$$typeof===w||e.$$typeof===x||e.$$typeof===h||e.$$typeof===g||e.$$typeof===v||e.$$typeof===C||e.$$typeof===k||e.$$typeof===O||e.$$typeof===S)},s.typeOf=M;
2/*
3 object-assign
4 (c) Sindre Sorhus
5 @license MIT
6 */
7Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;!function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()||Object.assign;Function.call.bind(Object.prototype.hasOwnProperty);function D(){}function K(){}K.resetWarningCache=D;u.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:K,resetWarningCache:D};return n.PropTypes=n,n}();var P=u.exports,R={},T=60103,H=60106,F=60107,V=60108,A=60114,N=60109,L=60110,B=60112,_=60113,$=60120,j=60115,U=60116,W=60121,z=60122,q=60117,Y=60129,X=60131;if("function"==typeof Symbol&&Symbol.for){var G=Symbol.for;T=G("react.element"),H=G("react.portal"),F=G("react.fragment"),V=G("react.strict_mode"),A=G("react.profiler"),N=G("react.provider"),L=G("react.context"),B=G("react.forward_ref"),_=G("react.suspense"),$=G("react.suspense_list"),j=G("react.memo"),U=G("react.lazy"),W=G("react.block"),z=G("react.server.block"),q=G("react.fundamental"),Y=G("react.debug_trace_mode"),X=G("react.legacy_hidden")}function J(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case T:switch(e=e.type){case F:case A:case V:case _:case $:return e;default:switch(e=e&&e.$$typeof){case L:case B:case U:case j:case N:return e;default:return t}}case H:return t}}}var Q=N,Z=T,ee=B,te=F,ne=U,re=j,oe=H,ie=A,ue=V,se=_;function ae(e){return"object"==typeof e&&null!=e&&1===e.nodeType}function ce(e,t){return(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e}function le(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return ce(n.overflowY,t)||ce(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 de(e,t,n,r,o,i,u,s){return i<e&&u>t||i>e&&u<t?0:i<=e&&s<=n||u>=t&&s>=n?i-e-r:u>t&&s<n||i<e&&s>n?u-t+o:0}R.ContextConsumer=L,R.ContextProvider=Q,R.Element=Z,R.ForwardRef=ee,R.Fragment=te,R.Lazy=ne,R.Memo=re,R.Portal=oe,R.Profiler=ie,R.StrictMode=ue,R.Suspense=se,R.isAsyncMode=function(){return!1},R.isConcurrentMode=function(){return!1},R.isContextConsumer=function(e){return J(e)===L},R.isContextProvider=function(e){return J(e)===N},R.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===T},R.isForwardRef=function(e){return J(e)===B},R.isFragment=function(e){return J(e)===F},R.isLazy=function(e){return J(e)===U},R.isMemo=function(e){return J(e)===j},R.isPortal=function(e){return J(e)===H},R.isProfiler=function(e){return J(e)===A},R.isStrictMode=function(e){return J(e)===V},R.isSuspense=function(e){return J(e)===_},R.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===F||e===A||e===Y||e===V||e===_||e===$||e===X||"object"==typeof e&&null!==e&&(e.$$typeof===U||e.$$typeof===j||e.$$typeof===N||e.$$typeof===L||e.$$typeof===B||e.$$typeof===q||e.$$typeof===W||e[0]===z)},R.typeOf=J;var pe=0;function fe(e){return"function"==typeof e?e:he}function he(){}function ge(e,t){e&&function(e,t){var n=window,r=t.scrollMode,o=t.block,i=t.inline,u=t.boundary,s=t.skipOverflowHiddenElements,a="function"==typeof u?u:function(e){return e!==u};if(!ae(e))throw new TypeError("Invalid target");for(var c=document.scrollingElement||document.documentElement,l=[],d=e;ae(d)&&a(d);){if((d=d.parentElement)===c){l.push(d);break}null!=d&&d===document.body&&le(d)&&!le(document.documentElement)||null!=d&&le(d,s)&&l.push(d)}for(var p=n.visualViewport?n.visualViewport.width:innerWidth,f=n.visualViewport?n.visualViewport.height:innerHeight,h=window.scrollX||pageXOffset,g=window.scrollY||pageYOffset,m=e.getBoundingClientRect(),I=m.height,v=m.width,y=m.top,b=m.right,x=m.bottom,w=m.left,S="start"===o||"nearest"===o?y:"end"===o?x:y+I/2,C="center"===i?w+v/2:"end"===i?b:w,k=[],O=0;O<l.length;O++){var M=l[O],E=M.getBoundingClientRect(),D=E.height,K=E.width,P=E.top,R=E.right,T=E.bottom,H=E.left;if("if-needed"===r&&y>=0&&w>=0&&x<=f&&b<=p&&y>=P&&x<=T&&w>=H&&b<=R)return k;var F=getComputedStyle(M),V=parseInt(F.borderLeftWidth,10),A=parseInt(F.borderTopWidth,10),N=parseInt(F.borderRightWidth,10),L=parseInt(F.borderBottomWidth,10),B=0,_=0,$="offsetWidth"in M?M.offsetWidth-M.clientWidth-V-N:0,j="offsetHeight"in M?M.offsetHeight-M.clientHeight-A-L:0;if(c===M)B="start"===o?S:"end"===o?S-f:"nearest"===o?de(g,g+f,f,A,L,g+S,g+S+I,I):S-f/2,_="start"===i?C:"center"===i?C-p/2:"end"===i?C-p:de(h,h+p,p,V,N,h+C,h+C+v,v),B=Math.max(0,B+g),_=Math.max(0,_+h);else{B="start"===o?S-P-A:"end"===o?S-T+L+j:"nearest"===o?de(P,T,D,A,L+j,S,S+I,I):S-(P+D/2)+j/2,_="start"===i?C-H-V:"center"===i?C-(H+K/2)+$/2:"end"===i?C-R+N+$:de(H,R,K,V,N+$,C,C+v,v);var U=M.scrollLeft,W=M.scrollTop;S+=W-(B=Math.max(0,Math.min(W+B,M.scrollHeight-D+j))),C+=U-(_=Math.max(0,Math.min(U+_,M.scrollWidth-K+$)))}k.push({el:M,top:B,left:_})}return k}(e,{boundary:t,block:"nearest",scrollMode:"if-needed"}).forEach((function(e){var t=e.el,n=e.top,r=e.left;t.scrollTop=n,t.scrollLeft=r}))}function me(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function Ie(e,t){var n;function r(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,i=new Array(o),u=0;u<o;u++)i[u]=arguments[u];r(),n=setTimeout((function(){n=null,e.apply(void 0,i)}),t)}return o.cancel=r,o}function ve(){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,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.some((function(t){return t&&t.apply(void 0,[e].concat(r)),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault}))}}function ye(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){t.forEach((function(t){"function"==typeof t?t(e):t&&(t.current=e)}))}}function be(){return String(pe++)}function xe(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?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 we(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}var Se=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function Ce(e){void 0===e&&(e={});var t={};return Se.forEach((function(n){e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function ke(e,t){return Object.keys(e).reduce((function(n,r){return n[r]=Oe(t,r)?t[r]:e[r],n}),{})}function Oe(e,t){return void 0!==e[t]}function Me(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function Ee(e,t,n,r,o){if(void 0===o&&(o=!0),0===n)return-1;var i=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:i+1);var u=t+e;u<0?u=o?i:0:u>i&&(u=o?0:i);var s=De(e,u,n,r,o);return-1===s?t>=n?-1:t:s}function De(e,t,n,r,o){var i=r(t);if(!i||!i.hasAttribute("disabled"))return t;if(e>0){for(var u=t+1;u<n;u++)if(!r(u).hasAttribute("disabled"))return u}else for(var s=t-1;s>=0;s--)if(!r(s).hasAttribute("disabled"))return s;return o?e>0?De(1,0,n,r,!1):De(-1,n-1,n,r,!1):-1}function Ke(e,t,n,r){return void 0===r&&(r=!0),t.some((function(t){return t&&(me(t,e,n)||r&&me(t,n.document.activeElement,n))}))}var Pe=Ie((function(e){Te(e).textContent=""}),500);function Re(e,t){var n=Te(t);e&&(n.textContent=e,Pe(t))}function Te(e){void 0===e&&(e=document);var t=e.getElementById("a11y-status-message");return t||((t=e.createElement("div")).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 He=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}),Fe=["refKey","ref"],Ve=["onClick","onPress","onKeyDown","onKeyUp","onBlur"],Ae=["onKeyDown","onBlur","onChange","onInput","onChangeText"],Ne=["refKey","ref"],Le=["onMouseMove","onMouseDown","onClick","onPress","index","item"],Be=function(){var e=function(e){var u,s;function a(t){var i=e.call(this,t)||this;i.id=i.props.id||"downshift-"+be(),i.menuId=i.props.menuId||i.id+"-menu",i.labelId=i.props.labelId||i.id+"-label",i.inputId=i.props.inputId||i.id+"-input",i.getItemId=i.props.getItemId||function(e){return i.id+"-item-"+e},i.input=null,i.items=[],i.itemCount=null,i.previousResultCount=0,i.timeoutIds=[],i.internalSetTimeout=function(e,t){var n=setTimeout((function(){i.timeoutIds=i.timeoutIds.filter((function(e){return e!==n})),e()}),t);i.timeoutIds.push(n)},i.setItemCount=function(e){i.itemCount=e},i.unsetItemCount=function(){i.itemCount=null},i.setHighlightedIndex=function(e,t){void 0===e&&(e=i.props.defaultHighlightedIndex),void 0===t&&(t={}),t=Ce(t),i.internalSetState(r({highlightedIndex:e},t))},i.clearSelection=function(e){i.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:i.props.defaultHighlightedIndex,isOpen:i.props.defaultIsOpen},e)},i.selectItem=function(e,t,n){t=Ce(t),i.internalSetState(r({isOpen:i.props.defaultIsOpen,highlightedIndex:i.props.defaultHighlightedIndex,selectedItem:e,inputValue:i.props.itemToString(e)},t),n)},i.selectItemAtIndex=function(e,t,n){var r=i.items[e];null!=r&&i.selectItem(r,t,n)},i.selectHighlightedItem=function(e,t){return i.selectItemAtIndex(i.getState().highlightedIndex,e,t)},i.internalSetState=function(e,t){var n,o,u={},s="function"==typeof e;return!s&&e.hasOwnProperty("inputValue")&&i.props.onInputValueChange(e.inputValue,r({},i.getStateAndHelpers(),e)),i.setState((function(t){t=i.getState(t);var a=s?e(t):e;a=i.props.stateReducer(t,a),n=a.hasOwnProperty("selectedItem");var c={},l={};return n&&a.selectedItem!==t.selectedItem&&(o=a.selectedItem),a.type=a.type||0,Object.keys(a).forEach((function(e){t[e]!==a[e]&&(u[e]=a[e]),"type"!==e&&(l[e]=a[e],Oe(i.props,e)||(c[e]=a[e]))})),s&&a.hasOwnProperty("inputValue")&&i.props.onInputValueChange(a.inputValue,r({},i.getStateAndHelpers(),a)),c}),(function(){fe(t)(),Object.keys(u).length>1&&i.props.onStateChange(u,i.getStateAndHelpers()),n&&i.props.onSelect(e.selectedItem,i.getStateAndHelpers()),void 0!==o&&i.props.onChange(o,i.getStateAndHelpers()),i.props.onUserAction(u,i.getStateAndHelpers())}))},i.rootRef=function(e){return i._rootNode=e},i.getRootProps=function(e,t){var o,u=void 0===e?{}:e,s=u.refKey,a=void 0===s?"ref":s,c=u.ref,l=n(u,Fe),d=(void 0===t?{}:t).suppressRefError,p=void 0!==d&&d;i.getRootProps.called=!0,i.getRootProps.refKey=a,i.getRootProps.suppressRefError=p;var f=i.getState().isOpen;return r(((o={})[a]=ye(c,i.rootRef),o.role="combobox",o["aria-expanded"]=f,o["aria-haspopup"]="listbox",o["aria-owns"]=f?i.menuId:null,o["aria-labelledby"]=i.labelId,o),l)},i.keyDownHandlers={ArrowDown:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?5:1;this.moveHighlightedIndex(n,{type:4})}else this.internalSetState({isOpen:!0,type:4},(function(){var e=t.getItemCount();if(e>0){var n=Ee(1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:4})}}))},ArrowUp:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?-5:-1;this.moveHighlightedIndex(n,{type:3})}else this.internalSetState({isOpen:!0,type:3},(function(){var e=t.getItemCount();if(e>0){var n=Ee(-1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:3})}}))},Enter:function(e){if(229!==e.which){var t=this.getState(),n=t.isOpen,r=t.highlightedIndex;if(n&&null!=r){e.preventDefault();var o=this.items[r],i=this.getItemNodeFromIndex(r);if(null==o||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}}},Escape:function(e){e.preventDefault(),this.reset(r({type:5},!this.state.isOpen&&{selectedItem:null,inputValue:""}))}},i.buttonKeyDownHandlers=r({},i.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:12})}}),i.inputKeyDownHandlers=r({},i.keyDownHandlers,{Home:function(e){var t=this,n=this.getState().isOpen;if(n){e.preventDefault();var r=this.getItemCount();if(!(r<=0)&&n){var o=De(1,0,r,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(o,{type:7})}}},End:function(e){var t=this,n=this.getState().isOpen;if(n){e.preventDefault();var r=this.getItemCount();if(!(r<=0)&&n){var o=De(-1,r-1,r,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(o,{type:8})}}}}),i.getToggleButtonProps=function(e){var t=void 0===e?{}:e,o=t.onClick;t.onPress;var u=t.onKeyDown,s=t.onKeyUp,a=t.onBlur,c=n(t,Ve),l=i.getState().isOpen,d={onClick:ve(o,i.buttonHandleClick),onKeyDown:ve(u,i.buttonHandleKeyDown),onKeyUp:ve(s,i.buttonHandleKeyUp),onBlur:ve(a,i.buttonHandleBlur)};return r({type:"button",role:"button","aria-label":l?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},c.disabled?{}:d,c)},i.buttonHandleKeyUp=function(e){e.preventDefault()},i.buttonHandleKeyDown=function(e){var t=Me(e);i.buttonKeyDownHandlers[t]&&i.buttonKeyDownHandlers[t].call(o(i),e)},i.buttonHandleClick=function(e){e.preventDefault(),i.props.environment.document.activeElement===i.props.environment.document.body&&e.target.focus(),i.internalSetTimeout((function(){return i.toggleMenu({type:13})}))},i.buttonHandleBlur=function(e){var t=e.target;i.internalSetTimeout((function(){i.isMouseDown||null!=i.props.environment.document.activeElement&&i.props.environment.document.activeElement.id===i.inputId||i.props.environment.document.activeElement===t||i.reset({type:14})}))},i.getLabelProps=function(e){return r({htmlFor:i.inputId,id:i.labelId},e)},i.getInputProps=function(e){var t=void 0===e?{}:e,o=t.onKeyDown,u=t.onBlur,s=t.onChange,a=t.onInput;t.onChangeText;var c=n(t,Ae),l={};var d,p=i.getState(),f=p.inputValue,h=p.isOpen,g=p.highlightedIndex;c.disabled||((d={}).onChange=ve(s,a,i.inputHandleChange),d.onKeyDown=ve(o,i.inputHandleKeyDown),d.onBlur=ve(u,i.inputHandleBlur),l=d);return r({"aria-autocomplete":"list","aria-activedescendant":h&&"number"==typeof g&&g>=0?i.getItemId(g):null,"aria-controls":h?i.menuId:null,"aria-labelledby":i.labelId,autoComplete:"off",value:f,id:i.inputId},l,c)},i.inputHandleKeyDown=function(e){var t=Me(e);t&&i.inputKeyDownHandlers[t]&&i.inputKeyDownHandlers[t].call(o(i),e)},i.inputHandleChange=function(e){i.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:i.props.defaultHighlightedIndex})},i.inputHandleBlur=function(){i.internalSetTimeout((function(){var e=i.props.environment.document&&!!i.props.environment.document.activeElement&&!!i.props.environment.document.activeElement.dataset&&i.props.environment.document.activeElement.dataset.toggle&&i._rootNode&&i._rootNode.contains(i.props.environment.document.activeElement);i.isMouseDown||e||i.reset({type:10})}))},i.menuRef=function(e){i._menuNode=e},i.getMenuProps=function(e,t){var o,u=void 0===e?{}:e,s=u.refKey,a=void 0===s?"ref":s,c=u.ref,l=n(u,Ne),d=(void 0===t?{}:t).suppressRefError,p=void 0!==d&&d;return i.getMenuProps.called=!0,i.getMenuProps.refKey=a,i.getMenuProps.suppressRefError=p,r(((o={})[a]=ye(c,i.menuRef),o.role="listbox",o["aria-labelledby"]=l&&l["aria-label"]?null:i.labelId,o.id=i.menuId,o),l)},i.getItemProps=function(e){var t,o=void 0===e?{}:e,u=o.onMouseMove,s=o.onMouseDown,a=o.onClick;o.onPress;var c=o.index,l=o.item,d=void 0===l?void 0:l,p=n(o,Le);void 0===c?(i.items.push(d),c=i.items.indexOf(d)):i.items[c]=d;var f=a,h=((t={onMouseMove:ve(u,(function(){c!==i.getState().highlightedIndex&&(i.setHighlightedIndex(c,{type:2}),i.avoidScrolling=!0,i.internalSetTimeout((function(){return i.avoidScrolling=!1}),250))})),onMouseDown:ve(s,(function(e){e.preventDefault()}))}).onClick=ve(f,(function(){i.selectItemAtIndex(c,{type:9})})),t),g=p.disabled?{onMouseDown:h.onMouseDown}:h;return r({id:i.getItemId(c),role:"option","aria-selected":i.getState().highlightedIndex===c},g,p)},i.clearItems=function(){i.items=[]},i.reset=function(e,t){void 0===e&&(e={}),e=Ce(e),i.internalSetState((function(t){var n=t.selectedItem;return r({isOpen:i.props.defaultIsOpen,highlightedIndex:i.props.defaultHighlightedIndex,inputValue:i.props.itemToString(n)},e)}),t)},i.toggleMenu=function(e,t){void 0===e&&(e={}),e=Ce(e),i.internalSetState((function(t){var n=t.isOpen;return r({isOpen:!n},n&&{highlightedIndex:i.props.defaultHighlightedIndex},e)}),(function(){var n=i.getState(),r=n.isOpen,o=n.highlightedIndex;r&&i.getItemCount()>0&&"number"==typeof o&&i.setHighlightedIndex(o,e),fe(t)()}))},i.openMenu=function(e){i.internalSetState({isOpen:!0},e)},i.closeMenu=function(e){i.internalSetState({isOpen:!1},e)},i.updateStatus=Ie((function(){var e=i.getState(),t=i.items[e.highlightedIndex],n=i.getItemCount(),o=i.props.getA11yStatusMessage(r({itemToString:i.props.itemToString,previousResultCount:i.previousResultCount,resultCount:n,highlightedItem:t},e));i.previousResultCount=n,Re(o,i.props.environment.document)}),200);var u=i.props,s=u.defaultHighlightedIndex,a=u.initialHighlightedIndex,c=void 0===a?s:a,l=u.defaultIsOpen,d=u.initialIsOpen,p=void 0===d?l:d,f=u.initialInputValue,h=void 0===f?"":f,g=u.initialSelectedItem,m=void 0===g?null:g,I=i.getState({highlightedIndex:c,isOpen:p,inputValue:h,selectedItem:m});return null!=I.selectedItem&&void 0===i.props.initialInputValue&&(I.inputValue=i.props.itemToString(I.selectedItem)),i.state=I,i}s=e,(u=a).prototype=Object.create(s.prototype),u.prototype.constructor=u,i(u,s);var c=a.prototype;return c.internalClearTimeouts=function(){this.timeoutIds.forEach((function(e){clearTimeout(e)})),this.timeoutIds=[]},c.getState=function(e){return void 0===e&&(e=this.state),ke(e,this.props)},c.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},c.getItemNodeFromIndex=function(e){return this.props.environment.document.getElementById(this.getItemId(e))},c.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},c.moveHighlightedIndex=function(e,t){var n=this,r=this.getItemCount(),o=this.getState().highlightedIndex;if(r>0){var i=Ee(e,o,r,(function(e){return n.getItemNodeFromIndex(e)}));this.setHighlightedIndex(i,t)}},c.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,r=e.selectedItem,o=e.isOpen,i=this.props.itemToString,u=this.id,s=this.getRootProps,a=this.getToggleButtonProps,c=this.getLabelProps,l=this.getMenuProps,d=this.getInputProps,p=this.getItemProps,f=this.openMenu,h=this.closeMenu,g=this.toggleMenu,m=this.selectItem,I=this.selectItemAtIndex,v=this.selectHighlightedItem,y=this.setHighlightedIndex,b=this.clearSelection,x=this.clearItems;return{getRootProps:s,getToggleButtonProps:a,getLabelProps:c,getMenuProps:l,getInputProps:d,getItemProps:p,reset:this.reset,openMenu:f,closeMenu:h,toggleMenu:g,selectItem:m,selectItemAtIndex:I,selectHighlightedItem:v,setHighlightedIndex:y,clearSelection:b,clearItems:x,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:i,id:u,highlightedIndex:t,inputValue:n,isOpen:o,selectedItem:r}},c.componentDidMount=function(){var e=this,t=function(){e.isMouseDown=!0},n=function(t){e.isMouseDown=!1,!Ke(t.target,[e._rootNode,e._menuNode],e.props.environment)&&e.getState().isOpen&&e.reset({type:1},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},r=function(){e.isTouchMove=!1},o=function(){e.isTouchMove=!0},i=function(t){var n=Ke(t.target,[e._rootNode,e._menuNode],e.props.environment,!1);e.isTouchMove||n||!e.getState().isOpen||e.reset({type:16},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},u=this.props.environment;u.addEventListener("mousedown",t),u.addEventListener("mouseup",n),u.addEventListener("touchstart",r),u.addEventListener("touchmove",o),u.addEventListener("touchend",i),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),u.removeEventListener("mousedown",t),u.removeEventListener("mouseup",n),u.removeEventListener("touchstart",r),u.removeEventListener("touchmove",o),u.removeEventListener("touchend",i)}},c.shouldScroll=function(e,t){var n=(void 0===this.props.highlightedIndex?this.getState():this.props).highlightedIndex,r=(void 0===t.highlightedIndex?e:t).highlightedIndex;return n&&this.getState().isOpen&&!e.isOpen||n!==r},c.componentDidUpdate=function(e,t){Oe(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()},c.componentWillUnmount=function(){this.cleanup()},c.render=function(){var e=we(this.props.children,he);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;var n=we(e(this.getStateAndHelpers()));return n?this.getRootProps.called||this.props.suppressRefError?n:function(e){return"string"==typeof e.type}(n)?t.cloneElement(n,this.getRootProps(function(e){return e.props}(n))):void 0:null},a}(t.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:xe,itemToString:function(e){return null==e?"":String(e)},onStateChange:he,onInputValueChange:he,onUserAction:he,onChange:he,onSelect:he,onOuterClick:he,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?{}:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:ge},e.stateChangeTypes=He,e}(),_e=["isInitialMount","highlightedIndex","items","environment"],$e={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function je(e,t,n){var o=e.props,i=e.type,u={};Object.keys(t).forEach((function(o){!function(e,t,n,o){var i=t.props,u=t.type,s="on"+Xe(e)+"Change";i[s]&&void 0!==o[e]&&o[e]!==n[e]&&i[s](r({type:u},o))}(o,e,t,n),n[o]!==t[o]&&(u[o]=n[o])})),o.onStateChange&&Object.keys(u).length&&o.onStateChange(r({type:i},u))}var Ue=Ie((function(e,t){Re(e(),t)}),200),We="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect;function ze(e){var n=e.id,r=void 0===n?"downshift-"+be():n,o=e.labelId,i=e.menuId,u=e.getItemId,s=e.toggleButtonId,a=e.inputId;return t.useRef({labelId:o||r+"-label",menuId:i||r+"-menu",getItemId:u||function(e){return r+"-item-"+e},toggleButtonId:s||r+"-toggle-button",inputId:a||r+"-input"}).current}function qe(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function Ye(e){return/^\S{1}$/.test(e)}function Xe(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function Ge(e){var n=t.useRef(e);return n.current=e,n}function Je(e,n,o){var i=t.useRef(),u=t.useRef(),s=t.useCallback((function(t,n){u.current=n,t=ke(t,n.props);var o=e(t,n);return n.props.stateReducer(t,r({},n,{changes:o}))}),[e]),a=t.useReducer(s,n),c=a[0],l=a[1],d=Ge(o),p=t.useCallback((function(e){return l(r({props:d.current},e))}),[d]),f=u.current;return t.useEffect((function(){f&&i.current&&i.current!==c&&je(f,ke(i.current,f.props),c),i.current=c}),[c,o,f]),[c,p]}function Qe(e,t,n){var r=Je(e,t,n),o=r[0],i=r[1];return[ke(o,n),i]}var Ze={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11ySelectionMessage:function(e){var t=e.selectedItem,n=e.itemToString;return t?n(t)+" has been selected.":""},scrollIntoView:ge,circularNavigation:!1,environment:"undefined"==typeof window?{}:window};function et(e,t,n){void 0===n&&(n=$e);var r="default"+Xe(t);return r in e?e[r]:n[t]}function tt(e,t,n){if(void 0===n&&(n=$e),t in e)return e[t];var r="initial"+Xe(t);return r in e?e[r]:et(e,t,n)}function nt(e){var t=tt(e,"selectedItem"),n=tt(e,"isOpen"),r=tt(e,"highlightedIndex"),o=tt(e,"inputValue");return{highlightedIndex:r<0&&t&&n?e.items.indexOf(t):r,isOpen:n,selectedItem:t,inputValue:o}}function rt(e,t,n,r){var o=e.items,i=e.initialHighlightedIndex,u=e.defaultHighlightedIndex,s=t.selectedItem,a=t.highlightedIndex;return 0===o.length?-1:void 0!==i&&a===i?i:void 0!==u?u:s?0===n?o.indexOf(s):Ee(n,o.indexOf(s),o.length,r,!1):0===n?-1:n<0?o.length-1:0}function ot(e,n,r,o){var i=t.useRef({isMouseDown:!1,isTouchMove:!1});return t.useEffect((function(){var t=function(){i.current.isMouseDown=!0},u=function(t){i.current.isMouseDown=!1,e&&!Ke(t.target,n.map((function(e){return e.current})),r)&&o()},s=function(){i.current.isTouchMove=!1},a=function(){i.current.isTouchMove=!0},c=function(t){!e||i.current.isTouchMove||Ke(t.target,n.map((function(e){return e.current})),r,!1)||o()};return r.addEventListener("mousedown",t),r.addEventListener("mouseup",u),r.addEventListener("touchstart",s),r.addEventListener("touchmove",a),r.addEventListener("touchend",c),function(){r.removeEventListener("mousedown",t),r.removeEventListener("mouseup",u),r.removeEventListener("touchstart",s),r.removeEventListener("touchmove",a),r.removeEventListener("touchend",c)}}),[e,r]),i}var it=function(){return he};function ut(e,o,i){var u=i.isInitialMount,s=i.highlightedIndex,a=i.items,c=i.environment,l=n(i,_e);t.useEffect((function(){u||Ue((function(){return e(r({highlightedIndex:s,highlightedItem:a[s],resultCount:a.length},l))}),c.document)}),o)}function st(e){var n=e.highlightedIndex,r=e.isOpen,o=e.itemRefs,i=e.getItemNodeFromIndex,u=e.menuElement,s=e.scrollIntoView,a=t.useRef(!0);return We((function(){n<0||!r||!Object.keys(o.current).length||(!1===a.current?a.current=!0:s(i(n),u))}),[n]),a}var at=he;function ct(e,t,n){var o,i=t.type,u=t.props;switch(i){case n.ItemMouseMove:o={highlightedIndex:t.index};break;case n.MenuMouseLeave:o={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:rt(u,e,0)};break;case n.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:rt(u,e,0)};break;case n.FunctionCloseMenu:o={isOpen:!1};break;case n.FunctionSetHighlightedIndex:o={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:o={inputValue:t.inputValue};break;case n.FunctionReset:o={highlightedIndex:et(u,"highlightedIndex"),isOpen:et(u,"isOpen"),selectedItem:et(u,"selectedItem"),inputValue:et(u,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return r({},e,o)}
8/*! *****************************************************************************
9 Copyright (c) Microsoft Corporation.
10
11 Permission to use, copy, modify, and/or distribute this software for any
12 purpose with or without fee is hereby granted.
13
14 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
16 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
17 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 PERFORMANCE OF THIS SOFTWARE.
21 ***************************************************************************** */var lt=function(){return(lt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function dt(e){for(var t=e.keysSoFar,n=e.highlightedIndex,r=e.items,o=e.itemToString,i=e.getItemNodeFromIndex,u=t.toLowerCase(),s=0;s<r.length;s++){var a=(s+n+1)%r.length,c=r[a];if(void 0!==c&&o(c).toLowerCase().startsWith(u)){var l=i(a);if(!(null==l?void 0:l.hasAttribute("disabled")))return a}}return n}P.array.isRequired,P.func,P.func,P.func,P.bool,P.number,P.number,P.number,P.bool,P.bool,P.bool,P.any,P.any,P.any,P.string,P.string,P.string,P.func,P.string,P.func,P.func,P.func,P.func,P.func,P.shape({addEventListener:P.func,removeEventListener:P.func,document:P.shape({getElementById:P.func,activeElement:P.any,body:P.any})});var pt=lt(lt({},Ze),{getA11yStatusMessage:function(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?n+" result"+(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.":""}}),ft=he,ht=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 gt(e,t){var n,o=t.type,i=t.props,u=t.shiftKey;switch(o){case 11:n={isOpen:et(i,"isOpen"),highlightedIndex:et(i,"highlightedIndex"),selectedItem:i.items[t.index]};break;case 15:var s=t.key,a=""+e.inputValue+s,c=dt({keysSoFar:a,highlightedIndex:e.selectedItem?i.items.indexOf(e.selectedItem):-1,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});n=r({inputValue:a},c>=0&&{selectedItem:i.items[c]});break;case 13:n={highlightedIndex:rt(i,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case 14:n={highlightedIndex:rt(i,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case 5:case 6:n=r({isOpen:et(i,"isOpen"),highlightedIndex:et(i,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]});break;case 3:n={highlightedIndex:De(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:n={highlightedIndex:De(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 2:case 8:n={isOpen:!1,highlightedIndex:-1};break;case 7:var l=t.key,d=""+e.inputValue+l,p=dt({keysSoFar:d,highlightedIndex:e.highlightedIndex,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});n=r({inputValue:d},p>=0&&{highlightedIndex:p});break;case 0:n={highlightedIndex:Ee(u?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 1:n={highlightedIndex:Ee(u?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 20:n={selectedItem:t.selectedItem};break;default:return ct(e,t,ht)}return r({},e,n)}var mt=["onMouseLeave","refKey","onKeyDown","onBlur","ref"],It=["onClick","onKeyDown","refKey","ref"],vt=["item","index","onMouseMove","onClick","refKey","ref"];function yt(e){void 0===e&&(e={}),ft(e,yt);var o=r({},pt,e),i=o.items,u=o.scrollIntoView,s=o.environment,a=o.initialIsOpen,c=o.defaultIsOpen,l=o.itemToString,d=o.getA11ySelectionMessage,p=o.getA11yStatusMessage,f=Qe(gt,nt(o),o),h=f[0],g=f[1],m=h.isOpen,I=h.highlightedIndex,v=h.selectedItem,y=h.inputValue,b=t.useRef(null),x=t.useRef(null),w=t.useRef({}),S=t.useRef(!0),C=t.useRef(null),k=ze(o),O=t.useRef(),M=t.useRef(!0),E=Ge({state:h,props:o}),D=t.useCallback((function(e){return w.current[k.getItemId(e)]}),[k]);ut(p,[m,I,y,i],r({isInitialMount:M.current,previousResultCount:O.current,items:i,environment:s,itemToString:l},h)),ut(d,[v],r({isInitialMount:M.current,previousResultCount:O.current,items:i,environment:s,itemToString:l},h));var K=st({menuElement:x.current,highlightedIndex:I,isOpen:m,itemRefs:w,scrollIntoView:u,getItemNodeFromIndex:D});t.useEffect((function(){return C.current=Ie((function(e){e({type:21,inputValue:""})}),500),function(){C.current.cancel()}}),[]),t.useEffect((function(){y&&C.current(g)}),[g,y]),at({isInitialMount:M.current,props:o,state:h}),t.useEffect((function(){M.current?(a||c||m)&&x.current&&x.current.focus():m?x.current&&x.current.focus():s.document.activeElement===x.current&&b.current&&(S.current=!1,b.current.focus())}),[m]),t.useEffect((function(){M.current||(O.current=i.length)}));var P=ot(m,[x,b],s,(function(){g({type:8})})),R=it();t.useEffect((function(){M.current=!1}),[]),t.useEffect((function(){m||(w.current={})}),[m]);var T=t.useMemo((function(){return{ArrowDown:function(e){e.preventDefault(),g({type:13,getItemNodeFromIndex:D,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),g({type:14,getItemNodeFromIndex:D,shiftKey:e.shiftKey})}}}),[g,D]),H=t.useMemo((function(){return{ArrowDown:function(e){e.preventDefault(),g({type:0,getItemNodeFromIndex:D,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),g({type:1,getItemNodeFromIndex:D,shiftKey:e.shiftKey})},Home:function(e){e.preventDefault(),g({type:3,getItemNodeFromIndex:D})},End:function(e){e.preventDefault(),g({type:4,getItemNodeFromIndex:D})},Escape:function(){g({type:2})},Enter:function(e){e.preventDefault(),g({type:5})}," ":function(e){e.preventDefault(),g({type:6})}}}),[g,D]),F=t.useCallback((function(){g({type:16})}),[g]),V=t.useCallback((function(){g({type:18})}),[g]),A=t.useCallback((function(){g({type:17})}),[g]),N=t.useCallback((function(e){g({type:19,highlightedIndex:e})}),[g]),L=t.useCallback((function(e){g({type:20,selectedItem:e})}),[g]),B=t.useCallback((function(){g({type:22})}),[g]),_=t.useCallback((function(e){g({type:21,inputValue:e})}),[g]),$=t.useCallback((function(e){return r({id:k.labelId,htmlFor:k.toggleButtonId},e)}),[k]),j=t.useCallback((function(e,t){var o,i=void 0===e?{}:e,u=i.onMouseLeave,s=i.refKey,a=void 0===s?"ref":s,c=i.onKeyDown,l=i.onBlur,d=i.ref,p=n(i,mt),f=(void 0===t?{}:t).suppressRefError,h=void 0!==f&&f,m=E.current.state;return R("getMenuProps",h,a,x),r(((o={})[a]=ye(d,(function(e){x.current=e})),o.id=k.menuId,o.role="listbox",o["aria-labelledby"]=k.labelId,o.tabIndex=-1,o),m.isOpen&&m.highlightedIndex>-1&&{"aria-activedescendant":k.getItemId(m.highlightedIndex)},{onMouseLeave:ve(u,(function(){g({type:9})})),onKeyDown:ve(c,(function(e){var t=Me(e);t&&H[t]?H[t](e):Ye(t)&&g({type:7,key:t,getItemNodeFromIndex:D})})),onBlur:ve(l,(function(){!1!==S.current?!P.current.isMouseDown&&g({type:8}):S.current=!0}))},p)}),[g,E,H,P,R,k,D]);return{getToggleButtonProps:t.useCallback((function(e,t){var o,i=void 0===e?{}:e,u=i.onClick,s=i.onKeyDown,a=i.refKey,c=void 0===a?"ref":a,l=i.ref,d=n(i,It),p=(void 0===t?{}:t).suppressRefError,f=void 0!==p&&p,h=r(((o={})[c]=ye(l,(function(e){b.current=e})),o.id=k.toggleButtonId,o["aria-haspopup"]="listbox",o["aria-expanded"]=E.current.state.isOpen,o["aria-labelledby"]=k.labelId+" "+k.toggleButtonId,o),d);return d.disabled||(h.onClick=ve(u,(function(){g({type:12})})),h.onKeyDown=ve(s,(function(e){var t=Me(e);t&&T[t]?T[t](e):Ye(t)&&g({type:15,key:t,getItemNodeFromIndex:D})}))),R("getToggleButtonProps",f,c,b),h}),[g,E,T,R,k,D]),getLabelProps:$,getMenuProps:j,getItemProps:t.useCallback((function(e){var t,o=void 0===e?{}:e,i=o.item,u=o.index,s=o.onMouseMove,a=o.onClick,c=o.refKey,l=void 0===c?"ref":c,d=o.ref,p=n(o,vt),f=E.current,h=f.state,m=f.props,I=qe(u,i,m.items);if(I<0)throw new Error("Pass either item or item index in getItemProps!");var v=r(((t={role:"option","aria-selected":""+(I===h.highlightedIndex),id:k.getItemId(I)})[l]=ye(d,(function(e){e&&(w.current[k.getItemId(I)]=e)})),t),p);return p.disabled||(v.onMouseMove=ve(s,(function(){u!==h.highlightedIndex&&(K.current=!1,g({type:10,index:u}))})),v.onClick=ve(a,(function(){g({type:11,index:u})}))),v}),[g,E,K,k]),toggleMenu:F,openMenu:A,closeMenu:V,setHighlightedIndex:N,selectItem:L,reset:B,setInputValue:_,highlightedIndex:I,isOpen:m,selectedItem:v,inputValue:y}}yt.stateChangeTypes=ht;var bt=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});P.array.isRequired,P.func,P.func,P.func,P.bool,P.number,P.number,P.number,P.bool,P.bool,P.bool,P.any,P.any,P.any,P.string,P.string,P.string,P.string,P.string,P.string,P.func,P.string,P.string,P.func,P.func,P.func,P.func,P.func,P.func,P.shape({addEventListener:P.func,removeEventListener:P.func,document:P.shape({getElementById:P.func,activeElement:P.any,body:P.any})});var xt=he,wt=r({},Ze,{getA11yStatusMessage:xe,circularNavigation:!0});function St(e,t){var n,o=t.type,i=t.props,u=t.shiftKey;switch(o){case 10:n={isOpen:et(i,"isOpen"),highlightedIndex:et(i,"highlightedIndex"),selectedItem:i.items[t.index],inputValue:i.itemToString(i.items[t.index])};break;case 0:n=e.isOpen?{highlightedIndex:Ee(u?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:rt(i,e,1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 1:n=e.isOpen?{highlightedIndex:Ee(u?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:rt(i,e,-1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 5:n=r({},e.isOpen&&e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex],isOpen:et(i,"isOpen"),highlightedIndex:et(i,"highlightedIndex"),inputValue:i.itemToString(i.items[e.highlightedIndex])});break;case 2:n=r({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case 3:n={highlightedIndex:De(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:n={highlightedIndex:De(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 7:n=r({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.selectItem&&{selectedItem:i.items[e.highlightedIndex],inputValue:i.itemToString(i.items[e.highlightedIndex])});break;case 6:n={isOpen:!0,highlightedIndex:et(i,"highlightedIndex"),inputValue:t.inputValue};break;case 16:n={selectedItem:t.selectedItem,inputValue:i.itemToString(t.selectedItem)};break;case 19:n={inputValue:t.inputValue};break;default:return ct(e,t,bt)}return r({},e,n)}var Ct=["onMouseLeave","refKey","ref"],kt=["item","index","refKey","ref","onMouseMove","onClick","onPress"],Ot=["onClick","onPress","refKey","ref"],Mt=["onKeyDown","onChange","onInput","onBlur","onChangeText","refKey","ref"],Et=["refKey","ref"];function Dt(e){void 0===e&&(e={}),xt(e,Dt);var o=r({},wt,e),i=o.initialIsOpen,u=o.defaultIsOpen,s=o.items,a=o.scrollIntoView,c=o.environment,l=o.getA11yStatusMessage,d=o.getA11ySelectionMessage,p=o.itemToString,f=function(e,n,r){var o=t.useRef(),i=Je(e,n,r),u=i[0],s=i[1];return t.useEffect((function(){Oe(r,"selectedItem")&&(o.current!==r.selectedItem&&s({type:19,inputValue:r.itemToString(r.selectedItem)}),o.current=u.selectedItem===o.current?r.selectedItem:u.selectedItem)})),[ke(u,r),s]}(St,function(e){var t=nt(e),n=t.selectedItem,o=t.inputValue;return""===o&&n&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(o=e.itemToString(n)),r({},t,{inputValue:o})}(o),o),h=f[0],g=f[1],m=h.isOpen,I=h.highlightedIndex,v=h.selectedItem,y=h.inputValue,b=t.useRef(null),x=t.useRef({}),w=t.useRef(null),S=t.useRef(null),C=t.useRef(null),k=t.useRef(!0),O=ze(o),M=t.useRef(),E=Ge({state:h,props:o}),D=t.useCallback((function(e){return x.current[O.getItemId(e)]}),[O]);ut(l,[m,I,y,s],r({isInitialMount:k.current,previousResultCount:M.current,items:s,environment:c,itemToString:p},h)),ut(d,[v],r({isInitialMount:k.current,previousResultCount:M.current,items:s,environment:c,itemToString:p},h));var K=st({menuElement:b.current,highlightedIndex:I,isOpen:m,itemRefs:x,scrollIntoView:a,getItemNodeFromIndex:D});at({isInitialMount:k.current,props:o,state:h}),t.useEffect((function(){(i||u||m)&&w.current&&w.current.focus()}),[]),t.useEffect((function(){k.current||(M.current=s.length)}));var P=ot(m,[C,b,S],c,(function(){g({type:7,selectItem:!1})})),R=it();t.useEffect((function(){k.current=!1}),[]),t.useEffect((function(){m||(x.current={})}),[m]);var T=t.useMemo((function(){return{ArrowDown:function(e){e.preventDefault(),g({type:0,shiftKey:e.shiftKey,getItemNodeFromIndex:D})},ArrowUp:function(e){e.preventDefault(),g({type:1,shiftKey:e.shiftKey,getItemNodeFromIndex:D})},Home:function(e){E.current.state.isOpen&&(e.preventDefault(),g({type:3,getItemNodeFromIndex:D}))},End:function(e){E.current.state.isOpen&&(e.preventDefault(),g({type:4,getItemNodeFromIndex:D}))},Escape:function(){var e=E.current.state;(e.isOpen||e.inputValue||e.selectedItem||e.highlightedIndex>-1)&&g({type:2})},Enter:function(e){var t=E.current.state;!t.isOpen||t.highlightedIndex<0||229===e.which||(e.preventDefault(),g({type:5,getItemNodeFromIndex:D}))}}}),[g,E,D]),H=t.useCallback((function(e){return r({id:O.labelId,htmlFor:O.inputId},e)}),[O]),F=t.useCallback((function(e,t){var o,i=void 0===e?{}:e,u=i.onMouseLeave,s=i.refKey,a=void 0===s?"ref":s,c=i.ref,l=n(i,Ct),d=(void 0===t?{}:t).suppressRefError;return R("getMenuProps",void 0!==d&&d,a,b),r(((o={})[a]=ye(c,(function(e){b.current=e})),o.id=O.menuId,o.role="listbox",o["aria-labelledby"]=O.labelId,o.onMouseLeave=ve(u,(function(){g({type:8})})),o),l)}),[g,R,O]),V=t.useCallback((function(e){var t,o,i=void 0===e?{}:e,u=i.item,s=i.index,a=i.refKey,c=void 0===a?"ref":a,l=i.ref,d=i.onMouseMove,p=i.onClick;i.onPress;var f=n(i,kt),h=E.current,m=h.props,I=h.state,v=qe(s,u,m.items);if(v<0)throw new Error("Pass either item or item index in getItemProps!");var y=p;return r(((t={})[c]=ye(l,(function(e){e&&(x.current[O.getItemId(v)]=e)})),t.role="option",t["aria-selected"]=""+(v===I.highlightedIndex),t.id=O.getItemId(v),t),!f.disabled&&((o={onMouseMove:ve(d,(function(){s!==I.highlightedIndex&&(K.current=!1,g({type:9,index:s}))}))}).onClick=ve(y,(function(){g({type:10,index:s}),w.current&&w.current.focus()})),o),f)}),[g,E,K,O]),A=t.useCallback((function(e){var t,o=void 0===e?{}:e,i=o.onClick;o.onPress;var u=o.refKey,s=void 0===u?"ref":u,a=o.ref,c=n(o,Ot);return r(((t={})[s]=ye(a,(function(e){S.current=e})),t.id=O.toggleButtonId,t.tabIndex=-1,t),!c.disabled&&r({},{onClick:ve(i,(function(){g({type:11}),!E.current.state.isOpen&&w.current&&w.current.focus()}))}),c)}),[g,E,O]),N=t.useCallback((function(e,t){var o,i=void 0===e?{}:e,u=i.onKeyDown,s=i.onChange,a=i.onInput,c=i.onBlur;i.onChangeText;var l=i.refKey,d=void 0===l?"ref":l,p=i.ref,f=n(i,Mt),h=(void 0===t?{}:t).suppressRefError;R("getInputProps",void 0!==h&&h,d,w);var m,I=E.current.state,v={};f.disabled||((m={}).onChange=ve(s,a,(function(e){g({type:6,inputValue:e.target.value})})),m.onKeyDown=ve(u,(function(e){var t=Me(e);t&&T[t]&&T[t](e)})),m.onBlur=ve(c,(function(){I.isOpen&&!P.current.isMouseDown&&g({type:7,selectItem:!0})})),v=m);return r(((o={})[d]=ye(p,(function(e){w.current=e})),o.id=O.inputId,o["aria-autocomplete"]="list",o["aria-controls"]=O.menuId,o),I.isOpen&&I.highlightedIndex>-1&&{"aria-activedescendant":O.getItemId(I.highlightedIndex)},{"aria-labelledby":O.labelId,autoComplete:"off",value:I.inputValue},v,f)}),[g,T,E,P,R,O]),L=t.useCallback((function(e,t){var o,i=void 0===e?{}:e,u=i.refKey,s=void 0===u?"ref":u,a=i.ref,c=n(i,Et),l=(void 0===t?{}:t).suppressRefError;return R("getComboboxProps",void 0!==l&&l,s,C),r(((o={})[s]=ye(a,(function(e){C.current=e})),o.role="combobox",o["aria-haspopup"]="listbox",o["aria-owns"]=O.menuId,o["aria-expanded"]=E.current.state.isOpen,o),c)}),[E,R,O]),B=t.useCallback((function(){g({type:12})}),[g]),_=t.useCallback((function(){g({type:14})}),[g]),$=t.useCallback((function(){g({type:13})}),[g]),j=t.useCallback((function(e){g({type:15,highlightedIndex:e})}),[g]),U=t.useCallback((function(e){g({type:16,selectedItem:e})}),[g]);return{getItemProps:V,getLabelProps:H,getMenuProps:F,getInputProps:N,getComboboxProps:L,getToggleButtonProps:A,toggleMenu:B,openMenu:$,closeMenu:_,setHighlightedIndex:j,setInputValue:t.useCallback((function(e){g({type:17,inputValue:e})}),[g]),selectItem:U,reset:t.useCallback((function(){g({type:18})}),[g]),highlightedIndex:I,isOpen:m,selectedItem:v,inputValue:y}}Dt.stateChangeTypes=bt;var Kt={activeIndex:-1,selectedItems:[]};function Pt(e,t){return tt(e,t,Kt)}function Rt(e,t){return et(e,t,Kt)}function Tt(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;var t=e.target;return!(t instanceof HTMLInputElement&&""!==t.value)||0===t.selectionStart&&0===t.selectionEnd}P.array,P.array,P.array,P.func,P.func,P.func,P.number,P.number,P.number,P.func,P.func,P.string,P.string,P.shape({addEventListener:P.func,removeEventListener:P.func,document:P.shape({getElementById:P.func,activeElement:P.any,body:P.any})});var Ht={itemToString:Ze.itemToString,stateReducer:Ze.stateReducer,environment:Ze.environment,getA11yRemovalMessage:function(e){var t=e.removedSelectedItem;return(0,e.itemToString)(t)+" has been removed."},keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"},Ft=he,Vt=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 At(e,t){var n,o=t.type,i=t.index,u=t.props,s=t.selectedItem,a=e.activeIndex,c=e.selectedItems;switch(o){case 0:n={activeIndex:i};break;case 4:n={activeIndex:a-1<0?0:a-1};break;case 3:n={activeIndex:a+1>=c.length?-1:a+1};break;case 2:case 1:var l=a;1===c.length?l=-1:a===c.length-1&&(l=c.length-2),n=r({selectedItems:[].concat(c.slice(0,a),c.slice(a+1))},{activeIndex:l});break;case 5:n={activeIndex:c.length-1};break;case 6:n={selectedItems:c.slice(0,c.length-1)};break;case 8:n={selectedItems:[].concat(c,[s])};break;case 7:n={activeIndex:-1};break;case 9:var d=a,p=c.indexOf(s);1===c.length?d=-1:p===c.length-1&&(d=c.length-2),n=r({selectedItems:[].concat(c.slice(0,p),c.slice(p+1))},{activeIndex:d});break;case 10:n={selectedItems:t.selectedItems};break;case 11:n={activeIndex:t.activeIndex};break;case 12:n={activeIndex:Rt(u,"activeIndex"),selectedItems:Rt(u,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return r({},e,n)}var Nt=["refKey","ref","onClick","onKeyDown","selectedItem","index"],Lt=["refKey","ref","onKeyDown","onClick","preventKeyAction"];function Bt(e){void 0===e&&(e={}),Ft(e,Bt);var o=r({},Ht,e),i=o.getA11yRemovalMessage,u=o.itemToString,s=o.environment,a=o.keyNavigationNext,c=o.keyNavigationPrevious,l=Qe(At,function(e){return{activeIndex:Pt(e,"activeIndex"),selectedItems:Pt(e,"selectedItems")}}(o),o),d=l[0],p=l[1],f=d.activeIndex,h=d.selectedItems,g=t.useRef(!0),m=t.useRef(null),I=t.useRef(h),v=t.useRef();v.current=[];var y=Ge({state:d,props:o});t.useEffect((function(){if(!g.current){if(h.length<I.current.length){var e=I.current.find((function(e){return h.indexOf(e)<0}));Re(i({itemToString:u,resultCount:h.length,removedSelectedItem:e,activeIndex:f,activeSelectedItem:h[f]}),s.document)}I.current=h}}),[h.length]),t.useEffect((function(){g.current||(-1===f&&m.current?m.current.focus():v.current[f]&&v.current[f].focus())}),[f]),at({isInitialMount:g.current,props:o,state:d});var b=it();t.useEffect((function(){g.current=!1}),[]);var x=t.useMemo((function(){var e;return(e={})[c]=function(){p({type:4})},e[a]=function(){p({type:3})},e.Delete=function(){p({type:1})},e.Backspace=function(){p({type:2})},e}),[p,a,c]),w=t.useMemo((function(){var e;return(e={})[c]=function(e){Tt(e)&&p({type:5})},e.Backspace=function(e){Tt(e)&&p({type:6})},e}),[p,c]);return{getSelectedItemProps:t.useCallback((function(e){var t,o=void 0===e?{}:e,i=o.refKey,u=void 0===i?"ref":i,s=o.ref,a=o.onClick,c=o.onKeyDown,l=o.selectedItem,d=o.index,f=n(o,Nt),h=y.current.state;if(qe(d,l,h.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");return r(((t={})[u]=ye(s,(function(e){e&&v.current.push(e)})),t.tabIndex=d===h.activeIndex?0:-1,t.onClick=ve(a,(function(){p({type:0,index:d})})),t.onKeyDown=ve(c,(function(e){var t=Me(e);t&&x[t]&&x[t](e)})),t),f)}),[p,y,x]),getDropdownProps:t.useCallback((function(e,t){var o,i=void 0===e?{}:e,u=i.refKey,s=void 0===u?"ref":u,a=i.ref,c=i.onKeyDown,l=i.onClick,d=i.preventKeyAction,f=void 0!==d&&d,h=n(i,Lt),g=(void 0===t?{}:t).suppressRefError;return b("getDropdownProps",void 0!==g&&g,s,m),r(((o={})[s]=ye(a,(function(e){e&&(m.current=e)})),o),!f&&{onKeyDown:ve(c,(function(e){var t=Me(e);t&&w[t]&&w[t](e)})),onClick:ve(l,(function(){p({type:7})}))},h)}),[p,w,b]),addSelectedItem:t.useCallback((function(e){p({type:8,selectedItem:e})}),[p]),removeSelectedItem:t.useCallback((function(e){p({type:9,selectedItem:e})}),[p]),setSelectedItems:t.useCallback((function(e){p({type:10,selectedItems:e})}),[p]),setActiveIndex:t.useCallback((function(e){p({type:11,activeIndex:e})}),[p]),reset:t.useCallback((function(){p({type:12})}),[p]),selectedItems:h,activeIndex:f}}Bt.stateChangeTypes=Vt,e.default=Be,e.resetIdCounter=function(){pe=0},e.useCombobox=Dt,e.useMultipleSelection=Bt,e.useSelect=yt,Object.defineProperty(e,"__esModule",{value:!0})}));
22//# sourceMappingURL=downshift.umd.min.js.map