downshift
Version:
A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete components
3 lines (2 loc) • 41.4 kB
JavaScript
!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=e||self).Downshift={},e.preact,e.PropTypes)}(this,(function(e,t,n){"use strict";function o(e,t){if(null==e)return{};var n,o,i={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(i[n]=e[n]);return i}function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function s(e,t){return e(t={exports:{}},t.exports),t.exports}n=n&&n.hasOwnProperty("default")?n.default:n;var a=s((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,o=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,r=n?Symbol.for("react.fragment"):60107,u=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,a=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,d=n?Symbol.for("react.async_mode"):60111,c=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,I=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118;function y(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case d:case c:case r:case s:case u:case f:return e;default:switch(e=e&&e.$$typeof){case l:case p:case a:return e;default:return t}}case m:case g:case i:return t}}}function x(e){return y(e)===c}t.typeOf=y,t.AsyncMode=d,t.ConcurrentMode=c,t.ContextConsumer=l,t.ContextProvider=a,t.Element=o,t.ForwardRef=p,t.Fragment=r,t.Lazy=m,t.Memo=g,t.Portal=i,t.Profiler=s,t.StrictMode=u,t.Suspense=f,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===c||e===s||e===u||e===f||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===g||e.$$typeof===a||e.$$typeof===l||e.$$typeof===p||e.$$typeof===I||e.$$typeof===v)},t.isAsyncMode=function(e){return x(e)||y(e)===d},t.isConcurrentMode=x,t.isContextConsumer=function(e){return y(e)===l},t.isContextProvider=function(e){return y(e)===a},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return y(e)===p},t.isFragment=function(e){return y(e)===r},t.isLazy=function(e){return y(e)===m},t.isMemo=function(e){return y(e)===g},t.isPortal=function(e){return y(e)===i},t.isProfiler=function(e){return y(e)===s},t.isStrictMode=function(e){return y(e)===u},t.isSuspense=function(e){return y(e)===f}}));u(a);a.typeOf,a.AsyncMode,a.ConcurrentMode,a.ContextConsumer,a.ContextProvider,a.Element,a.ForwardRef,a.Fragment,a.Lazy,a.Memo,a.Portal,a.Profiler,a.StrictMode,a.Suspense,a.isValidElementType,a.isAsyncMode,a.isConcurrentMode,a.isContextConsumer,a.isContextProvider,a.isElement,a.isForwardRef,a.isFragment,a.isLazy,a.isMemo,a.isPortal,a.isProfiler,a.isStrictMode,a.isSuspense;var l=s((function(e,t){}));u(l);l.typeOf,l.AsyncMode,l.ConcurrentMode,l.ContextConsumer,l.ContextProvider,l.Element,l.ForwardRef,l.Fragment,l.Lazy,l.Memo,l.Portal,l.Profiler,l.StrictMode,l.Suspense,l.isValidElementType,l.isAsyncMode,l.isConcurrentMode,l.isContextConsumer,l.isContextProvider,l.isElement,l.isForwardRef,l.isFragment,l.isLazy,l.isMemo,l.isPortal,l.isProfiler,l.isStrictMode,l.isSuspense,s((function(e){e.exports=a})).isForwardRef;function d(e){return null!=e&&"object"==typeof e&&1===e.nodeType}function c(e,t){return(!t||"hidden"!==e)&&("visible"!==e&&"clip"!==e)}function p(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return c(n.overflowY,t)||c(n.overflowX,t)}return!1}function f(e,t,n,o,i,r,u,s){return r<e&&u>t||r>e&&u<t?0:r<=e&&s<=n||u>=t&&s>=n?r-e-o:u>t&&s<n||r<e&&s>n?u-t+i:0}var h=function(e,t){var n=t.scrollMode,o=t.block,i=t.inline,r=t.boundary,u=t.skipOverflowHiddenElements,s="function"==typeof r?r:function(e){return e!==r};if(!d(e))throw new TypeError("Invalid target");for(var a=document.scrollingElement||document.documentElement,l=[],c=e;d(c)&&s(c);){if((c=c.parentNode)===a){l.push(c);break}c===document.body&&p(c)&&!p(document.documentElement)||p(c,u)&&l.push(c)}for(var h=window.visualViewport?visualViewport.width:innerWidth,g=window.visualViewport?visualViewport.height:innerHeight,m=window.scrollX||pageXOffset,I=window.scrollY||pageYOffset,v=e.getBoundingClientRect(),y=v.height,x=v.width,b=v.top,w=v.right,S=v.bottom,M=v.left,C="start"===o||"nearest"===o?b:"end"===o?S:b+y/2,O="center"===i?M+x/2:"end"===i?w:M,E=[],k=0;k<l.length;k++){var D=l[k],P=D.getBoundingClientRect(),K=P.height,H=P.width,F=P.top,T=P.right,R=P.bottom,A=P.left;if("if-needed"===n&&b>=0&&M>=0&&S<=g&&w<=h&&b>=F&&S<=R&&M>=A&&w<=T)return E;var V=getComputedStyle(D),N=parseInt(V.borderLeftWidth,10),L=parseInt(V.borderTopWidth,10),B=parseInt(V.borderRightWidth,10),_=parseInt(V.borderBottomWidth,10),$=0,j=0,U="offsetWidth"in D?D.offsetWidth-D.clientWidth-N-B:0,W="offsetHeight"in D?D.offsetHeight-D.clientHeight-L-_:0;if(a===D)$="start"===o?C:"end"===o?C-g:"nearest"===o?f(I,I+g,g,L,_,I+C,I+C+y,y):C-g/2,j="start"===i?O:"center"===i?O-h/2:"end"===i?O-h:f(m,m+h,h,N,B,m+O,m+O+x,x),$=Math.max(0,$+I),j=Math.max(0,j+m);else{$="start"===o?C-F-L:"end"===o?C-R+_+W:"nearest"===o?f(F,R,K,L,_+W,C,C+y,y):C-(F+K/2)+W/2,j="start"===i?O-A-N:"center"===i?O-(A+H/2)+U/2:"end"===i?O-T+B+U:f(A,T,H,N,B+U,O,O+x,x);var z=D.scrollLeft,q=D.scrollTop;C+=q-($=Math.max(0,Math.min(q+$,D.scrollHeight-K+W))),O+=z-(j=Math.max(0,Math.min(z+j,D.scrollWidth-H+U)))}E.push({el:D,top:$,left:j})}return E},g=0;function m(e){return"function"==typeof e?e:I}function I(){}function v(e,t){null!==e&&h(e,{boundary:t,block:"nearest",scrollMode:"if-needed"}).forEach((function(e){var t=e.el,n=e.top,o=e.left;t.scrollTop=n,t.scrollLeft=o}))}function y(e,t){return e===t||e.contains&&e.contains(t)}function x(e,t){var n;function o(){n&&clearTimeout(n)}function i(){for(var i=arguments.length,r=new Array(i),u=0;u<i;u++)r[u]=arguments[u];o(),n=setTimeout((function(){n=null,e.apply(void 0,r)}),t)}return i.cancel=o,i}function b(){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,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];return t.some((function(t){return t&&t.apply(void 0,[e].concat(o)),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault}))}}function w(){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 S(e){var t=e.isOpen,n=e.selectedItem,o=e.resultCount,i=e.previousResultCount,r=e.itemToString;return t?o?o!==i?o+" result"+(1===o?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":"":"No results are available.":n?r(n):""}function M(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}var C=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function O(e){void 0===e&&(e={});var t={};return C.forEach((function(n){e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function E(e,t){return Object.keys(e).reduce((function(n,o){return n[o]=k(t,o)?t[o]:e[o],n}),{})}function k(e,t){return void 0!==e[t]}function D(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function P(e,t,n,o,i){void 0===i&&(i=!0);var r=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:r+1);var u=t+e;u<0?u=i?r:0:u>r&&(u=i?0:r);var s=K(e,u,n,o,i);return-1===s?t:s}function K(e,t,n,o,i){var r=o(t);if(!r||!r.hasAttribute("disabled"))return t;if(e>0){for(var u=t+1;u<n;u++)if(!o(u).hasAttribute("disabled"))return u}else for(var s=t-1;s>=0;s--)if(!o(s).hasAttribute("disabled"))return s;return i?e>0?K(1,0,n,o,!1):K(-1,n-1,n,o,!1):-1}function H(e,t,n,o,i){return void 0===i&&(i=!0),[t,n].some((function(t){return t&&(y(t,e)||i&&y(t,o.activeElement))}))}var F=x((function(){R().textContent=""}),500);function T(e,t){var n=R(t);e&&(n.textContent=e,F())}function R(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 A=0,V=2,N=3,L=4,B=5,_=6,$=7,j=8,U=9,W=10,z=11,q=12,X=13,Y=14,G=Object.freeze({__proto__:null,unknown:A,mouseUp:1,itemMouseEnter:V,keyDownArrowUp:N,keyDownArrowDown:L,keyDownEscape:B,keyDownEnter:_,keyDownHome:$,keyDownEnd:j,clickItem:U,blurInput:W,changeInput:z,keyDownSpaceButton:q,clickButton:X,blurButton:Y,controlledPropUpdatedSelectedItem:15,touchEnd:16}),J=function(){var e=function(e){var n,u;function s(t){var n=e.call(this,t)||this;n.id=n.props.id||"downshift-"+String(g++),n.menuId=n.props.menuId||n.id+"-menu",n.labelId=n.props.labelId||n.id+"-label",n.inputId=n.props.inputId||n.id+"-input",n.getItemId=n.props.getItemId||function(e){return n.id+"-item-"+e},n.input=null,n.items=[],n.itemCount=null,n.previousResultCount=0,n.timeoutIds=[],n.internalSetTimeout=function(e,t){var o=setTimeout((function(){n.timeoutIds=n.timeoutIds.filter((function(e){return e!==o})),e()}),t);n.timeoutIds.push(o)},n.setItemCount=function(e){n.itemCount=e},n.unsetItemCount=function(){n.itemCount=null},n.setHighlightedIndex=function(e,t){void 0===e&&(e=n.props.defaultHighlightedIndex),void 0===t&&(t={}),t=O(t),n.internalSetState(i({highlightedIndex:e},t))},n.clearSelection=function(e){n.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:n.props.defaultHighlightedIndex,isOpen:n.props.defaultIsOpen},e)},n.selectItem=function(e,t,o){t=O(t),n.internalSetState(i({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,selectedItem:e,inputValue:n.props.itemToString(e)},t),o)},n.selectItemAtIndex=function(e,t,o){var i=n.items[e];null!=i&&n.selectItem(i,t,o)},n.selectHighlightedItem=function(e,t){return n.selectItemAtIndex(n.getState().highlightedIndex,e,t)},n.internalSetState=function(e,t){var o,r,u={},s="function"==typeof e;return!s&&e.hasOwnProperty("inputValue")&&n.props.onInputValueChange(e.inputValue,i({},n.getStateAndHelpers(),{},e)),n.setState((function(t){t=n.getState(t);var a=s?e(t):e;a=n.props.stateReducer(t,a),o=a.hasOwnProperty("selectedItem");var l={},d={};return o&&a.selectedItem!==t.selectedItem&&(r=a.selectedItem),a.type=a.type||A,Object.keys(a).forEach((function(e){t[e]!==a[e]&&(u[e]=a[e]),"type"!==e&&(d[e]=a[e],k(n.props,e)||(l[e]=a[e]))})),s&&a.hasOwnProperty("inputValue")&&n.props.onInputValueChange(a.inputValue,i({},n.getStateAndHelpers(),{},a)),l}),(function(){m(t)(),Object.keys(u).length>1&&n.props.onStateChange(u,n.getStateAndHelpers()),o&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==r&&n.props.onChange(r,n.getStateAndHelpers()),n.props.onUserAction(u,n.getStateAndHelpers())}))},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var r,u=void 0===e?{}:e,s=u.refKey,a=void 0===s?"ref":s,l=u.ref,d=o(u,["refKey","ref"]),c=(void 0===t?{}:t).suppressRefError,p=void 0!==c&&c;n.getRootProps.called=!0,n.getRootProps.refKey=a,n.getRootProps.suppressRefError=p;var f=n.getState().isOpen;return i(((r={})[a]=w(l,n.rootRef),r.role="combobox",r["aria-expanded"]=f,r["aria-haspopup"]="listbox",r["aria-owns"]=f?n.menuId:null,r["aria-labelledby"]=n.labelId,r),d)},n.keyDownHandlers={ArrowDown:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?5:1;this.moveHighlightedIndex(n,{type:L})}else this.internalSetState({isOpen:!0,type:L},(function(){var e=t.getItemCount();if(e>0){var n=P(1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:L})}}))},ArrowUp:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?-5:-1;this.moveHighlightedIndex(n,{type:N})}else this.internalSetState({isOpen:!0,type:N},(function(){var e=t.getItemCount();if(e>0){var n=P(-1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:N})}}))},Enter:function(e){var t=this.getState(),n=t.isOpen,o=t.highlightedIndex;if(n&&null!=o){e.preventDefault();var i=this.items[o],r=this.getItemNodeFromIndex(o);if(null==i||r&&r.hasAttribute("disabled"))return;this.selectHighlightedItem({type:_})}},Escape:function(e){e.preventDefault(),this.reset({type:B,selectedItem:null,inputValue:""})}},n.buttonKeyDownHandlers=i({},n.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:q})}}),n.inputKeyDownHandlers=i({},n.keyDownHandlers,{Home:function(e){var t=this;e.preventDefault();var n=this.getItemCount(),o=this.getState().isOpen;if(!(n<=0)&&o){var i=K(1,0,n,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(i,{type:$})}},End:function(e){var t=this;e.preventDefault();var n=this.getItemCount(),o=this.getState().isOpen;if(!(n<=0)&&o){var i=K(-1,n-1,n,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(i,{type:j})}}}),n.getToggleButtonProps=function(e){var t=void 0===e?{}:e,r=t.onClick,u=(t.onPress,t.onKeyDown),s=t.onKeyUp,a=t.onBlur,l=o(t,["onClick","onPress","onKeyDown","onKeyUp","onBlur"]),d=n.getState().isOpen,c={onClick:b(r,n.buttonHandleClick),onKeyDown:b(u,n.buttonHandleKeyDown),onKeyUp:b(s,n.buttonHandleKeyUp),onBlur:b(a,n.buttonHandleBlur)};return i({type:"button",role:"button","aria-label":d?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},l.disabled?{}:c,{},l)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=D(e);n.buttonKeyDownHandlers[t]&&n.buttonKeyDownHandlers[t].call(r(n),e)},n.buttonHandleClick=function(e){e.preventDefault(),n.props.environment.document.activeElement===n.props.environment.document.body&&e.target.focus(),n.internalSetTimeout((function(){return n.toggleMenu({type:X})}))},n.buttonHandleBlur=function(e){var t=e.target;n.internalSetTimeout((function(){n.isMouseDown||null!=n.props.environment.document.activeElement&&n.props.environment.document.activeElement.id===n.inputId||n.props.environment.document.activeElement===t||n.reset({type:Y})}))},n.getLabelProps=function(e){return i({htmlFor:n.inputId,id:n.labelId},e)},n.getInputProps=function(e){var t=void 0===e?{}:e,r=t.onKeyDown,u=t.onBlur,s=t.onChange,a=t.onInput,l=(t.onChangeText,o(t,["onKeyDown","onBlur","onChange","onInput","onChangeText"])),d={};var c,p=n.getState(),f=p.inputValue,h=p.isOpen,g=p.highlightedIndex;l.disabled||((c={}).onInput=b(s,a,n.inputHandleChange),c.onKeyDown=b(r,n.inputHandleKeyDown),c.onBlur=b(u,n.inputHandleBlur),d=c);return i({"aria-autocomplete":"list","aria-activedescendant":h&&"number"==typeof g&&g>=0?n.getItemId(g):null,"aria-controls":h?n.menuId:null,"aria-labelledby":n.labelId,autoComplete:"off",value:f,id:n.inputId},d,{},l)},n.inputHandleKeyDown=function(e){var t=D(e);t&&n.inputKeyDownHandlers[t]&&n.inputKeyDownHandlers[t].call(r(n),e)},n.inputHandleChange=function(e){n.internalSetState({type:z,isOpen:!0,inputValue:e.target.value,highlightedIndex:n.props.defaultHighlightedIndex})},n.inputHandleBlur=function(){n.internalSetTimeout((function(){var e=n.props.environment.document&&!!n.props.environment.document.activeElement&&!!n.props.environment.document.activeElement.dataset&&n.props.environment.document.activeElement.dataset.toggle&&n._rootNode&&n._rootNode.contains(n.props.environment.document.activeElement);n.isMouseDown||e||n.reset({type:W})}))},n.menuRef=function(e){n._menuNode=e},n.getMenuProps=function(e,t){var r,u=void 0===e?{}:e,s=u.refKey,a=void 0===s?"ref":s,l=u.ref,d=o(u,["refKey","ref"]),c=(void 0===t?{}:t).suppressRefError,p=void 0!==c&&c;return n.getMenuProps.called=!0,n.getMenuProps.refKey=a,n.getMenuProps.suppressRefError=p,i(((r={})[a]=w(l,n.menuRef),r.role="listbox",r["aria-labelledby"]=d&&d["aria-label"]?null:n.labelId,r.id=n.menuId,r),d)},n.getItemProps=function(e){var t,r=void 0===e?{}:e,u=r.onMouseMove,s=r.onMouseDown,a=r.onClick,l=(r.onPress,r.index),d=r.item,c=void 0===d?void 0:d,p=o(r,["onMouseMove","onMouseDown","onClick","onPress","index","item"]);void 0===l?(n.items.push(c),l=n.items.indexOf(c)):n.items[l]=c;var f=a,h=((t={onMouseMove:b(u,(function(){l!==n.getState().highlightedIndex&&(n.setHighlightedIndex(l,{type:V}),n.avoidScrolling=!0,n.internalSetTimeout((function(){return n.avoidScrolling=!1}),250))})),onMouseDown:b(s,(function(e){e.preventDefault()}))}).onClick=b(f,(function(){n.selectItemAtIndex(l,{type:U})})),t),g=p.disabled?{onMouseDown:h.onMouseDown}:h;return i({id:n.getItemId(l),role:"option","aria-selected":n.getState().highlightedIndex===l},g,{},p)},n.clearItems=function(){n.items=[]},n.reset=function(e,t){void 0===e&&(e={}),e=O(e),n.internalSetState((function(t){var o=t.selectedItem;return i({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,inputValue:n.props.itemToString(o)},e)}),t)},n.toggleMenu=function(e,t){void 0===e&&(e={}),e=O(e),n.internalSetState((function(t){var o=t.isOpen;return i({isOpen:!o},o&&{highlightedIndex:n.props.defaultHighlightedIndex},{},e)}),(function(){var o=n.getState(),i=o.isOpen,r=o.highlightedIndex;i&&n.getItemCount()>0&&"number"==typeof r&&n.setHighlightedIndex(r,e),m(t)()}))},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=x((function(){var e=n.getState(),t=n.items[e.highlightedIndex],o=n.getItemCount(),r=n.props.getA11yStatusMessage(i({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:o,highlightedItem:t},e));n.previousResultCount=o,T(r,n.props.environment.document)}),200);var u=n.props,s=u.defaultHighlightedIndex,a=u.initialHighlightedIndex,l=void 0===a?s:a,d=u.defaultIsOpen,c=u.initialIsOpen,p=void 0===c?d:c,f=u.initialInputValue,h=void 0===f?"":f,I=u.initialSelectedItem,v=void 0===I?null:I,y=n.getState({highlightedIndex:l,isOpen:p,inputValue:h,selectedItem:v});return null!=y.selectedItem&&void 0===n.props.initialInputValue&&(y.inputValue=n.props.itemToString(y.selectedItem)),n.state=y,n}u=e,(n=s).prototype=Object.create(u.prototype),n.prototype.constructor=n,n.__proto__=u;var a=s.prototype;return a.internalClearTimeouts=function(){this.timeoutIds.forEach((function(e){clearTimeout(e)})),this.timeoutIds=[]},a.getState=function(e){return void 0===e&&(e=this.state),E(e,this.props)},a.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},a.getItemNodeFromIndex=function(e){return this.props.environment.document.getElementById(this.getItemId(e))},a.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},a.moveHighlightedIndex=function(e,t){var n=this,o=this.getItemCount(),i=this.getState().highlightedIndex;if(o>0){var r=P(e,i,o,(function(e){return n.getItemNodeFromIndex(e)}));this.setHighlightedIndex(r,t)}},a.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,o=e.selectedItem,i=e.isOpen,r=this.props.itemToString,u=this.id,s=this.getRootProps,a=this.getToggleButtonProps,l=this.getLabelProps,d=this.getMenuProps,c=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,x=this.clearSelection,b=this.clearItems;return{getRootProps:s,getToggleButtonProps:a,getLabelProps:l,getMenuProps:d,getInputProps:c,getItemProps:p,reset:this.reset,openMenu:f,closeMenu:h,toggleMenu:g,selectItem:m,selectItemAtIndex:I,selectHighlightedItem:v,setHighlightedIndex:y,clearSelection:x,clearItems:b,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:r,id:u,highlightedIndex:t,inputValue:n,isOpen:i,selectedItem:o}},a.componentDidMount=function(){var e=this,t=function(){e.isMouseDown=!0},n=function(t){e.isMouseDown=!1,!H(t.target,e._rootNode,e._menuNode,e.props.environment.document)&&e.getState().isOpen&&e.reset({type:1},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},o=function(){e.isTouchMove=!1},i=function(){e.isTouchMove=!0},r=function(t){var n=H(t.target,e._rootNode,e._menuNode,e.props.environment.document,!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",o),u.addEventListener("touchmove",i),u.addEventListener("touchend",r),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),u.removeEventListener("mousedown",t),u.removeEventListener("mouseup",n),u.removeEventListener("touchstart",o),u.removeEventListener("touchmove",i),u.removeEventListener("touchend",r)}},a.shouldScroll=function(e,t){var n=(void 0===this.props.highlightedIndex?this.getState():this.props).highlightedIndex,o=(void 0===t.highlightedIndex?e:t).highlightedIndex;return n&&this.getState().isOpen&&!e.isOpen||n!==o},a.componentDidUpdate=function(e,t){k(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()},a.componentWillUnmount=function(){this.cleanup()},a.render=function(){var e=M(this.props.children,I);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=M(e(this.getStateAndHelpers()));return n?this.getRootProps.called||this.props.suppressRefError?n:function(e){return"string"==typeof e.nodeName||"string"==typeof e.type}(n)?t.cloneElement(n,this.getRootProps(function(e){return e.attributes||e.props}(n))):void 0:null},s}(t.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:S,itemToString:function(e){return null==e?"":String(e)},onStateChange:I,onInputValueChange:I,onUserAction:I,onChange:I,onSelect:I,onOuterClick:I,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?{}:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:v},e.stateChangeTypes=G,e}(),Q={highlightedIndex:-1,isOpen:!1,selectedItem:null};function Z(e,t){var n=void 0===t?{}:t,o=n.id,i=n.labelId,r=n.menuId,u=n.getItemId,s=n.toggleButtonId,a=void 0===o?"downshift-"+e():o;return{labelId:i||a+"-label",menuId:r||a+"-menu",getItemId:u||function(e){return a+"-item-"+e},toggleButtonId:s||a+"-toggle-button"}}function ee(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function te(e){return/^\S{1}$/.test(e)}function ne(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function oe(e,t,n){Object.keys(t).forEach((function(o){!function(e,t,n,o){var i="on"+ne(e)+"Change";t[i]&&void 0!==o[e]&&o[e]!==n[e]&&t[i](o)}(o,e,t,n)})),e.onStateChange&&void 0!==n&&e.onStateChange(n)}function ie(e,n,o){var r=t.useRef(),u=t.useCallback((function(t,n){return t=E(t,n.props),(0,n.props.stateReducer)(t,i({},n,{changes:e(t,n)}))}),[e]),s=t.useReducer(u,n),a=s[0],l=s[1];return t.useEffect((function(){r.current&&oe(o,r.current,a),r.current=a}),[a,o]),[E(a,o),l]}var re=0,ue=function(){return++re};function se(){var e=t.useState(null),n=e[0],o=e[1];return t.useEffect((function(){return o(ue())}),[]),n}function ae(e,t){return!!t&&(e.relatedTarget===t||e.nativeEvent&&(t===e.nativeEvent.explicitOriginalTarget||t.contains(e.nativeEvent.explicitOriginalTarget)))}var le={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11yStatusMessage:function(e){var t=e.isOpen,n=e.items;if(!n)return"";var o=n.length;return t?0===o?"No results are available":o+" result"+(1===o?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":""},getA11ySelectionMessage:function(e){var t=e.selectedItem;return(0,e.itemToString)(t)+" has been selected."},scrollIntoView:v,circularNavigation:!1,environment:"undefined"==typeof window?{}:window};function de(e,t,n){var o="default"+ne(t);return o in e?e[o]:i({},Q,{},n)[t]}function ce(e,t,n){if(t in e)return e[t];var o="initial"+ne(t);return o in e?e[o]:de(e,t,n)}function pe(e,t,n,o){var i=e.items,r=e.initialHighlightedIndex,u=e.defaultHighlightedIndex,s=t.selectedItem,a=t.highlightedIndex;return void 0!==r&&a===r?r:void 0!==u?u:s?0===n?i.indexOf(s):P(n,i.indexOf(s),i.length,o,!1):0===n?-1:n<0?i.length-1:0}var fe={keysSoFar:""};function he(e,t){return de(e,t,fe)}function ge(e,t){return ce(e,t,fe)}function me(e,t,n,o,i){for(var r=n.map((function(e){return o(e).toLowerCase()})),u=e.toLowerCase(),s=function(e,t){var n=i(t);return e.startsWith(u)&&!(n&&n.hasAttribute("disabled"))},a=t+1;a<r.length;a++){if(s(r[a],a))return a}for(var l=0;l<t;l++){if(s(r[l],l))return l}return t}n.array.isRequired,n.func,n.func,n.func,n.bool,n.number,n.number,n.number,n.bool,n.bool,n.bool,n.any,n.any,n.any,n.string,n.string,n.string,n.func,n.string,n.func,n.func,n.func,n.func,n.func,n.shape({addEventListener:n.func,removeEventListener:n.func,document:n.shape({getElementById:n.func,activeElement:n.any,body:n.any})});var Ie=0,ve=1,ye=2,xe=3,be=4,we=5,Se=6,Me=7,Ce=8,Oe=9,Ee=10,ke=11,De=12,Pe=13,Ke=14,He=15,Fe=16,Te=17,Re=18,Ae=19,Ve=20,Ne=21,Le=22,Be=Object.freeze({__proto__:null,MenuKeyDownArrowDown:Ie,MenuKeyDownArrowUp:ve,MenuKeyDownEscape:ye,MenuKeyDownHome:xe,MenuKeyDownEnd:be,MenuKeyDownEnter:we,MenuKeyDownSpaceButton:Se,MenuKeyDownCharacter:Me,MenuBlur:Ce,MenuMouseLeave:Oe,ItemMouseMove:Ee,ItemClick:ke,ToggleButtonKeyDownCharacter:De,ToggleButtonKeyDownArrowDown:Pe,ToggleButtonKeyDownArrowUp:Ke,ToggleButtonClick:He,FunctionToggleMenu:Fe,FunctionOpenMenu:Te,FunctionCloseMenu:Re,FunctionSetHighlightedIndex:Ae,FunctionSelectItem:Ve,FunctionClearKeysSoFar:Ne,FunctionReset:Le});function _e(e,t){var n,o=t.type,r=t.props,u=t.shiftKey;switch(o){case Ee:n={highlightedIndex:t.index};break;case ke:n={isOpen:he(r,"isOpen"),highlightedIndex:he(r,"highlightedIndex"),selectedItem:r.items[t.index]};break;case Ce:n={isOpen:!1,highlightedIndex:-1};break;case Ie:n={highlightedIndex:P(u?5:1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)};break;case ve:n={highlightedIndex:P(u?-5:-1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)};break;case xe:n={highlightedIndex:K(1,0,r.items.length,t.getItemNodeFromIndex,!1)};break;case be:n={highlightedIndex:K(-1,r.items.length-1,r.items.length,t.getItemNodeFromIndex,!1)};break;case ye:n={isOpen:!1,highlightedIndex:-1};break;case we:case Se:n=i({isOpen:he(r,"isOpen"),highlightedIndex:he(r,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex]});break;case Me:var s=t.key,a=""+e.keysSoFar+s,l=me(a,e.highlightedIndex,r.items,r.itemToString,t.getItemNodeFromIndex);n=i({keysSoFar:a},l>=0&&{highlightedIndex:l});break;case Oe:n={highlightedIndex:-1};break;case De:var d=t.key,c=""+e.keysSoFar+d,p=me(c,e.selectedItem?r.items.indexOf(e.selectedItem):-1,r.items,r.itemToString,t.getItemNodeFromIndex);n=i({keysSoFar:c},p>=0&&{selectedItem:r.items[p]});break;case Pe:n={isOpen:!0,highlightedIndex:pe(r,e,1,t.getItemNodeFromIndex)};break;case Ke:n={isOpen:!0,highlightedIndex:pe(r,e,-1,t.getItemNodeFromIndex)};break;case He:case Fe:n={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:pe(r,e,0)};break;case Te:n={isOpen:!0,highlightedIndex:pe(r,e,0)};break;case Re:n={isOpen:!1};break;case Ae:n={highlightedIndex:t.highlightedIndex};break;case Ve:n={selectedItem:t.selectedItem};break;case Ne:n={keysSoFar:""};break;case Le:n={highlightedIndex:he(r,"highlightedIndex"),isOpen:he(r,"isOpen"),selectedItem:he(r,"selectedItem")};break;default:throw new Error("Reducer called without proper action type.")}return i({},e,{},n)}function $e(e){void 0===e&&(e={});var n=i({},le,{},e),r=n.items,u=n.itemToString,s=n.getA11yStatusMessage,a=n.getA11ySelectionMessage,l=n.initialIsOpen,d=n.defaultIsOpen,c=n.scrollIntoView,p=n.environment,f=ie(_e,function(e){var t=ge(e,"selectedItem"),n=ge(e,"isOpen"),o=ge(e,"highlightedIndex");return{highlightedIndex:o<0&&t?e.items.indexOf(t):o,isOpen:n,selectedItem:t,keysSoFar:""}}(n),n),h=f[0],g=h.isOpen,m=h.highlightedIndex,I=h.selectedItem,v=h.keysSoFar,y=f[1],S=function(e){return y(i({props:n},e))},M=Z(se,n),C=M.labelId,O=M.getItemId,E=M.menuId,k=M.toggleButtonId,P=t.useRef(null),K=t.useRef(null),H=t.useRef();H.current=[];var F=t.useRef(!0),R=t.useRef(!0),A=t.useRef(null);t.useEffect((function(){F.current||T(s({isOpen:g,items:r,selectedItem:I,itemToString:u}),p.document)}),[g]),t.useEffect((function(){F.current||T(a({isOpen:g,items:r,selectedItem:I,itemToString:u}),p.document)}),[I]),t.useEffect((function(){F.current&&(A.current=x((function(){S({type:Ne})}),500)),v&&A.current()}),[v]),t.useEffect((function(){F.current?(l||d||g)&&K.current.focus():g?K.current.focus():p.document.activeElement===K.current&&P.current.focus()}),[g]),t.useEffect((function(){m<0||!g||!H.current.length||(!1===R.current?R.current=!0:c(H.current[m],K.current))}),[m]),t.useEffect((function(){F.current=!1}),[]);var V=function(e){return H.current[e]},N={ArrowDown:function(e){e.preventDefault(),S({type:Ie,shiftKey:e.shiftKey,getItemNodeFromIndex:V})},ArrowUp:function(e){e.preventDefault(),S({type:ve,shiftKey:e.shiftKey,getItemNodeFromIndex:V})},Home:function(e){e.preventDefault(),S({type:xe,getItemNodeFromIndex:V})},End:function(e){e.preventDefault(),S({type:be,getItemNodeFromIndex:V})},Escape:function(){S({type:ye})},Enter:function(e){e.preventDefault(),S({type:we})}," ":function(e){e.preventDefault(),S({type:Se})},Tab:function(e){e.shiftKey&&S({type:Ce})}},L={ArrowDown:function(e){e.preventDefault(),S({type:Pe,getItemNodeFromIndex:V})},ArrowUp:function(e){e.preventDefault(),S({type:Ke,getItemNodeFromIndex:V})}},B=function(e){var t=D(e);t&&N[t]?N[t](e):te(t)&&S({type:Me,key:t,getItemNodeFromIndex:V})},_=function(e){ae(e,P.current)||S({type:Ce})},$=function(){S({type:Oe})},j=function(){S({type:He})},U=function(e){var t=D(e);t&&L[t]?L[t](e):te(t)&&S({type:De,key:t,getItemNodeFromIndex:V})};return{getToggleButtonProps:function(e){var t,n=void 0===e?{}:e,r=n.onClick,u=n.onKeyDown,s=n.refKey,a=void 0===s?"ref":s,l=n.ref,d=o(n,["onClick","onKeyDown","refKey","ref"]),c=i(((t={})[a]=w(l,(function(e){P.current=e})),t.id=k,t["aria-haspopup"]="listbox",t["aria-expanded"]=g,t["aria-labelledby"]=C+" "+k,t),d);return d.disabled||(c.onClick=b(r,j),c.onKeyDown=b(u,U)),c},getLabelProps:function(e){return i({id:C,htmlFor:k},e)},getMenuProps:function(e){var t,n=void 0===e?{}:e,r=n.onKeyDown,u=n.onBlur,s=n.onMouseLeave,a=n.refKey,l=void 0===a?"ref":a,d=n.ref,c=o(n,["onKeyDown","onBlur","onMouseLeave","refKey","ref"]);return i(((t={})[l]=w(d,(function(e){K.current=e})),t.id=E,t.role="listbox",t["aria-labelledby"]=C,t.tabIndex=-1,t),m>-1&&{"aria-activedescendant":O(m)},{onKeyDown:b(r,B),onBlur:b(u,_),onMouseLeave:b(s,$)},c)},getItemProps:function(e){var t,n=void 0===e?{}:e,u=n.item,s=n.index,a=n.refKey,l=void 0===a?"ref":a,d=n.ref,c=n.onMouseMove,p=n.onClick,f=o(n,["item","index","refKey","ref","onMouseMove","onClick"]),h=ee(s,u,r);if(h<0)throw new Error("Pass either item or item index in getItemProps!");var g=i(((t={})[l]=w(d,(function(e){e&&H.current.push(e)})),t.role="option",t),h===m&&{"aria-selected":!0},{id:O(h)},f);return f.disabled||(g.onMouseMove=b(c,(function(){return function(e){e!==m&&(R.current=!1,S({type:Ee,index:e}))}(h)})),g.onClick=b(p,(function(){return function(e){S({type:ke,index:e})}(h)}))),g},toggleMenu:function(){S({type:Fe})},openMenu:function(){S({type:Te})},closeMenu:function(){S({type:Re})},setHighlightedIndex:function(e){S({type:Ae,highlightedIndex:e})},selectItem:function(e){S({type:Ve,selectedItem:e})},reset:function(){S({type:Le})},highlightedIndex:m,isOpen:g,selectedItem:I}}$e.stateChangeTypes=Be;var je={inputValue:""};function Ue(e,t){return de(e,t,je)}function We(e,t){return ce(e,t,je)}n.array.isRequired,n.func,n.func,n.func,n.bool,n.number,n.number,n.number,n.bool,n.bool,n.bool,n.any,n.any,n.any,n.string,n.string,n.string,n.string,n.string,n.string,n.func,n.string,n.string,n.func,n.func,n.func,n.func,n.func,n.func,n.shape({addEventListener:n.func,removeEventListener:n.func,document:n.shape({getElementById:n.func,activeElement:n.any,body:n.any})});var ze=i({},le,{circularNavigation:!0}),qe=0,Xe=1,Ye=2,Ge=3,Je=4,Qe=5,Ze=6,et=7,tt=8,nt=9,ot=10,it=11,rt=12,ut=13,st=14,at=15,lt=16,dt=17,ct=18,pt=Object.freeze({__proto__:null,InputKeyDownArrowDown:qe,InputKeyDownArrowUp:Xe,InputKeyDownEscape:Ye,InputKeyDownHome:Ge,InputKeyDownEnd:Je,InputKeyDownEnter:Qe,InputChange:Ze,InputBlur:et,MenuMouseLeave:tt,ItemMouseMove:nt,ItemClick:ot,ToggleButtonClick:it,FunctionToggleMenu:rt,FunctionOpenMenu:ut,FunctionCloseMenu:st,FunctionSetHighlightedIndex:at,FunctionSelectItem:lt,FunctionSetInputValue:dt,FunctionReset:ct});function ft(e,t){var n,o=t.type,r=t.props,u=t.shiftKey;switch(o){case nt:n={highlightedIndex:t.index};break;case ot:n={isOpen:Ue(r,"isOpen"),highlightedIndex:Ue(r,"highlightedIndex"),selectedItem:r.items[t.index],inputValue:r.itemToString(r.items[t.index])};break;case qe:n=e.isOpen?{highlightedIndex:P(u?5:1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)}:{highlightedIndex:pe(r,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case Xe:n=e.isOpen?{highlightedIndex:P(u?-5:-1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)}:{highlightedIndex:pe(r,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case Qe:n=i({},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],isOpen:Ue(r,"isOpen"),highlightedIndex:Ue(r,"highlightedIndex"),inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case Ye:n={isOpen:!1,selectedItem:null,highlightedIndex:-1,inputValue:""};break;case Ge:n={highlightedIndex:K(1,0,r.items.length,t.getItemNodeFromIndex,!1)};break;case Je:n={highlightedIndex:K(-1,r.items.length-1,r.items.length,t.getItemNodeFromIndex,!1)};break;case et:n=i({isOpen:!1},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex]),highlightedIndex:-1});break;case Ze:n={isOpen:!0,highlightedIndex:Ue(r,"highlightedIndex"),inputValue:t.inputValue};break;case tt:n={highlightedIndex:-1};break;case it:case rt:n={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:pe(r,e,0)};break;case ut:n={isOpen:!0,highlightedIndex:pe(r,e,0)};break;case st:n={isOpen:!1};break;case at:n={highlightedIndex:t.highlightedIndex};break;case lt:n={selectedItem:t.selectedItem};break;case dt:n={inputValue:t.inputValue};break;case ct:n={highlightedIndex:Ue(r,"highlightedIndex"),isOpen:Ue(r,"isOpen"),selectedItem:Ue(r,"selectedItem"),inputValue:Ue(r,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return i({},e,{},n)}function ht(e){void 0===e&&(e={});var n=i({},ze,{},e),r=n.initialIsOpen,u=n.defaultIsOpen,s=n.items,a=n.scrollIntoView,l=n.getA11ySelectionMessage,d=n.getA11yStatusMessage,c=n.itemToString,p=n.environment,f=ie(ft,function(e){var t=We(e,"selectedItem"),n=We(e,"isOpen"),o=We(e,"highlightedIndex"),i=We(e,"inputValue");return""===i&&t&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(i=e.itemToString(t)),{highlightedIndex:o<0&&t?e.items.indexOf(t):o,isOpen:n,selectedItem:t,inputValue:i}}(n),n),h=f[0],g=h.isOpen,m=h.highlightedIndex,I=h.selectedItem,v=h.inputValue,y=f[1],x=function(e){return y(i({props:n},e))},S=function(e,t){var n=void 0===t?{}:t,r=n.id,u=n.inputId,s=o(n,["id","inputId"]),a=void 0===r?"downshift-"+e():r;return i({inputId:u||a+"-input"},Z(e,i({id:r},s)))}(se,n),M=S.labelId,C=S.getItemId,O=S.menuId,E=S.toggleButtonId,k=S.inputId,P=t.useRef(null),K=t.useRef(),F=t.useRef(null),R=t.useRef(null),A=t.useRef(null);K.current=[];var V=t.useRef(!0),N=t.useRef(!0),L=t.useRef({isMouseDown:!1,isTouchMove:!1});t.useEffect((function(){N.current||T(d({isOpen:g,items:s,selectedItem:I,itemToString:c,inputValue:v}),p.document)}),[g]),t.useEffect((function(){N.current||T(l({isOpen:g,items:s,selectedItem:I,itemToString:c,inputValue:v}),p.document)}),[I]),t.useEffect((function(){m<0||!g||!K.current.length||(!1===V.current?V.current=!0:a(K.current[m],P.current))}),[m]),t.useEffect((function(){N.current?(r||u||g)&&F.current.focus():g&&F.current.focus()}),[g]),t.useEffect((function(){N.current=!1}),[]),t.useEffect((function(){var e=function(){L.current.isMouseDown=!0},t=function(e){L.current.isMouseDown=!1,g&&!H(e.target,A.current,P.current,p.document)&&x({type:et})},n=function(){L.current.isTouchMove=!1},o=function(){L.current.isTouchMove=!0},i=function(e){!g||L.current.isTouchMove||H(e.target,A.current,P.current,p.document,!1)||x({type:et})};return p.addEventListener("mousedown",e),p.addEventListener("mouseup",t),p.addEventListener("touchstart",n),p.addEventListener("touchmove",o),p.addEventListener("touchend",i),function(){p.removeEventListener("mousedown",e),p.removeEventListener("mouseup",t),p.removeEventListener("touchstart",n),p.removeEventListener("touchmove",o),p.removeEventListener("touchend",i)}}));var B=function(e){return K.current[e]},_={ArrowDown:function(e){e.preventDefault(),x({type:qe,shiftKey:e.shiftKey,getItemNodeFromIndex:B})},ArrowUp:function(e){e.preventDefault(),x({type:Xe,shiftKey:e.shiftKey,getItemNodeFromIndex:B})},Home:function(e){e.preventDefault(),x({type:Ge,getItemNodeFromIndex:B})},End:function(e){e.preventDefault(),x({type:Je,getItemNodeFromIndex:B})},Escape:function(){x({type:Ye})},Enter:function(e){e.preventDefault(),x({type:Qe,getItemNodeFromIndex:B})}},$=function(e){var t=D(e);t&&_[t]&&_[t](e)},j=function(e){x({type:Ze,inputValue:e.target.value})},U=function(e){!(L.current.isMouseDown||ae(e,R.current))&&x({type:et})},W=function(){x({type:tt})},z=function(){x({type:it})};return{getItemProps:function(e){var t,n,r=void 0===e?{}:e,u=r.item,a=r.index,l=r.refKey,d=void 0===l?"ref":l,c=r.ref,p=r.onMouseMove,f=r.onClick,h=(r.onPress,o(r,["item","index","refKey","ref","onMouseMove","onClick","onPress"])),g=ee(a,u,s);if(g<0)throw new Error("Pass either item or item index in getItemProps!");var I=f;return i(((t={})[d]=w(c,(function(e){e&&K.current.push(e)})),t.role="option",t),g===m&&{"aria-selected":!0},{id:C(g)},!h.disabled&&((n={onMouseMove:b(p,(function(){!function(e){e!==m&&(V.current=!1,x({type:nt,index:e}))}(g)}))}).onClick=b(I,(function(){!function(e){x({type:ot,index:e})}(g)})),n),{},h)},getLabelProps:function(e){return i({id:M,htmlFor:k},e)},getMenuProps:function(e){var t,n=void 0===e?{}:e,r=n.onMouseLeave,u=n.refKey,s=void 0===u?"ref":u,a=n.ref,l=o(n,["onMouseLeave","refKey","ref"]);return i(((t={})[s]=w(a,(function(e){P.current=e})),t.id=O,t.role="listbox",t["aria-labelledby"]=M,t.onMouseLeave=b(r,W),t),l)},getInputProps:function(e){var t,n,r=void 0===e?{}:e,u=r.onKeyDown,s=r.onChange,a=r.onInput,l=r.onBlur,d=(r.onChangeText,r.refKey),c=void 0===d?"ref":d,p=r.ref,f=o(r,["onKeyDown","onChange","onInput","onBlur","onChangeText","refKey","ref"]),h={};f.disabled||((n={}).onInput=b(s,a,j),n.onKeyDown=b(u,$),n.onBlur=b(l,U),h=n);return i(((t={})[c]=w(p,(function(e){F.current=e})),t.id=k,t["aria-autocomplete"]="list",t["aria-controls"]=O,t),m>-1&&{"aria-activedescendant":C(m)},{"aria-labelledby":M,autoComplete:"off",value:v},h,{},f)},getComboboxProps:function(e){var t,n=void 0===e?{}:e,r=n.refKey,u=void 0===r?"ref":r,s=n.ref,a=o(n,["refKey","ref"]);return i(((t={})[u]=w(s,(function(e){A.current=e})),t.role="combobox",t["aria-haspopup"]="listbox",t["aria-owns"]=O,t["aria-expanded"]=g,t),a)},getToggleButtonProps:function(e){var t,n=void 0===e?{}:e,r=n.onClick,u=(n.onPress,n.refKey),s=void 0===u?"ref":u,a=n.ref,l=o(n,["onClick","onPress","refKey","ref"]);return i(((t={})[s]=w(a,(function(e){R.current=e})),t.id=E,t.tabIndex=-1,t),!l.disabled&&i({},{onClick:b(r,z)}),{},l)},toggleMenu:function(){x({type:rt})},openMenu:function(){x({type:ut})},closeMenu:function(){x({type:st})},setHighlightedIndex:function(e){x({type:at,highlightedIndex:e})},setInputValue:function(e){x({type:dt,inputValue:e})},selectItem:function(e){x({type:lt,selectedItem:e})},reset:function(){x({type:ct})},highlightedIndex:m,isOpen:g,selectedItem:I,inputValue:v}}ht.stateChangeTypes=pt,e.default=J,e.resetIdCounter=function(){g=0},e.useCombobox=ht,e.useSelect=$e,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=downshift.umd.min.js.map