UNPKG

downshift

Version:

🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.

1 lines 55.2 kB
!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){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var i=n(t);function o(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},r.apply(null,arguments)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s,a,c,d,p,f={exports:{}};function g(){if(a)return s;a=1;return s="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}function h(){if(d)return c;d=1;var e=g();function t(){}function n(){}return n.resetWarningCache=t,c=function(){function i(t,n,i,o,r,u){if(u!==e){var l=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 l.name="Invariant Violation",l}}function o(){return i}i.isRequired=i;var r={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:o,element:i,elementType:i,instanceOf:o,node:i,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return r.PropTypes=r,r}}function m(){return p||(p=1,f.exports=h()()),f.exports}var I,v,y=l(m()),b={exports:{}},x={};v||(v=1,b.exports=function(){if(I)return x;I=1;var e,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),l=Symbol.for("react.context"),s=Symbol.for("react.server_context"),a=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function h(e){if("object"==typeof e&&null!==e){var g=e.$$typeof;switch(g){case t:switch(e=e.type){case i:case r:case o:case c:case d:return e;default:switch(e=e&&e.$$typeof){case s:case l:case a:case f:case p:case u:return e;default:return g}}case n:return g}}}return e=Symbol.for("react.module.reference"),x.ContextConsumer=l,x.ContextProvider=u,x.Element=t,x.ForwardRef=a,x.Fragment=i,x.Lazy=f,x.Memo=p,x.Portal=n,x.Profiler=r,x.StrictMode=o,x.Suspense=c,x.SuspenseList=d,x.isAsyncMode=function(){return!1},x.isConcurrentMode=function(){return!1},x.isContextConsumer=function(e){return h(e)===l},x.isContextProvider=function(e){return h(e)===u},x.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},x.isForwardRef=function(e){return h(e)===a},x.isFragment=function(e){return h(e)===i},x.isLazy=function(e){return h(e)===f},x.isMemo=function(e){return h(e)===p},x.isPortal=function(e){return h(e)===n},x.isProfiler=function(e){return h(e)===r},x.isStrictMode=function(e){return h(e)===o},x.isSuspense=function(e){return h(e)===c},x.isSuspenseList=function(e){return h(e)===d},x.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===r||t===o||t===c||t===d||t===g||"object"==typeof t&&null!==t&&(t.$$typeof===f||t.$$typeof===p||t.$$typeof===u||t.$$typeof===l||t.$$typeof===a||t.$$typeof===e||void 0!==t.getModuleId)},x.typeOf=h,x}()),b.exports;var w=Object.freeze({__proto__:null,blurButton:14,blurInput:10,changeInput:11,clickButton:13,clickItem:9,controlledPropUpdatedSelectedItem:15,itemMouseEnter:2,keyDownArrowDown:4,keyDownArrowUp:3,keyDownEnd:8,keyDownEnter:6,keyDownEscape:5,keyDownHome:7,keyDownSpaceButton:12,mouseUp:1,touchEnd:16,unknown:0}),k=0;function C(){return String(k++)}var S="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?i.useLayoutEffect:i.useEffect;function D(e){var t=i.useRef(e);return S(function(){t.current=e},[e]),t}function O(){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 T(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return t.some(function(t){return t&&t.apply(void 0,[e].concat(i)),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault})}}function M(e,t){var n;function i(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,r=new Array(o),u=0;u<o;u++)r[u]=arguments[u];i(),n=setTimeout(function(){n=null,e.apply(void 0,r)},t)}return o.cancel=i,o}var E=M(function(e){K(e).textContent=""},500);function K(e){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)}function P(e,t){e&&t&&(K(t).textContent=e,E(t))}function H(){}function R(e,t){return t?Object.keys(e).reduce(function(e,n){return void 0!==t[n]&&(e[n]=t[n]),e},r({},e)):e}const V=e=>"object"==typeof e&&null!=e&&1===e.nodeType,A=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,B=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return A(n.overflowY,t)||A(n.overflowX,t)||(e=>{const t=(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},L=(e,t,n,i,o,r,u,l)=>r<e&&u>t||r>e&&u<t?0:r<=e&&l<=n||u>=t&&l>=n?r-e-i:u>t&&l<n||r<e&&l>n?u-t+o:0,_=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t};function F(e,t){if(e){var n=((e,t)=>{var n,i,o,r;if("undefined"==typeof document)return[];const{inline:u,boundary:l,skipOverflowHiddenElements:s}=t,a="function"==typeof l?l:e=>e!==l;if(!V(e))throw new TypeError("Invalid target");const c=document.scrollingElement||document.documentElement,d=[];let p=e;for(;V(p)&&a(p);){if(p=_(p),p===c){d.push(p);break}null!=p&&p===document.body&&B(p)&&!B(document.documentElement)||null!=p&&B(p,s)&&d.push(p)}const f=null!=(i=null==(n=window.visualViewport)?void 0:n.width)?i:innerWidth,g=null!=(r=null==(o=window.visualViewport)?void 0:o.height)?r:innerHeight,{scrollX:h,scrollY:m}=window,{height:I,width:v,top:y,right:b,bottom:x,left:w}=e.getBoundingClientRect(),{top:k,right:C,left:S}=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);let D=y-k,O="center"===u?w+v/2-S+C:"end"===u?b+C:w-S;const T=[];for(let e=0;e<d.length;e++){const t=d[e],{height:n,width:i,top:o,right:r,bottom:l,left:s}=t.getBoundingClientRect();if(y>=0&&w>=0&&x<=g&&b<=f&&(t===c&&!B(t)||y>=o&&x<=l&&w>=s&&b<=r))return T;const a=getComputedStyle(t),p=parseInt(a.borderLeftWidth,10),k=parseInt(a.borderTopWidth,10),C=parseInt(a.borderRightWidth,10),S=parseInt(a.borderBottomWidth,10);let M=0,E=0;const K="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-C:0,P="offsetHeight"in t?t.offsetHeight-t.clientHeight-k-S:0,H="offsetWidth"in t?0===t.offsetWidth?0:i/t.offsetWidth:0,R="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(c===t)M=L(m,m+g,g,k,S,m+D,m+D+I,I),E="start"===u?O:"center"===u?O-f/2:"end"===u?O-f:L(h,h+f,f,p,C,h+O,h+O+v,v),M=Math.max(0,M+m),E=Math.max(0,E+h);else{M=L(o,l,n,k,S+P,D,D+I,I),E="start"===u?O-s-p:"center"===u?O-(s+i/2)+K/2:"end"===u?O-r+C+K:L(s,r,i,p,C+K,O,O+v,v);const{scrollLeft:e,scrollTop:a}=t;M=0===R?0:Math.max(0,Math.min(a+M/R,t.scrollHeight-n/R+P)),E=0===H?0:Math.max(0,Math.min(e+E/H,t.scrollWidth-i/H+K)),D+=a-M,O+=e-E}T.push({el:t,top:M,left:E})}return T})(e,{boundary:t});n.forEach(function(e){var t=e.el,n=e.top,i=e.left;t.scrollTop=n,t.scrollLeft=i})}}function j(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&!t.startsWith("Arrow")?"Arrow"+t:t}function N(e,t,n,i,o){void 0===o&&(o=!1);var r=n.length;if(t){for(var u=e;u>=0;u--)if(!i(n[u],u))return u}else for(var l=e;l<r;l++)if(!i(n[l],l))return l;return o?N(t?r-1:0,t,n,i):-1}function U(e,t,n,i,o){void 0===o&&(o=!1);var r=n.length;if(0===r)return-1;var u=r-1;("number"!=typeof e||e<0||e>u)&&(e=t>0?-1:u+1);var l=e+t;l<0?l=o?u:0:l>u&&(l=o?0:u);var s=N(l,t<0,n,i,o);return-1===s?e>=r?-1:e:s}function W(e,t,n,i){return void 0===i&&(i=!0),!!n&&t.some(function(t){return t&&($(t,e,n)||i&&$(t,n.document.activeElement,n))})}function $(e,t,n){return e===t||t instanceof n.Node&&e.contains(t)}function G(e){return"function"==typeof e?e:H}function q(e){var t=e.isOpen,n=e.resultCount,i=e.previousResultCount;return t?n?n!==i?n+" result"+(1===n?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":"":"No results are available.":""}function z(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}var Y=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function X(e){void 0===e&&(e={});var t={};return Y.forEach(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t}var J=["refKey","ref"],Q=["onClick","onPress","onKeyDown","onKeyUp","onBlur"],Z=["onKeyDown","onBlur","onChange","onInput","onChangeText"],ee=["refKey","ref"],te=["onMouseMove","onMouseDown","onClick","onPress","index","item"],ne=function(){var e=function(e){function n(t){var n=e.call(this,t)||this;n.id=n.props.id||"downshift-"+C(),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.items=[],n.itemCount=null,n.previousResultCount=0,n.timeoutIds=[],n.internalSetTimeout=function(e,t){var i=setTimeout(function(){n.timeoutIds=n.timeoutIds.filter(function(e){return e!==i}),e()},t);n.timeoutIds.push(i)},n.setItemCount=function(e){n.itemCount=e},n.unsetItemCount=function(){n.itemCount=null},n.isItemDisabled=function(e,t){var i=n.getItemNodeFromIndex(t);return i&&i.hasAttribute("disabled")},n.setHighlightedIndex=function(e,t){void 0===e&&(e=n.props.defaultHighlightedIndex),void 0===t&&(t={}),t=X(t),n.internalSetState(r({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,i){t=X(t),n.internalSetState(r({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,selectedItem:e,inputValue:n.props.itemToString(e)},t),i)},n.selectItemAtIndex=function(e,t,i){var o=n.items[e];null!=o&&n.selectItem(o,t,i)},n.selectHighlightedItem=function(e,t){return n.selectItemAtIndex(n.getState().highlightedIndex,e,t)},n.internalSetState=function(e,t){var i,o,u={},l="function"==typeof e;return!l&&e.hasOwnProperty("inputValue")&&n.props.onInputValueChange(e.inputValue,r({},n.getStateAndHelpers(),e)),n.setState(function(t){var s;t=n.getState(t);var a=l?e(t):e;a=n.props.stateReducer(t,a),i=a.hasOwnProperty("selectedItem");var c={};return i&&a.selectedItem!==t.selectedItem&&(o=a.selectedItem),(s=a).type||(s.type=0),Object.keys(a).forEach(function(e){t[e]!==a[e]&&(u[e]=a[e]),"type"!==e&&(a[e],void 0===n.props[e]&&(c[e]=a[e]))}),l&&a.hasOwnProperty("inputValue")&&n.props.onInputValueChange(a.inputValue,r({},n.getStateAndHelpers(),a)),c},function(){G(t)(),Object.keys(u).length>1&&n.props.onStateChange(u,n.getStateAndHelpers()),i&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==o&&n.props.onChange(o,n.getStateAndHelpers()),n.props.onUserAction(u,n.getStateAndHelpers())})},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var i,u=void 0===e?{}:e,l=u.refKey,s=void 0===l?"ref":l,a=u.ref,c=o(u,J),d=(void 0===t?{}:t).suppressRefError,p=void 0!==d&&d;n.getRootProps.called=!0,n.getRootProps.refKey=s,n.getRootProps.suppressRefError=p;var f=n.getState().isOpen;return r(((i={})[s]=O(a,n.rootRef),i.role="combobox",i["aria-expanded"]=f,i["aria-haspopup"]="listbox",i["aria-owns"]=f?n.menuId:void 0,i["aria-labelledby"]=n.labelId,i),c)},n.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=U(t.getState().highlightedIndex,1,{length:e},t.isItemDisabled,!0);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=U(t.getState().highlightedIndex,-1,{length:e},t.isItemDisabled,!0);t.setHighlightedIndex(n,{type:3})}})},Enter:function(e){if(229!==e.which){var t=this.getState(),n=t.isOpen,i=t.highlightedIndex;if(n&&null!=i){e.preventDefault();var o=this.items[i],r=this.getItemNodeFromIndex(i);if(null==o||r&&r.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}}},Escape:function(e){e.preventDefault(),this.reset(r({type:5},!this.state.isOpen&&{selectedItem:null,inputValue:""}))}},n.buttonKeyDownHandlers=r({},n.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:12})}}),n.inputKeyDownHandlers=r({},n.keyDownHandlers,{Home:function(e){var t=this.getState().isOpen;if(t){e.preventDefault();var n=this.getItemCount();if(!(n<=0)&&t){var i=N(0,!1,{length:n},this.isItemDisabled);this.setHighlightedIndex(i,{type:7})}}},End:function(e){var t=this.getState().isOpen;if(t){e.preventDefault();var n=this.getItemCount();if(!(n<=0)&&t){var i=N(n-1,!0,{length:n},this.isItemDisabled);this.setHighlightedIndex(i,{type:8})}}}}),n.getToggleButtonProps=function(e){var t=void 0===e?{}:e,i=t.onClick;t.onPress;var u=t.onKeyDown,l=t.onKeyUp,s=t.onBlur,a=o(t,Q),c=n.getState().isOpen,d={onClick:T(i,n.buttonHandleClick),onKeyDown:T(u,n.buttonHandleKeyDown),onKeyUp:T(l,n.buttonHandleKeyUp),onBlur:T(s,n.buttonHandleBlur)};return r({type:"button",role:"button","aria-label":c?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},a.disabled?{}:d,a)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=j(e);n.buttonKeyDownHandlers[t]&&n.buttonKeyDownHandlers[t].call(n,e)},n.buttonHandleClick=function(e){if(e.preventDefault(),n.props.environment){var t=n.props.environment.document,i=t.body,o=t.activeElement;i&&i===o&&e.target.focus()}n.internalSetTimeout(function(){return n.toggleMenu({type:13})})},n.buttonHandleBlur=function(e){var t=e.target;n.internalSetTimeout(function(){if(!n.isMouseDown&&n.props.environment){var e=n.props.environment.document.activeElement;null!=e&&e.id===n.inputId||e===t||n.reset({type:14})}})},n.getLabelProps=function(e){return r({htmlFor:n.inputId,id:n.labelId},e)},n.getInputProps=function(e){var t=void 0===e?{}:e,i=t.onKeyDown,u=t.onBlur,l=t.onChange,s=t.onInput;t.onChangeText;var a=o(t,Z),c={};var d,p=n.getState(),f=p.inputValue,g=p.isOpen,h=p.highlightedIndex;a.disabled||((d={}).onChange=T(l,s,n.inputHandleChange),d.onKeyDown=T(i,n.inputHandleKeyDown),d.onBlur=T(u,n.inputHandleBlur),c=d);return r({"aria-autocomplete":"list","aria-activedescendant":g&&"number"==typeof h&&h>=0?n.getItemId(h):void 0,"aria-controls":g?n.menuId:void 0,"aria-labelledby":a&&a["aria-label"]?void 0:n.labelId,autoComplete:"off",value:f,id:n.inputId},c,a)},n.inputHandleKeyDown=function(e){var t=j(e);t&&n.inputKeyDownHandlers[t]&&n.inputKeyDownHandlers[t].call(n,e)},n.inputHandleChange=function(e){n.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:n.props.defaultHighlightedIndex})},n.inputHandleBlur=function(){n.internalSetTimeout(function(){var e;if(!n.isMouseDown&&n.props.environment){var t=n.props.environment.document.activeElement;(null==t||null==(e=t.dataset)?void 0:e.toggle)&&n._rootNode&&n._rootNode.contains(t)||n.reset({type:10})}})},n.menuRef=function(e){n._menuNode=e},n.getMenuProps=function(e,t){var i,u=void 0===e?{}:e,l=u.refKey,s=void 0===l?"ref":l,a=u.ref,c=o(u,ee),d=(void 0===t?{}:t).suppressRefError,p=void 0!==d&&d;return n.getMenuProps.called=!0,n.getMenuProps.refKey=s,n.getMenuProps.suppressRefError=p,r(((i={})[s]=O(a,n.menuRef),i.role="listbox",i["aria-labelledby"]=c&&c["aria-label"]?void 0:n.labelId,i.id=n.menuId,i),c)},n.getItemProps=function(e){var t,i=void 0===e?{}:e,u=i.onMouseMove,l=i.onMouseDown,s=i.onClick;i.onPress;var a=i.index,c=i.item,d=void 0===c?void 0:c,p=o(i,te);void 0===a?(n.items.push(d),a=n.items.indexOf(d)):n.items[a]=d;var f=s,g=((t={onMouseMove:T(u,function(){a!==n.getState().highlightedIndex&&(n.setHighlightedIndex(a,{type:2}),n.avoidScrolling=!0,n.internalSetTimeout(function(){return n.avoidScrolling=!1},250))}),onMouseDown:T(l,function(e){e.preventDefault()})}).onClick=T(f,function(){n.selectItemAtIndex(a,{type:9})}),t),h=p.disabled?{onMouseDown:g.onMouseDown}:g;return r({id:n.getItemId(a),role:"option","aria-selected":n.getState().highlightedIndex===a},h,p)},n.clearItems=function(){n.items=[]},n.reset=function(e,t){void 0===e&&(e={}),e=X(e),n.internalSetState(function(t){var i=t.selectedItem;return r({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,inputValue:n.props.itemToString(i)},e)},t)},n.toggleMenu=function(e,t){void 0===e&&(e={}),e=X(e),n.internalSetState(function(t){var i=t.isOpen;return r({isOpen:!i},i&&{highlightedIndex:n.props.defaultHighlightedIndex},e)},function(){var i=n.getState(),o=i.isOpen,r=i.highlightedIndex;o&&n.getItemCount()>0&&"number"==typeof r&&n.setHighlightedIndex(r,e),G(t)()})},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=M(function(){var e;if(null!=(e=n.props)&&null!=(e=e.environment)&&e.document){var t=n.getState(),i=n.items[t.highlightedIndex],o=n.getItemCount(),u=n.props.getA11yStatusMessage(r({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:o,highlightedItem:i},t));n.previousResultCount=o,P(u,n.props.environment.document)}},200);var i=n.props,u=i.defaultHighlightedIndex,l=i.initialHighlightedIndex,s=void 0===l?u:l,a=i.defaultIsOpen,c=i.initialIsOpen,d=void 0===c?a:c,p=i.initialInputValue,f=void 0===p?"":p,g=i.initialSelectedItem,h=void 0===g?null:g,m=n.getState({highlightedIndex:s,isOpen:d,inputValue:f,selectedItem:h});return null!=m.selectedItem&&void 0===n.props.initialInputValue&&(m.inputValue=n.props.itemToString(m.selectedItem)),n.state=m,n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}(n,e);var i=n.prototype;return i.internalClearTimeouts=function(){this.timeoutIds.forEach(function(e){clearTimeout(e)}),this.timeoutIds=[]},i.getState=function(e){return void 0===e&&(e=this.state),R(e,this.props)},i.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},i.getItemNodeFromIndex=function(e){return this.props.environment?this.props.environment.document.getElementById(this.getItemId(e)):null},i.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},i.moveHighlightedIndex=function(e,t){var n=this.getItemCount(),i=this.getState().highlightedIndex;if(n>0){var o=U(i,e,{length:n},this.isItemDisabled,!0);this.setHighlightedIndex(o,t)}},i.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,i=e.selectedItem,o=e.isOpen,r=this.props.itemToString,u=this.id,l=this.getRootProps,s=this.getToggleButtonProps,a=this.getLabelProps,c=this.getMenuProps,d=this.getInputProps,p=this.getItemProps,f=this.openMenu,g=this.closeMenu,h=this.toggleMenu,m=this.selectItem,I=this.selectItemAtIndex,v=this.selectHighlightedItem,y=this.setHighlightedIndex,b=this.clearSelection,x=this.clearItems;return{getRootProps:l,getToggleButtonProps:s,getLabelProps:a,getMenuProps:c,getInputProps:d,getItemProps:p,reset:this.reset,openMenu:f,closeMenu:g,toggleMenu:h,selectItem:m,selectItemAtIndex:I,selectHighlightedItem:v,setHighlightedIndex:y,clearSelection:b,clearItems:x,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:r,id:u,highlightedIndex:t,inputValue:n,isOpen:o,selectedItem:i}},i.componentDidMount=function(){var e=this;if(this.props.environment){var t=function(){e.isMouseDown=!0},n=function(t){e.isMouseDown=!1,!W(t.target,[e._rootNode,e._menuNode],e.props.environment)&&e.getState().isOpen&&e.reset({type:1},function(){return e.props.onOuterClick(e.getStateAndHelpers())})},i=function(){e.isTouchMove=!1},o=function(){e.isTouchMove=!0},r=function(t){var n=W(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",i),u.addEventListener("touchmove",o),u.addEventListener("touchend",r),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),u.removeEventListener("mousedown",t),u.removeEventListener("mouseup",n),u.removeEventListener("touchstart",i),u.removeEventListener("touchmove",o),u.removeEventListener("touchend",r)}}else this.cleanup=function(){e.internalClearTimeouts()}},i.shouldScroll=function(e,t){var n=(void 0===this.props.highlightedIndex?this.getState():this.props).highlightedIndex,i=(void 0===t.highlightedIndex?e:t).highlightedIndex;return n&&this.getState().isOpen&&!e.isOpen||n!==i},i.componentDidUpdate=function(e,t){void 0!==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()},i.componentWillUnmount=function(){this.cleanup()},i.render=function(){var e=z(this.props.children,H);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=z(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},n}(t.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:q,itemToString:function(e){return null==e?"":String(e)},onStateChange:H,onInputValueChange:H,onUserAction:H,onChange:H,onSelect:H,onOuterClick:H,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?void 0:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:F},e.stateChangeTypes=w,e}();function ie(e,t,n,i,o){if(o[e]!==i[e]){var u,l=n["on"+(""+(u=e).slice(0,1).toUpperCase()+u.slice(1)+"Change")];if("function"==typeof l)l(r({type:t.type},o))}}function oe(e,t,n,o){var u=i.useRef({}),l=i.useCallback(function(t,n){var i=t.state;i=R(i,n.props);var o=e(i,n),u=n.props.stateReducer(i,r({},n,{changes:o}));return{state:r({},i,u),lastAction:n}},[e]),s=i.useReducer(l,t,function(e){return{state:n(e),lastAction:void 0}}),a=s[0],c=a.state,d=a.lastAction,p=s[1],f=D(t),g=i.useCallback(function(e){return p(r({},e,{props:f.current}))},[f]);return i.useEffect(function(){if(d){var e=R(u.current,d.props);!o(e,c)&&function(e,t,n,i){for(var o=e.type,u={},l=0,s=Object.keys(n);l<s.length;l++){var a=s[l];ie(a,e,t,n,i),i[a]!==n[a]&&(u[a]=i[a])}"function"==typeof t.onStateChange&&Object.keys(u).length&&t.onStateChange(r({type:o},u))}(d,d.props,e,c)}u.current=c},[c,d,o]),[c,g]}function re(e,t,n,i){var o=oe(e,t,n,i),r=o[0],u=o[1];return[R(r,t),u]}function ue(e,t,n,i){if(void 0!==e&&void 0!==t)return[e,t];if(void 0!==e){if(n.indexOf(e)<0)throw new Error(i);return[e,n.indexOf(e)]}if(void 0!==t){var o=n[t];if(void 0===o)throw new Error(i);return[o,t]}throw new Error(i)}function le(){var e=i.useRef(!0);return i.useEffect(function(){return e.current=!1,function(){e.current=!0}},[]),e.current}var se={environment:y.shape({addEventListener:y.func.isRequired,removeEventListener:y.func.isRequired,document:y.shape({createElement:y.func.isRequired,getElementById:y.func.isRequired,activeElement:y.any.isRequired,body:y.any.isRequired}).isRequired,Node:y.func.isRequired}),itemToKey:y.func,stateReducer:y.func};function ae(e,t){return void 0===e?t:e}function ce(e,t,n,i){return void 0!==e?e:void 0!==t?t:void 0!==n?n:i}var de=M(function(e,t){P(e,t)},200);function pe(e,t,n,o){var r=null==o?void 0:o.document,u=le();i.useEffect(function(){if(e&&!u&&r){var n=e(t);de(n,r)}},n),i.useEffect(function(){return function(){de.cancel(),function(e){var t=null==e?void 0:e.getElementById("a11y-status-message");t&&t.remove()}(r)}},[r])}var fe=r({},se,{getA11yStatusMessage:y.func,highlightedIndex:y.number,defaultHighlightedIndex:y.number,initialHighlightedIndex:y.number,isOpen:y.bool,defaultIsOpen:y.bool,initialIsOpen:y.bool,selectedItem:y.any,initialSelectedItem:y.any,defaultSelectedItem:y.any,id:y.string,labelId:y.string,menuId:y.string,getItemId:y.func,toggleButtonId:y.string,onSelectedItemChange:y.func,onHighlightedIndexChange:y.func,onStateChange:y.func,onIsOpenChange:y.func,scrollIntoView:y.func}),ge={itemToString:function(e){return e?String(e):""},itemToKey:function(e){return e},isItemDisabled:function(){return!1},stateReducer:function(e,t){return t.changes},scrollIntoView:F,environment:"undefined"==typeof window?void 0:window},he=-1,me=!1,Ie=null,ve="",ye=r({},i).useId,be="function"==typeof ye?function(e){var t=e.id,n=e.labelId,o=e.menuId,r=e.getItemId,u=e.toggleButtonId,l=e.inputId,s="downshift-"+ye();t||(t=s);return i.useMemo(function(){return{labelId:null!=n?n:t+"-label",menuId:null!=o?o:t+"-menu",getItemId:null!=r?r:function(e){return t+"-item-"+e},toggleButtonId:null!=u?u:t+"-toggle-button",inputId:null!=l?l:t+"-input"}},[r,t,l,n,o,u])}:function(e){var t=e.id,n=e.labelId,o=e.menuId,r=e.getItemId,u=e.toggleButtonId,l=e.inputId,s=i.useState(function(){return null!=t?t:"downshift-"+C()})[0];return i.useMemo(function(){return{labelId:null!=n?n:s+"-label",menuId:null!=o?o:s+"-menu",getItemId:null!=r?r:function(e){return s+"-item-"+e},toggleButtonId:null!=u?u:s+"-toggle-button",inputId:null!=l?l:s+"-input"}},[r,l,n,o,u,s])};function xe(e,t,n){var i=ae(n,he);return e[i]&&t(e[i],i)?-1:i}function we(e,t,n,i,o,u){return r({isOpen:!1,highlightedIndex:-1},e.length&&o>=0&&r({selectedItem:e[o],isOpen:ae(n,me),highlightedIndex:ae(i,he)},u&&{inputValue:t(e[o])}))}function ke(e,t,n,i,o,r,u,l){return 0===e.length?-1:void 0===t||u!==t||-1!==t&&(void 0===e[t]||i(e[t],t))?void 0===n||-1!==n&&(void 0===e[n]||i(e[n],n))?r?e.findIndex(function(e){return o(r)===o(e)}):l<0&&e[e.length-1]&&!i(e[e.length-1],e.length-1)?e.length-1:l>0&&e[0]&&!i(e[0],0)?0:-1:n:t}function Ce(e){var t=ce(e.selectedItem,e.initialSelectedItem,e.defaultSelectedItem,Ie),n=ce(e.isOpen,e.initialIsOpen,e.defaultIsOpen,me),i=function(e){var t=ce(e.highlightedIndex,e.initialHighlightedIndex,e.defaultHighlightedIndex,he);if(t>-1&&e.items[t]&&e.isItemDisabled(e.items[t],t))return-1;return t}(e),o=ce(e.inputValue,e.initialInputValue,e.defaultInputValue,ve);return{highlightedIndex:i<0&&t&&n?e.items.findIndex(function(n){return e.itemToKey(n)===e.itemToKey(t)}):i,isOpen:n,selectedItem:t,inputValue:o}}function Se(e,t,n){var o=i.useRef({isMouseDown:!1,isTouchMove:!1,isTouchEnd:!1}),r=i.useCallback(function(){return n.map(function(e){return e.current})},[n]);return i.useEffect(function(){if(!e)return H;function n(){o.current.isTouchEnd=!1,o.current.isMouseDown=!0}function i(n){o.current.isMouseDown=!1,W(n.target,r(),e)||t()}function u(){o.current.isTouchEnd=!1,o.current.isTouchMove=!1}function l(){o.current.isTouchMove=!0}function s(n){o.current.isTouchEnd=!0,o.current.isTouchMove||W(n.target,r(),e,!1)||t()}return e.addEventListener("mousedown",n),e.addEventListener("mouseup",i),e.addEventListener("touchstart",u),e.addEventListener("touchmove",l),e.addEventListener("touchend",s),function(){e.removeEventListener("mousedown",n),e.removeEventListener("mouseup",i),e.removeEventListener("touchstart",u),e.removeEventListener("touchmove",l),e.removeEventListener("touchend",s)}},[e,r,t]),o}var De=function(){return H};function Oe(e,t,n,o,r,u){var l=i.useRef(!0);return S(function(){if(!(t<0)&&n&&Object.keys(r.current).length)if(l.current){var i=r.current[u(t)];i&&o.current&&e(i,o.current)}else l.current=!0},[t]),i.useCallback(function(){l.current=!1},[])}function Te(e,t){return e.isOpen===t.isOpen&&e.inputValue===t.inputValue&&e.highlightedIndex===t.highlightedIndex&&e.selectedItem===t.selectedItem}function Me(e,t,n,i){var o;switch(n.type){case i.ItemMouseMove:o={highlightedIndex:n.disabled?-1:n.index};break;case i.MenuMouseLeave:o={highlightedIndex:-1};break;case i.ToggleButtonClick:case i.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:ke(t.items,t.initialHighlightedIndex,t.defaultHighlightedIndex,t.isItemDisabled,t.itemToKey,e.selectedItem,e.highlightedIndex,0)};break;case i.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:ke(t.items,t.initialHighlightedIndex,t.defaultHighlightedIndex,t.isItemDisabled,t.itemToKey,e.selectedItem,e.highlightedIndex,0)};break;case i.FunctionCloseMenu:o={isOpen:!1};break;case i.FunctionSetHighlightedIndex:var u=n.highlightedIndex;o={highlightedIndex:t.isItemDisabled(t.items[u],u)?-1:u};break;case i.FunctionSetInputValue:o={inputValue:n.inputValue};break;case i.FunctionReset:o={highlightedIndex:xe(t.items,t.isItemDisabled,t.defaultHighlightedIndex),isOpen:ae(t.defaultIsOpen,me),selectedItem:ae(t.defaultSelectedItem,Ie),inputValue:ae(t.defaultInputValue,ve)};break;default:throw new Error("Reducer called without proper action type.")}return r({},e,o)}var Ee=Object.freeze({__proto__:null,FunctionCloseMenu:17,FunctionOpenMenu:16,FunctionReset:21,FunctionSelectItem:19,FunctionSetHighlightedIndex:18,FunctionSetInputValue:20,FunctionToggleMenu:15,ItemClick:14,ItemMouseMove:13,MenuMouseLeave:12,ToggleButtonBlur:11,ToggleButtonClick:0,ToggleButtonKeyDownArrowDown:1,ToggleButtonKeyDownArrowUp:2,ToggleButtonKeyDownCharacter:3,ToggleButtonKeyDownEnd:6,ToggleButtonKeyDownEnter:7,ToggleButtonKeyDownEscape:4,ToggleButtonKeyDownHome:5,ToggleButtonKeyDownPageDown:10,ToggleButtonKeyDownPageUp:9,ToggleButtonKeyDownSpaceButton:8});function Ke(e,t){var n,i=t.type,o=t.props;switch(i){case 14:n={isOpen:ae(o.defaultIsOpen,me),highlightedIndex:xe(o.items,o.isItemDisabled,o.defaultHighlightedIndex),selectedItem:o.items[t.index]};break;case 3:var u=t.key,l=""+e.inputValue+u;n={inputValue:l,highlightedIndex:function(e){for(var t=e.keysSoFar,n=e.highlightedIndex,i=e.items,o=e.itemToString,r=e.isItemDisabled,u=t.toLowerCase(),l=0;l<i.length;l++){var s=(l+n+(t.length<2?1:0))%i.length,a=i[s];if(void 0!==a&&o(a).toLowerCase().startsWith(u)&&!r(a,s))return s}return n}({keysSoFar:l,highlightedIndex:!e.isOpen&&e.selectedItem?o.items.findIndex(function(t){return o.itemToKey(t)===o.itemToKey(e.selectedItem)}):e.highlightedIndex,items:o.items,itemToString:o.itemToString,isItemDisabled:o.isItemDisabled}),isOpen:!0};break;case 1:var s=t.altKey;n={highlightedIndex:e.isOpen?U(e.highlightedIndex,1,o.items,o.isItemDisabled):s&&null==e.selectedItem?-1:ke(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,1),isOpen:!0};break;case 2:var a=t.altKey;if(e.isOpen&&a)n=we(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!1);else n={highlightedIndex:e.isOpen?U(e.highlightedIndex,-1,o.items,o.isItemDisabled):ke(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,-1),isOpen:!0};break;case 7:case 8:n=we(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!1);break;case 5:n={highlightedIndex:N(0,!1,o.items,o.isItemDisabled),isOpen:!0};break;case 6:n={highlightedIndex:N(o.items.length-1,!0,o.items,o.isItemDisabled),isOpen:!0};break;case 9:n={highlightedIndex:U(e.highlightedIndex,-10,o.items,o.isItemDisabled)};break;case 10:n={highlightedIndex:U(e.highlightedIndex,10,o.items,o.isItemDisabled)};break;case 4:n={isOpen:!1,highlightedIndex:-1};break;case 11:n=r({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&o.items.length&&{selectedItem:o.items[e.highlightedIndex]});break;case 19:n={selectedItem:t.selectedItem};break;default:return Me(e,o,t,Ee)}return r({},e,n)}var Pe=["onClick"],He=["onMouseLeave","refKey","ref","aria-label"],Re=["onBlur","onClick","onPress","onKeyDown","refKey","ref"],Ve=["item","index","onMouseMove","onClick","onMouseDown","onPress","refKey","disabled","ref"];function Ae(e){void 0===e&&(e={});var n=r({},ge,e),i=n.items,u=n.isItemDisabled,l=n.scrollIntoView,s=n.environment,a=n.getA11yStatusMessage,c=re(Ke,n,Ce,Te),d=c[0],p=c[1],f=d.isOpen,g=d.highlightedIndex,h=d.selectedItem,m=d.inputValue,I=t.useRef(null),v=t.useRef(null),y=t.useRef({}),b=t.useRef(null),x=be(n),w=D(d);pe(a,d,[f,g,h,m],s);var k=Oe(l,g,f,v,y,x.getItemId);t.useEffect(function(){return b.current=M(function(e){e({type:20,inputValue:""})},500),function(){var e;null==(e=b.current)||e.cancel()}},[]),t.useEffect(function(){m&&(null==b.current||b.current(p))},[p,m]),t.useEffect(function(){ce(n.isOpen,n.initialIsOpen,n.defaultIsOpen,me)&&I.current&&I.current.focus()},[]);var C=Se(s,t.useCallback(function(){w.current.isOpen&&p({type:11})},[p,w]),t.useMemo(function(){return[v,I]},[])),S=De();t.useEffect(function(){f||(y.current={})},[f]);var E=t.useMemo(function(){return{ArrowDown:function(e){e.preventDefault(),p({type:1,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),p({type:2,altKey:e.altKey})},Home:function(e){e.preventDefault(),p({type:5})},End:function(e){e.preventDefault(),p({type:6})},Escape:function(){w.current.isOpen&&p({type:4})},Enter:function(e){e.preventDefault(),p({type:w.current.isOpen?7:0})},PageUp:function(e){w.current.isOpen&&(e.preventDefault(),p({type:9}))},PageDown:function(e){w.current.isOpen&&(e.preventDefault(),p({type:10}))}," ":function(e){e.preventDefault();var t=w.current;t.isOpen?t.inputValue?p({type:3,key:" "}):p({type:8}):p({type:0})}}},[p,w]),K=t.useCallback(function(e){var t=null!=e?e:{},n=t.onClick,i=o(t,Pe);return r({id:x.labelId,htmlFor:x.toggleButtonId,onClick:T(n,function(){var e;null==(e=I.current)||e.focus()})},i)},[x]),P=t.useCallback(function(e,t){var n,i=null!=e?e:{},u=i.onMouseLeave,l=i.refKey,s=void 0===l?"ref":l,a=i.ref,c=i["aria-label"],d=o(i,He);return(null!=t?t:{}).suppressRefError,r(((n={})[s]=O(a,function(e){v.current=e}),n.id=x.menuId,n.role="listbox",n["aria-label"]=c,n["aria-labelledby"]=c?void 0:""+x.labelId,n.onMouseLeave=T(u,function(){p({type:12})}),n),d)},[p,S,x]),H=t.useCallback(function(e,t){var n,i=null!=e?e:{},u=i.onBlur,l=i.onClick;i.onPress;var s=i.onKeyDown,a=i.refKey,c=void 0===a?"ref":a,d=i.ref,h=o(i,Re);(null!=t?t:{}).suppressRefError;var m=r(((n={})[c]=O(d,function(e){I.current=e}),n["aria-activedescendant"]=f&&g>-1?x.getItemId(g):"",n["aria-controls"]=x.menuId,n["aria-expanded"]=f,n["aria-haspopup"]="listbox",n["aria-labelledby"]=h["aria-label"]?void 0:""+x.labelId,n.id=x.toggleButtonId,n.role="combobox",n.tabIndex=0,n.onBlur=T(u,function(){w.current.isOpen&&!C.current.isMouseDown&&p({type:11})}),n),h);return h.disabled||Object.assign(m,{onClick:T(l,function(){p({type:0})}),onKeyDown:T(s,function(e){var t=j(e);t&&t in E?E[t](e):/^\S{1}$/.test(t)&&p({type:3,key:t})})}),m},[p,x,f,g,C,S,E,w]),R=t.useCallback(function(e){var t,n=null!=e?e:{},l=n.item,s=n.index,a=n.onMouseMove,c=n.onClick,d=n.onMouseDown;n.onPress;var f=n.refKey,g=void 0===f?"ref":f,m=n.disabled,I=n.ref,v=o(n,Ve);void 0!==m&&console.warn('Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useSelect.');var b=ue(l,s,i,"Pass either item or index to getItemProps!"),S=b[0],D=b[1],M=u(S,D),E=r(((t={})[g]=O(I,function(e){e&&(y.current[x.getItemId(D)]=e)}),t["aria-disabled"]=M,t["aria-selected"]=S===h,t.id=x.getItemId(D),t.role="option",t.onMouseMove=T(a,function(){C.current.isTouchEnd||D===w.current.highlightedIndex||(k(),p({type:13,index:D,disabled:M}))}),t.onMouseDown=T(d,function(e){return e.preventDefault()}),t),v);return M||Object.assign(E,{onClick:T(c,function(){p({type:14,index:D})})}),E},[i,u,h,x,C,k,p,w]),V=t.useCallback(function(){p({type:15})},[p]),A=t.useCallback(function(){p({type:17})},[p]);return{getToggleButtonProps:H,getLabelProps:K,getMenuProps:P,getItemProps:R,toggleMenu:V,openMenu:t.useCallback(function(){p({type:16})},[p]),closeMenu:A,setHighlightedIndex:t.useCallback(function(e){p({type:18,highlightedIndex:e})},[p]),selectItem:t.useCallback(function(e){p({type:19,selectedItem:e})},[p]),reset:t.useCallback(function(){p({type:21})},[p]),setInputValue:t.useCallback(function(e){p({type:20,inputValue:e})},[p]),highlightedIndex:g,isOpen:f,selectedItem:h,inputValue:m}}function Be(e){var t=Ce(e),n=t.selectedItem,i=t.inputValue;return""===i&&n&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(i=e.itemToString(n)),r({},t,{inputValue:i})}Ae.stateChangeTypes=Ee;var Le=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem:22,FunctionCloseMenu:17,FunctionOpenMenu:16,FunctionReset:21,FunctionSelectItem:19,FunctionSetHighlightedIndex:18,FunctionSetInputValue:20,FunctionToggleMenu:15,InputBlur:9,InputChange:8,InputClick:10,InputKeyDownArrowDown:0,InputKeyDownArrowUp:1,InputKeyDownEnd:4,InputKeyDownEnter:7,InputKeyDownEscape:2,InputKeyDownHome:3,InputKeyDownPageDown:6,InputKeyDownPageUp:5,ItemClick:13,ItemMouseMove:12,MenuMouseLeave:11,ToggleButtonClick:14});function _e(e,t){var n,i=t.type,o=t.props;switch(i){case 13:n={isOpen:ae(o.defaultIsOpen,me),highlightedIndex:xe(o.items,o.isItemDisabled,o.defaultHighlightedIndex),selectedItem:o.items[t.index],inputValue:o.itemToString(o.items[t.index])};break;case 0:n=e.isOpen?{highlightedIndex:U(e.highlightedIndex,1,o.items,o.isItemDisabled,!0)}:{highlightedIndex:t.altKey&&null==e.selectedItem?-1:ke(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,1),isOpen:o.items.length>=0};break;case 1:n=e.isOpen?t.altKey?we(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!0):{highlightedIndex:U(e.highlightedIndex,-1,o.items,o.isItemDisabled,!0)}:{highlightedIndex:ke(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,-1),isOpen:o.items.length>=0};break;case 7:n=we(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!0);break;case 2:n=r({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case 5:n={highlightedIndex:U(e.highlightedIndex,-10,o.items,o.isItemDisabled,!0)};break;case 6:n={highlightedIndex:U(e.highlightedIndex,10,o.items,o.isItemDisabled,!0)};break;case 3:n={highlightedIndex:N(0,!1,o.items,o.isItemDisabled)};break;case 4:n={highlightedIndex:N(o.items.length-1,!0,o.items,o.isItemDisabled)};break;case 9:n=r({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&o.items.length&&t.selectItem&&{selectedItem:o.items[e.highlightedIndex],inputValue:o.itemToString(o.items[e.highlightedIndex])});break;case 8:n={isOpen:!0,highlightedIndex:xe(o.items,o.isItemDisabled,o.defaultHighlightedIndex),inputValue:t.inputValue};break;case 10:n={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:ke(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,0)};break;case 19:n={selectedItem:t.selectedItem,inputValue:o.itemToString(t.selectedItem)};break;case 22:n={inputValue:t.inputValue};break;default:return Me(e,o,t,Le)}return r({},e,n)}var Fe=["onMouseLeave","refKey","ref","aria-label"],je=["item","index","refKey","ref","onMouseMove","onMouseDown","onClick","onPress","disabled"],Ne=["onClick","onPress","refKey","ref"],Ue=["aria-label","onKeyDown","onChange","onInput","onBlur","onChangeText","onClick","refKey","ref"];function We(e){void 0===e&&(e={});var n=r({},ge,e),i=n.items,u=n.isItemDisabled,l=n.scrollIntoView,s=n.environment,a=n.getA11yStatusMessage,c=function(e,n,i,o){var r=t.useRef(null),u=oe(e,n,i,o),l=u[0],s=u[1],a=le();return t.useEffect(function(){void 0!==n.selectedItem&&(a||n.itemToKey(n.selectedItem)!==n.itemToKey(r.current)&&s({type:22,inputValue:n.itemToString(n.selectedItem)}),r.current=l.selectedItem===r.current?n.selectedItem:l.selectedItem)},[l.selectedItem,n.selectedItem]),[R(l,n),s]}(_e,n,Be,Te),d=c[0],p=c[1],f=d.isOpen,g=d.highlightedIndex,h=d.selectedItem,m=d.inputValue,I=t.useRef(null),v=t.useRef({}),y=t.useRef(null),b=t.useRef(null),x=le(),w=be(n),k=t.useRef(),C=D(d);pe(a,d,[f,g,h,m],s);var S=Oe(l,g,f,I,v,w.getItemId);t.useEffect(function(){ce(n.isOpen,n.initialIsOpen,n.defaultIsOpen,me)&&y.current&&y.current.focus()},[]),t.useEffect(function(){x||(k.current=i.length)});var M=t.useCallback(function(){C.current.isOpen&&p({type:9})},[p,C]),E=t.useMemo(function(){return[I,b,y]},[]),K=Se(s,M,E),P=De();t.useEffect(function(){f||(v.current={})},[f]),t.useEffect(function(){var e;f&&null!=s&&s.document&&null!=(e=y.current)&&e.focus&&s.document.activeElement!==y.current&&y.current.focus()},[f,s]);var H=t.useMemo(function(){return{ArrowDown:function(e){e.preventDefault(),p({type:0,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),p({type:1,altKey:e.altKey})},Home:function(e){C.current.isOpen&&(e.preventDefault(),p({type:3}))},End:function(e){C.current.isOpen&&(e.preventDefault(),p({type:4}))},Escape:function(e){var t=C.current;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),p({type:2}))},Enter:function(e){C.current.isOpen&&229!==e.which&&(e.preventDefault(),p({type:7}))},PageUp:function(e){C.current.isOpen&&(e.preventDefault(),p({type:5}))},PageDown:function(e){C.current.isOpen&&(e.preventDefault(),p({type:6}))}}},[p,C]),V=t.useCallback(function(e){return r({id:w.labelId,htmlFor:w.inputId},e)},[w]),A=t.useCallback(function(e,t){var n,i=null!=e?e:{},u=i.onMouseLeave,l=i.refKey,s=void 0===l?"ref":l,a=i.ref,c=i["aria-label"],d=o(i,Fe);return(null!=t?t:{}).suppressRefError,r(((n={})[s]=O(a,function(e){I.current=e}),n.id=w.menuId,n.role="listbox",n["aria-label"]=c,n["aria-labelledby"]=c?void 0:""+w.labelId,n.onMouseLeave=T(u,function(){p({type:11})}),n),d)},[p,P,w]),B=t.useCallback(function(e){var t,n,l=null!=e?e:{},s=l.item,a=l.index,c=l.refKey,d=void 0===c?"ref":c,f=l.ref,h=l.onMouseMove,m=l.onMouseDown,I=l.onClick;l.onPress;var y=l.disabled,b=o(l,je);void 0!==y&&console.warn('Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useCombobox.');var x=ue(s,a,i,"Pass either item or index to getItemProps!"),k=x[0],D=x[1],M=u(k,D),E=I;return r(((t={})[d]=O(f,function(e){e&&(v.current[w.getItemId(D)]=e)}),t["aria-disabled"]=M,t["aria-selected"]=D===g,t.id=w.getItemId(D),t.role="option",t),!M&&((n={}).onClick=T(E,function(){p({type:13,index:D})}),n),{onMouseMove:T(h,function(){K.current.isTouchEnd||D===C.current.highlightedIndex||(S(),p({type:12,index:D,disabled:M}))}),onMouseDown:T(m,function(e){return e.preventDefault()})},b)},[p,w,i,u,g,K,S,C]),L=t.useCallback(function(e){var t,n=null!=e?e:{},i=n.onClick;n.onPress;var u=n.refKey,l=void 0===u?"ref":u,s=n.ref,a=o(n,Ne);return r(((t={})[l]=O(s,function(e){b.current=e}),t["aria-controls"]=w.menuId,t["aria-expanded"]=f,t.id=w.toggleButtonId,t.tabIndex=-1,t),!a.disabled&&r({},{onClick:T(i,function(){p({type:14})})}),a)},[p,f,w]),_=t.useCallback(function(e,t){var n,i=null!=e?e:{},u=i["aria-label"],l=i.onKeyDown,a=i.onChange,c=i.onInput,d=i.onBlur;i.onChangeText;var h=i.onClick,I=i.refKey,v=void 0===I?"ref":I,b=i.ref,x=o(i,Ue);(null!=t?t:{}).suppressRefError;var k,S={};x.disabled||((k={}).onChange=T(a,c,function(e){p({type:8,inputValue:e.target.value})}),k.onKeyDown=T(l,function(e){var t=j(e);t&&t in H&&H[t](e)}),k.onBlur=T(d,function(e){if(null!=s&&s.document&&C.current.isOpen&&!K.current.isMouseDown){var t=null===e.relatedTarget&&s.document.activeElement!==s.document.body;p({type:9,selectItem:!t})}}),k.onClick=T(h,function(){p({type:10})}),S=k);return r(((n={})[v]=O(b,function(e){y.current=e}),n["aria-activedescendant"]=f&&g>-1?w.getItemId(g):"",n["aria-autocomplete"]="list",n["aria-controls"]=w.menuId,n["aria-expanded"]=f,n["aria-labelledby"]=u?void 0:w.labelId,n["aria-label"]=u,n.autoComplete="off",n.id=w.inputId,n.role="combobox",n.value=m,n),S,x)},[p,w,s,H,f,g,m,K,P,C]),F=t.useCallback(function(){p({type:15})},[p]),N=t.useCallback(function(){p({type:17})},[p]),U=t.useCallback(function(){p({type:16})},[p]),W=t.useCallback(function(e){p({type:18,highlightedIndex:e})},[p]),$=t.useCallback(function(e){p({type:19,selectedItem:e})},[p]);return{getItemProps:B,getLabelProps:V,getMenuProps:A,getInputProps:_,getToggleButtonProps:L,toggleMenu:F,openMenu:U,closeMenu:N,setHighlightedIndex:W,setInputValue:t.useCallback(function(e){p({type:20,inputValue:e})},[p]),selectItem:$,reset:t.useCallback(function(){p({type:21})},[p]),highlightedIndex:g,isOpen:f,selectedItem:h,inputValue:m}}We.stateChangeTypes=Le;var $e=-1,Ge=[];function qe(e){return{activeIndex:ce(e.activeIndex,e.initialActiveIndex,e.defaultActiveIndex,$e),selectedItems:ce(e.selectedItems,e.initialSelectedItems,e.defaultSelectedItems,Ge)}}function ze(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}function Ye(e,t){return e.selectedItems===t.selectedItems&&e.activeIndex===t.activeIndex}fe.stateReducer,fe.itemToKey,fe.environment,y.array,y.array,y.array,y.func,y.number,y.number,y.number,y.func,y.func,y.string,y.string;var Xe={itemToKey:ge.itemToKey,stateReducer:ge.stateReducer,environment:ge.environment,keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"},Je=Object.freeze({__proto__:null,DropdownClick:7,DropdownKeyDownBackspace:6,DropdownKeyDownNavigationPrevious:5,FunctionAddSelectedItem:8,FunctionRemoveSelectedItem:9,FunctionReset:12,FunctionSetActiveIndex:11,FunctionSetSelectedItems:10,SelectedItemClick:0,SelectedItemKeyDownBackspace:2,SelectedItemKeyDownDelete:1,SelectedItemKeyDownNavigationNext:3,SelectedItemKeyDownNavigationPrevious:4});function Qe(e,t){var n,i=t.type,o=t.index,u=t.selectedItem,l=t.props,s=e.activeIndex,a=e.selectedItems;switch(i){case 0:n={activeIndex:o};break;case 4:n={activeIndex:s-1<0?0:s-1};break;case 3:n={activeIndex:s+1>=a.length?-1:s+1};break;case 2:case 1:if(s<0)break;var c=s;1===a.length?c=-1:s===a.length-1&&(c=a.length-2),n=r({selectedItems:[].concat(a.slice(0,s),a.slice(s+1))},{activeIndex:c});break;case 5:n={activeIndex:a.length-1};break;case 6:n={selectedItems:a.slice(0,a.length-1)};break;case 8:n={selectedItems:[].concat(a,[u])};break;case 7:n={activeIndex:-1};break;case 9:var d=s,p=a.findIndex(function(e){return l.itemToKey(e)===l.itemToKey(u)});if(p<0)break;1===a.length?d=-1:p===a.length-1&&(d=a.length-2),n={selectedItems:[].concat(a.slice(0,p),a.slice(p+1)),activeIndex:d};break;case 10:n={selectedItems:t.selectedItems};break;case 11:n={activeIndex:t.activeIndex};break;case 12:n={activeIndex:ae(l.defaultActiveIndex,$e),selectedItems:ae(l.defaultSelectedItems,Ge)};break;default:throw new Error("Reducer called without proper action type.")}return r({},e,n)}var Ze=["refKey","ref","onClick","onKeyDown","selectedItem","index"],et=["refKey","ref","onKeyDown","onClick","preventKeyAction"];function tt(e){void 0===e&&(e={});var n=r({},Xe,e),i=n.getA11yStatusMessage,u=n.environment,l=n.keyNavigationNext,s=n.keyNavigationPrevious,a=re(Qe,n,qe,Ye),c=a[0],d=a[1],p=c.activeIndex,f=c.selectedItems,g=le(),h=t.useRef(null),m=t.useRef(null);null===m.current&&(m.current=new Map),pe(i,c,[p,f],u),t.useEffect(function(){var e;g||(-1===p&&h.current?h.current.focus():null==(e=m.current.get(p))||e.focus())},[p]);var I=De(),v=t.useMemo(function(){var e;return(e={})[s]=function(){d({type:4})},e[l]=function(){d({type:3})},e.Delete=function(){d({type:1})},e.Backspace=function(){d({type:2})},e},[d,l,s]),y=t.useMemo(function(){var e;return(e={})[s]=function(e){ze(e)&&d({type:5})},e.Backspace=function(e){ze(e)&&d({type:6})},e},[d,s]);return{getSelectedItemProps:t.useCallback(function(e){var t,n=void 0===e?{}:e,i=n.refKey,u=void 0===i?"ref":i,l=n.ref,s=n.onClick,a=n.onKeyDown,c=n.selectedItem,g=n.index,h=o(n,Ze),I=ue(c,g,f,"Pass either item or index to getSelectedItemProps!")[1];return r(((t={})[u]=O(l,function(e){e?m.current.set(I,e):m.current.delete(I)}),t.tabIndex=I>-1&&I===p?0:-1,t.onClick=T(s,function(){d({type:0,index:I})}),t.onKeyDown=T(a,function(e){var t=j(e);t&&v[t]&&v[t](e)}),t),h)},[d,f,p,v]),getDropdownProps:t.useCallback(function(e,t){var n,i=void 0===e?{}:e,u=i.refKey,l=vo