downshift
Version:
🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.
1 lines • 54.4 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact/compat"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","preact/compat","prop-types"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Downshift={},e.React,e.PropTypes)}(this,function(e,t,n){"use strict";function i(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 o=i(t);function r(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 u(){return u=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},u.apply(null,arguments)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}var s,a,d={exports:{}},c={};a||(a=1,d.exports=function(){if(s)return c;s=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"),a=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),g=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen");function I(e){if("object"==typeof e&&null!==e){var s=e.$$typeof;switch(s){case t:switch(e=e.type){case i:case r:case o:case p:case f:return e;default:switch(e=e&&e.$$typeof){case a:case l:case d:case h:case g:case u:return e;default:return s}}case n:return s}}}return e=Symbol.for("react.module.reference"),c.ContextConsumer=l,c.ContextProvider=u,c.Element=t,c.ForwardRef=d,c.Fragment=i,c.Lazy=h,c.Memo=g,c.Portal=n,c.Profiler=r,c.StrictMode=o,c.Suspense=p,c.SuspenseList=f,c.isAsyncMode=function(){return!1},c.isConcurrentMode=function(){return!1},c.isContextConsumer=function(e){return I(e)===l},c.isContextProvider=function(e){return I(e)===u},c.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},c.isForwardRef=function(e){return I(e)===d},c.isFragment=function(e){return I(e)===i},c.isLazy=function(e){return I(e)===h},c.isMemo=function(e){return I(e)===g},c.isPortal=function(e){return I(e)===n},c.isProfiler=function(e){return I(e)===r},c.isStrictMode=function(e){return I(e)===o},c.isSuspense=function(e){return I(e)===p},c.isSuspenseList=function(e){return I(e)===f},c.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===r||t===o||t===p||t===f||t===m||"object"==typeof t&&null!==t&&(t.$$typeof===h||t.$$typeof===g||t.$$typeof===u||t.$$typeof===l||t.$$typeof===d||t.$$typeof===e||void 0!==t.getModuleId)},c.typeOf=I,c}()),d.exports;var p=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}),f=0;function g(){return String(f++)}var h="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?o.useLayoutEffect:o.useEffect;function m(e){var t=o.useRef(e);return h(function(){t.current=e},[e]),t}function I(){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 v(){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 y(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 b=y(function(e){x(e).textContent=""},500);function x(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 w(e,t){e&&t&&(x(t).textContent=e,b(t))}function k(){}function D(e,t){return t?Object.keys(e).reduce(function(e,n){return void 0!==t[n]&&(e[n]=t[n]),e},u({},e)):e}const C=e=>"object"==typeof e&&null!=e&&1===e.nodeType,S=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,O=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return S(n.overflowY,t)||S(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},M=(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,K=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t};function T(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(!C(e))throw new TypeError("Invalid target");const d=document.scrollingElement||document.documentElement,c=[];let p=e;for(;C(p)&&a(p);){if(p=K(p),p===d){c.push(p);break}null!=p&&p===document.body&&O(p)&&!O(document.documentElement)||null!=p&&O(p,s)&&c.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:D,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 T=y-k,E="center"===u?w+v/2-S+D:"end"===u?b+D:w-S;const H=[];for(let e=0;e<c.length;e++){const t=c[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===d&&!O(t)||y>=o&&x<=l&&w>=s&&b<=r))return H;const a=getComputedStyle(t),p=parseInt(a.borderLeftWidth,10),k=parseInt(a.borderTopWidth,10),D=parseInt(a.borderRightWidth,10),C=parseInt(a.borderBottomWidth,10);let S=0,K=0;const P="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-D:0,R="offsetHeight"in t?t.offsetHeight-t.clientHeight-k-C:0,V="offsetWidth"in t?0===t.offsetWidth?0:i/t.offsetWidth:0,A="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(d===t)S=M(m,m+g,g,k,C,m+T,m+T+I,I),K="start"===u?E:"center"===u?E-f/2:"end"===u?E-f:M(h,h+f,f,p,D,h+E,h+E+v,v),S=Math.max(0,S+m),K=Math.max(0,K+h);else{S=M(o,l,n,k,C+R,T,T+I,I),K="start"===u?E-s-p:"center"===u?E-(s+i/2)+P/2:"end"===u?E-r+D+P:M(s,r,i,p,D+P,E,E+v,v);const{scrollLeft:e,scrollTop:a}=t;S=0===A?0:Math.max(0,Math.min(a+S/A,t.scrollHeight-n/A+R)),K=0===V?0:Math.max(0,Math.min(e+K/V,t.scrollWidth-i/V+P)),T+=a-S,E+=e-K}H.push({el:t,top:S,left:K})}return H})(e,{boundary:t});n.forEach(function(e){var t=e.el,n=e.top,i=e.left;t.scrollTop=n,t.scrollLeft=i})}}function E(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&!t.startsWith("Arrow")?"Arrow"+t:t}function H(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?H(t?r-1:0,t,n,i):-1}function P(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=H(l,t<0,n,i,o);return-1===s?e>=r?-1:e:s}function R(e,t,n,i){return void 0===i&&(i=!0),!!n&&t.some(function(t){return t&&(V(t,e,n)||i&&V(t,n.document.activeElement,n))})}function V(e,t,n){return e===t||t instanceof n.Node&&e.contains(t)}function A(e){return"function"==typeof e?e:k}function B(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 L(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}var F=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function _(e){void 0===e&&(e={});var t={};return F.forEach(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t}var j=["refKey","ref"],N=["onClick","onPress","onKeyDown","onKeyUp","onBlur"],U=["onKeyDown","onBlur","onChange","onInput","onChangeText"],W=["refKey","ref"],$=["onMouseMove","onMouseDown","onClick","onPress","index","item"],G=function(){var e=function(e){function n(t){var n=e.call(this,t)||this;n.id=n.props.id||"downshift-"+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.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=_(t),n.internalSetState(u({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=_(t),n.internalSetState(u({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,r={},l="function"==typeof e;return!l&&e.hasOwnProperty("inputValue")&&n.props.onInputValueChange(e.inputValue,u({},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 d={};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]&&(r[e]=a[e]),"type"!==e&&(a[e],void 0===n.props[e]&&(d[e]=a[e]))}),l&&a.hasOwnProperty("inputValue")&&n.props.onInputValueChange(a.inputValue,u({},n.getStateAndHelpers(),a)),d},function(){A(t)(),Object.keys(r).length>1&&n.props.onStateChange(r,n.getStateAndHelpers()),i&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==o&&n.props.onChange(o,n.getStateAndHelpers()),n.props.onUserAction(r,n.getStateAndHelpers())})},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var i,o=void 0===e?{}:e,l=o.refKey,s=void 0===l?"ref":l,a=o.ref,d=r(o,j),c=(void 0===t?{}:t).suppressRefError,p=void 0!==c&&c;n.getRootProps.called=!0,n.getRootProps.refKey=s,n.getRootProps.suppressRefError=p;var f=n.getState().isOpen;return u(((i={})[s]=I(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),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:4})}else this.internalSetState({isOpen:!0,type:4},function(){var e=t.getItemCount();if(e>0){var n=P(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=P(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(u({type:5},!this.state.isOpen&&{selectedItem:null,inputValue:""}))}},n.buttonKeyDownHandlers=u({},n.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:12})}}),n.inputKeyDownHandlers=u({},n.keyDownHandlers,{Home:function(e){var t=this.getState().isOpen;if(t){e.preventDefault();var n=this.getItemCount();if(!(n<=0)&&t){var i=H(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=H(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 o=t.onKeyDown,l=t.onKeyUp,s=t.onBlur,a=r(t,N),d=n.getState().isOpen,c={onClick:v(i,n.buttonHandleClick),onKeyDown:v(o,n.buttonHandleKeyDown),onKeyUp:v(l,n.buttonHandleKeyUp),onBlur:v(s,n.buttonHandleBlur)};return u({type:"button",role:"button","aria-label":d?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},a.disabled?{}:c,a)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=E(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 u({htmlFor:n.inputId,id:n.labelId},e)},n.getInputProps=function(e){var t=void 0===e?{}:e,i=t.onKeyDown,o=t.onBlur,l=t.onChange,s=t.onInput;t.onChangeText;var a=r(t,U),d={};var c,p=n.getState(),f=p.inputValue,g=p.isOpen,h=p.highlightedIndex;a.disabled||((c={}).onInput=v(l,s,n.inputHandleChange),c.onKeyDown=v(i,n.inputHandleKeyDown),c.onBlur=v(o,n.inputHandleBlur),d=c);return u({"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},d,a)},n.inputHandleKeyDown=function(e){var t=E(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,o=void 0===e?{}:e,l=o.refKey,s=void 0===l?"ref":l,a=o.ref,d=r(o,W),c=(void 0===t?{}:t).suppressRefError,p=void 0!==c&&c;return n.getMenuProps.called=!0,n.getMenuProps.refKey=s,n.getMenuProps.suppressRefError=p,u(((i={})[s]=I(a,n.menuRef),i.role="listbox",i["aria-labelledby"]=d&&d["aria-label"]?void 0:n.labelId,i.id=n.menuId,i),d)},n.getItemProps=function(e){var t,i=void 0===e?{}:e,o=i.onMouseMove,l=i.onMouseDown,s=i.onClick;i.onPress;var a=i.index,d=i.item,c=void 0===d?void 0:d,p=r(i,$);void 0===a?(n.items.push(c),a=n.items.indexOf(c)):n.items[a]=c;var f=s,g=((t={onMouseMove:v(o,function(){a!==n.getState().highlightedIndex&&(n.setHighlightedIndex(a,{type:2}),n.avoidScrolling=!0,n.internalSetTimeout(function(){return n.avoidScrolling=!1},250))}),onMouseDown:v(l,function(e){e.preventDefault()})}).onClick=v(f,function(){n.selectItemAtIndex(a,{type:9})}),t),h=p.disabled?{onMouseDown:g.onMouseDown}:g;return u({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=_(e),n.internalSetState(function(t){var i=t.selectedItem;return u({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=_(e),n.internalSetState(function(t){var i=t.isOpen;return u({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),A(t)()})},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=y(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(),r=n.props.getA11yStatusMessage(u({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:o,highlightedItem:i},t));n.previousResultCount=o,w(r,n.props.environment.document)}},200);var i=n.props,o=i.defaultHighlightedIndex,l=i.initialHighlightedIndex,s=void 0===l?o:l,a=i.defaultIsOpen,d=i.initialIsOpen,c=void 0===d?a:d,p=i.initialInputValue,f=void 0===p?"":p,h=i.initialSelectedItem,m=void 0===h?null:h,b=n.getState({highlightedIndex:s,isOpen:c,inputValue:f,selectedItem:m});return null!=b.selectedItem&&void 0===n.props.initialInputValue&&(b.inputValue=n.props.itemToString(b.selectedItem)),n.state=b,n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(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),D(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=P(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,d=this.getMenuProps,c=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:d,getInputProps:c,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,!R(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=R(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=L(this.props.children,k);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=L(e(this.getStateAndHelpers()));return n?this.getRootProps.called||this.props.suppressRefError?n:function(e){return"string"==typeof e.type||"string"==typeof e.nodeName}(n)?t.cloneElement(n,this.getRootProps(function(e){return e.props||e.attributes}(n))):void 0:null},n}(t.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:B,itemToString:function(e){return null==e?"":String(e)},onStateChange:k,onInputValueChange:k,onUserAction:k,onChange:k,onSelect:k,onOuterClick:k,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?void 0:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:T},e.stateChangeTypes=p,e}();function q(e,t,n,i,o){if(o[e]!==i[e]){var r,l=n["on"+(""+(r=e).slice(0,1).toUpperCase()+r.slice(1)+"Change")];if("function"==typeof l)l(u({type:t.type},o))}}function z(e,t,n,i){var r=o.useRef({}),l=o.useCallback(function(t,n){var i=t.state;i=D(i,n.props);var o=e(i,n),r=n.props.stateReducer(i,u({},n,{changes:o}));return{state:u({},i,r),lastAction:n}},[e]),s=o.useReducer(l,t,function(e){return{state:n(e),lastAction:void 0}}),a=s[0],d=a.state,c=a.lastAction,p=s[1],f=m(t),g=o.useCallback(function(e){return p(u({},e,{props:f.current}))},[f]);return o.useEffect(function(){if(c){var e=D(r.current,c.props);!i(e,d)&&function(e,t,n,i){for(var o=e.type,r={},l=0,s=Object.keys(n);l<s.length;l++){var a=s[l];q(a,e,t,n,i),i[a]!==n[a]&&(r[a]=i[a])}"function"==typeof t.onStateChange&&Object.keys(r).length&&t.onStateChange(u({type:o},r))}(c,c.props,e,d)}r.current=d},[d,c,i]),[d,g]}function X(e,t,n,i){var o=z(e,t,n,i),r=o[0],u=o[1];return[D(r,t),u]}function Y(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 J(){var e=o.useRef(!0);return o.useEffect(function(){return e.current=!1,function(){e.current=!0}},[]),e.current}var Q={environment:n.shape({addEventListener:n.func.isRequired,removeEventListener:n.func.isRequired,document:n.shape({createElement:n.func.isRequired,getElementById:n.func.isRequired,activeElement:n.any.isRequired,body:n.any.isRequired}).isRequired,Node:n.func.isRequired}),itemToKey:n.func,stateReducer:n.func};function Z(e,t){return void 0===e?t:e}function ee(e,t,n,i){return void 0!==e?e:void 0!==t?t:void 0!==n?n:i}var te=y(function(e,t){w(e,t)},200);function ne(e,t,n,i){var r=null==i?void 0:i.document,u=J();o.useEffect(function(){if(e&&!u&&r){var n=e(t);te(n,r)}},n),o.useEffect(function(){return function(){te.cancel(),function(e){var t=null==e?void 0:e.getElementById("a11y-status-message");t&&t.remove()}(r)}},[r])}var ie=u({},Q,{getA11yStatusMessage:n.func,highlightedIndex:n.number,defaultHighlightedIndex:n.number,initialHighlightedIndex:n.number,isOpen:n.bool,defaultIsOpen:n.bool,initialIsOpen:n.bool,selectedItem:n.any,initialSelectedItem:n.any,defaultSelectedItem:n.any,id:n.string,labelId:n.string,menuId:n.string,getItemId:n.func,toggleButtonId:n.string,onSelectedItemChange:n.func,onHighlightedIndexChange:n.func,onStateChange:n.func,onIsOpenChange:n.func,scrollIntoView:n.func}),oe={itemToString:function(e){return e?String(e):""},itemToKey:function(e){return e},isItemDisabled:function(){return!1},stateReducer:function(e,t){return t.changes},scrollIntoView:T,environment:"undefined"==typeof window?void 0:window},re=-1,ue=!1,le=null,se="",ae=u({},o).useId,de="function"==typeof ae?function(e){var t=e.id,n=e.labelId,i=e.menuId,r=e.getItemId,u=e.toggleButtonId,l=e.inputId,s="downshift-"+ae();t||(t=s);return o.useMemo(function(){return{labelId:null!=n?n:t+"-label",menuId:null!=i?i: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,i,u])}:function(e){var t=e.id,n=e.labelId,i=e.menuId,r=e.getItemId,u=e.toggleButtonId,l=e.inputId,s=o.useState(function(){return null!=t?t:"downshift-"+g()})[0];return o.useMemo(function(){return{labelId:null!=n?n:s+"-label",menuId:null!=i?i: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,i,u,s])};function ce(e,t,n){var i=Z(n,re);return e[i]&&t(e[i],i)?-1:i}function pe(e,t,n,i,o,r){return u({isOpen:!1,highlightedIndex:-1},e.length&&o>=0&&u({selectedItem:e[o],isOpen:Z(n,ue),highlightedIndex:Z(i,re)},r&&{inputValue:t(e[o])}))}function fe(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 ge(e){var t=ee(e.selectedItem,e.initialSelectedItem,e.defaultSelectedItem,le),n=ee(e.isOpen,e.initialIsOpen,e.defaultIsOpen,ue),i=function(e){var t=ee(e.highlightedIndex,e.initialHighlightedIndex,e.defaultHighlightedIndex,re);if(t>-1&&e.items[t]&&e.isItemDisabled(e.items[t],t))return-1;return t}(e),o=ee(e.inputValue,e.initialInputValue,e.defaultInputValue,se);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 he(e,t,n){var i=o.useRef({isMouseDown:!1,isTouchMove:!1,isTouchEnd:!1}),r=o.useCallback(function(){return n.map(function(e){return e.current})},[n]);return o.useEffect(function(){if(!e)return k;function n(){i.current.isTouchEnd=!1,i.current.isMouseDown=!0}function o(n){i.current.isMouseDown=!1,R(n.target,r(),e)||t()}function u(){i.current.isTouchEnd=!1,i.current.isTouchMove=!1}function l(){i.current.isTouchMove=!0}function s(n){i.current.isTouchEnd=!0,i.current.isTouchMove||R(n.target,r(),e,!1)||t()}return e.addEventListener("mousedown",n),e.addEventListener("mouseup",o),e.addEventListener("touchstart",u),e.addEventListener("touchmove",l),e.addEventListener("touchend",s),function(){e.removeEventListener("mousedown",n),e.removeEventListener("mouseup",o),e.removeEventListener("touchstart",u),e.removeEventListener("touchmove",l),e.removeEventListener("touchend",s)}},[e,r,t]),i}var me=function(){return k};function Ie(e,t,n,i,r,u){var l=o.useRef(!0);return h(function(){if(!(t<0)&&n&&Object.keys(r.current).length)if(l.current){var o=r.current[u(t)];o&&i.current&&e(o,i.current)}else l.current=!0},[t]),o.useCallback(function(){l.current=!1},[])}function ve(e,t){return e.isOpen===t.isOpen&&e.inputValue===t.inputValue&&e.highlightedIndex===t.highlightedIndex&&e.selectedItem===t.selectedItem}function ye(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:fe(t.items,t.initialHighlightedIndex,t.defaultHighlightedIndex,t.isItemDisabled,t.itemToKey,e.selectedItem,e.highlightedIndex,0)};break;case i.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:fe(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 r=n.highlightedIndex;o={highlightedIndex:t.isItemDisabled(t.items[r],r)?-1:r};break;case i.FunctionSetInputValue:o={inputValue:n.inputValue};break;case i.FunctionReset:o={highlightedIndex:ce(t.items,t.isItemDisabled,t.defaultHighlightedIndex),isOpen:Z(t.defaultIsOpen,ue),selectedItem:Z(t.defaultSelectedItem,le),inputValue:Z(t.defaultInputValue,se)};break;default:throw new Error("Reducer called without proper action type.")}return u({},e,o)}var be=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 xe(e,t){var n,i=t.type,o=t.props;switch(i){case 14:n={isOpen:Z(o.defaultIsOpen,ue),highlightedIndex:ce(o.items,o.isItemDisabled,o.defaultHighlightedIndex),selectedItem:o.items[t.index]};break;case 3:var r=t.key,l=""+e.inputValue+r;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?P(e.highlightedIndex,1,o.items,o.isItemDisabled):s&&null==e.selectedItem?-1:fe(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=pe(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!1);else n={highlightedIndex:e.isOpen?P(e.highlightedIndex,-1,o.items,o.isItemDisabled):fe(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,-1),isOpen:!0};break;case 7:case 8:n=pe(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!1);break;case 5:n={highlightedIndex:H(0,!1,o.items,o.isItemDisabled),isOpen:!0};break;case 6:n={highlightedIndex:H(o.items.length-1,!0,o.items,o.isItemDisabled),isOpen:!0};break;case 9:n={highlightedIndex:P(e.highlightedIndex,-10,o.items,o.isItemDisabled)};break;case 10:n={highlightedIndex:P(e.highlightedIndex,10,o.items,o.isItemDisabled)};break;case 4:n={isOpen:!1,highlightedIndex:-1};break;case 11:n=u({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 ye(e,o,t,be)}return u({},e,n)}var we=["onClick"],ke=["onMouseLeave","refKey","ref","aria-label"],De=["onBlur","onClick","onPress","onKeyDown","refKey","ref"],Ce=["item","index","onMouseMove","onClick","onMouseDown","onPress","refKey","disabled","ref"];function Se(e){void 0===e&&(e={});var n=u({},oe,e),i=n.items,o=n.isItemDisabled,l=n.scrollIntoView,s=n.environment,a=n.getA11yStatusMessage,d=X(xe,n,ge,ve),c=d[0],p=d[1],f=c.isOpen,g=c.highlightedIndex,h=c.selectedItem,b=c.inputValue,x=t.useRef(null),w=t.useRef(null),k=t.useRef({}),D=t.useRef(null),C=de(n),S=m(c);ne(a,c,[f,g,h,b],s);var O=Ie(l,g,f,w,k,C.getItemId);t.useEffect(function(){return D.current=y(function(e){e({type:20,inputValue:""})},500),function(){var e;null==(e=D.current)||e.cancel()}},[]),t.useEffect(function(){b&&(null==D.current||D.current(p))},[p,b]),t.useEffect(function(){ee(n.isOpen,n.initialIsOpen,n.defaultIsOpen,ue)&&x.current&&x.current.focus()},[]);var M=he(s,t.useCallback(function(){S.current.isOpen&&p({type:11})},[p,S]),t.useMemo(function(){return[w,x]},[])),K=me();t.useEffect(function(){f||(k.current={})},[f]);var T=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(){S.current.isOpen&&p({type:4})},Enter:function(e){e.preventDefault(),p({type:S.current.isOpen?7:0})},PageUp:function(e){S.current.isOpen&&(e.preventDefault(),p({type:9}))},PageDown:function(e){S.current.isOpen&&(e.preventDefault(),p({type:10}))}," ":function(e){e.preventDefault();var t=S.current;t.isOpen?t.inputValue?p({type:3,key:" "}):p({type:8}):p({type:0})}}},[p,S]),H=t.useCallback(function(e){var t=null!=e?e:{},n=t.onClick,i=r(t,we);return u({id:C.labelId,htmlFor:C.toggleButtonId,onClick:v(n,function(){var e;null==(e=x.current)||e.focus()})},i)},[C]),P=t.useCallback(function(e,t){var n,i=null!=e?e:{},o=i.onMouseLeave,l=i.refKey,s=void 0===l?"ref":l,a=i.ref,d=i["aria-label"],c=r(i,ke);return(null!=t?t:{}).suppressRefError,u(((n={})[s]=I(a,function(e){w.current=e}),n.id=C.menuId,n.role="listbox",n["aria-label"]=d,n["aria-labelledby"]=d?void 0:""+C.labelId,n.onMouseLeave=v(o,function(){p({type:12})}),n),c)},[p,K,C]),R=t.useCallback(function(e,t){var n,i=null!=e?e:{},o=i.onBlur,l=i.onClick;i.onPress;var s=i.onKeyDown,a=i.refKey,d=void 0===a?"ref":a,c=i.ref,h=r(i,De);(null!=t?t:{}).suppressRefError;var m=u(((n={})[d]=I(c,function(e){x.current=e}),n["aria-activedescendant"]=f&&g>-1?C.getItemId(g):"",n["aria-controls"]=C.menuId,n["aria-expanded"]=f,n["aria-haspopup"]="listbox",n["aria-labelledby"]=h["aria-label"]?void 0:""+C.labelId,n.id=C.toggleButtonId,n.role="combobox",n.tabIndex=0,n.onBlur=v(o,function(){S.current.isOpen&&!M.current.isMouseDown&&p({type:11})}),n),h);return h.disabled||Object.assign(m,{onClick:v(l,function(){p({type:0})}),onKeyDown:v(s,function(e){var t=E(e);t&&t in T?T[t](e):/^\S{1}$/.test(t)&&p({type:3,key:t})})}),m},[p,C,f,g,M,K,T,S]),V=t.useCallback(function(e){var t,n=null!=e?e:{},l=n.item,s=n.index,a=n.onMouseMove,d=n.onClick,c=n.onMouseDown;n.onPress;var f=n.refKey,g=void 0===f?"ref":f,m=n.disabled,y=n.ref,b=r(n,Ce);void 0!==m&&console.warn('Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useSelect.');var x=Y(l,s,i,"Pass either item or index to getItemProps!"),w=x[0],D=x[1],K=o(w,D),T=u(((t={})[g]=I(y,function(e){e&&(k.current[C.getItemId(D)]=e)}),t["aria-disabled"]=K,t["aria-selected"]=w===h,t.id=C.getItemId(D),t.role="option",t.onMouseMove=v(a,function(){M.current.isTouchEnd||D===S.current.highlightedIndex||(O(),p({type:13,index:D,disabled:K}))}),t.onMouseDown=v(c,function(e){return e.preventDefault()}),t),b);return K||Object.assign(T,{onClick:v(d,function(){p({type:14,index:D})})}),T},[i,o,h,C,M,O,p,S]),A=t.useCallback(function(){p({type:15})},[p]),B=t.useCallback(function(){p({type:17})},[p]);return{getToggleButtonProps:R,getLabelProps:H,getMenuProps:P,getItemProps:V,toggleMenu:A,openMenu:t.useCallback(function(){p({type:16})},[p]),closeMenu:B,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:b}}function Oe(e){var t=ge(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)),u({},t,{inputValue:i})}Se.stateChangeTypes=be;var Me=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 Ke(e,t){var n,i=t.type,o=t.props;switch(i){case 13:n={isOpen:Z(o.defaultIsOpen,ue),highlightedIndex:ce(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:P(e.highlightedIndex,1,o.items,o.isItemDisabled,!0)}:{highlightedIndex:t.altKey&&null==e.selectedItem?-1:fe(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?pe(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!0):{highlightedIndex:P(e.highlightedIndex,-1,o.items,o.isItemDisabled,!0)}:{highlightedIndex:fe(o.items,o.initialHighlightedIndex,o.defaultHighlightedIndex,o.isItemDisabled,o.itemToKey,e.selectedItem,e.highlightedIndex,-1),isOpen:o.items.length>=0};break;case 7:n=pe(o.items,o.itemToString,o.defaultIsOpen,o.defaultHighlightedIndex,e.highlightedIndex,!0);break;case 2:n=u({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case 5:n={highlightedIndex:P(e.highlightedIndex,-10,o.items,o.isItemDisabled,!0)};break;case 6:n={highlightedIndex:P(e.highlightedIndex,10,o.items,o.isItemDisabled,!0)};break;case 3:n={highlightedIndex:H(0,!1,o.items,o.isItemDisabled)};break;case 4:n={highlightedIndex:H(o.items.length-1,!0,o.items,o.isItemDisabled)};break;case 9:n=u({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:ce(o.items,o.isItemDisabled,o.defaultHighlightedIndex),inputValue:t.inputValue};break;case 10:n={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:fe(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 ye(e,o,t,Me)}return u({},e,n)}var Te=["onMouseLeave","refKey","ref","aria-label"],Ee=["item","index","refKey","ref","onMouseMove","onMouseDown","onClick","onPress","disabled"],He=["onClick","onPress","refKey","ref"],Pe=["aria-label","onKeyDown","onChange","onInput","onBlur","onChangeText","onClick","refKey","ref"];function Re(e){void 0===e&&(e={});var n=u({},oe,e),i=n.items,o=n.isItemDisabled,l=n.scrollIntoView,s=n.environment,a=n.getA11yStatusMessage,d=function(e,n,i,o){var r=t.useRef(null),u=z(e,n,i,o),l=u[0],s=u[1],a=J();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]),[D(l,n),s]}(Ke,n,Oe,ve),c=d[0],p=d[1],f=c.isOpen,g=c.highlightedIndex,h=c.selectedItem,y=c.inputValue,b=t.useRef(null),x=t.useRef({}),w=t.useRef(null),k=t.useRef(null),C=J(),S=de(n),O=t.useRef(),M=m(c);ne(a,c,[f,g,h,y],s);var K=Ie(l,g,f,b,x,S.getItemId);t.useEffect(function(){ee(n.isOpen,n.initialIsOpen,n.defaultIsOpen,ue)&&w.current&&w.current.focus()},[]),t.useEffect(function(){C||(O.current=i.length)});var T=t.useCallback(function(){M.current.isOpen&&p({type:9})},[p,M]),H=t.useMemo(function(){return[b,k,w]},[]),P=he(s,T,H),R=me();t.useEffect(function(){f||(x.current={})},[f]),t.useEffect(function(){var e;f&&null!=s&&s.document&&null!=(e=w.current)&&e.focus&&s.document.activeElement!==w.current&&w.current.focus()},[f,s]);var V=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){M.current.isOpen&&(e.preventDefault(),p({type:3}))},End:function(e){M.current.isOpen&&(e.preventDefault(),p({type:4}))},Escape:function(e){var t=M.current;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),p({type:2}))},Enter:function(e){M.current.isOpen&&229!==e.which&&(e.preventDefault(),p({type:7}))},PageUp:function(e){M.current.isOpen&&(e.preventDefault(),p({type:5}))},PageDown:function(e){M.current.isOpen&&(e.preventDefault(),p({type:6}))}}},[p,M]),A=t.useCallback(function(e){return u({id:S.labelId,htmlFor:S.inputId},e)},[S]),B=t.useCallback(function(e,t){var n,i=null!=e?e:{},o=i.onMouseLeave,l=i.refKey,s=void 0===l?"ref":l,a=i.ref,d=i["aria-label"],c=r(i,Te);return(null!=t?t:{}).suppressRefError,u(((n={})[s]=I(a,function(e){b.current=e}),n.id=S.menuId,n.role="listbox",n["aria-label"]=d,n["aria-labelledby"]=d?void 0:""+S.labelId,n.onMouseLeave=v(o,function(){p({type:11})}),n),c)},[p,R,S]),L=t.useCallback(function(e){var t,n,l=null!=e?e:{},s=l.item,a=l.index,d=l.refKey,c=void 0===d?"ref":d,f=l.ref,h=l.onMouseMove,m=l.onMouseDown,y=l.onClick;l.onPress;var b=l.disabled,w=r(l,Ee);void 0!==b&&console.warn('Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useCombobox.');var k=Y(s,a,i,"Pass either item or index to getItemProps!"),D=k[0],C=k[1],O=o(D,C),T=y;return u(((t={})[c]=I(f,function(e){e&&(x.current[S.getItemId(C)]=e)}),t["aria-disabled"]=O,t["aria-selected"]=C===g,t.id=S.getItemId(C),t.role="option",t),!O&&((n={}).onClick=v(T,function(){p({type:13,index:C})}),n),{onMouseMove:v(h,function(){P.current.isTouchEnd||C===M.current.highlightedIndex||(K(),p({type:12,index:C,disabled:O}))}),onMouseDown:v(m,function(e){return e.preventDefault()})},w)},[p,S,i,o,g,P,K,M]),F=t.useCallback(function(e){var t,n=null!=e?e:{},i=n.onClick;n.onPress;var o=n.refKey,l=void 0===o?"ref":o,s=n.ref,a=r(n,He);return u(((t={})[l]=I(s,function(e){k.current=e}),t["aria-controls"]=S.menuId,t["aria-expanded"]=f,t.id=S.toggleButtonId,t.tabIndex=-1,t),!a.disabled&&u({},{onClick:v(i,function(){p({type:14})})}),a)},[p,f,S]),_=t.useCallback(function(e,t){var n,i=null!=e?e:{},o=i["aria-label"],l=i.onKeyDown,a=i.onChange,d=i.onInput,c=i.onBlur;i.onChangeText;var h=i.onClick,m=i.refKey,b=void 0===m?"ref":m,x=i.ref,k=r(i,Pe);(null!=t?t:{}).suppressRefError;var D,C={};k.disabled||((D={}).onInput=v(a,d,function(e){p({type:8,inputValue:e.target.value})}),D.onKeyDown=v(l,function(e){var t=E(e);t&&t in V&&V[t](e)}),D.onBlur=v(c,function(e){if(null!=s&&s.document&&M.current.isOpen&&!P.current.isMouseDown){var t=null===e.relatedTarget&&s.document.activeElement!==s.document.body;p({type:9,selectItem:!t})}}),D.onClick=v(h,function(){p({type:10})}),C=D);return u(((n={})[b]=I(x,function(e){w.current=e}),n["aria-activedescendant"]=f&&g>-1?S.getItemId(g):"",n["aria-autocomplete"]="list",n["aria-controls"]=S.menuId,n["aria-expanded"]=f,n["aria-labelledby"]=o?void 0:S.labelId,n["aria-label"]=o,n.autoComplete="off",n.id=S.inputId,n.role="combobox",n.value=y,n),C,k)},[p,S,s,V,f,g,y,P,R,M]),j=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:L,getLabelProps:A,getMenuProps:B,getInputProps:_,getToggleButtonProps:F,toggleMenu:j,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:y}}Re.stateChangeTypes=Me;var Ve=-1,Ae=[];function Be(e){return{activeIndex:ee(e.activeIndex,e.initialActiveIndex,e.defaultActiveIndex,Ve),selectedItems:ee(e.selectedItems,e.initialSelectedItems,e.defaultSelectedItems,Ae)}}function Le(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 Fe(e,t){return e.selectedItems===t.selectedItems&&e.activeIndex===t.activeIndex}ie.stateReducer,ie.itemToKey,ie.environment,n.array,n.array,n.array,n.func,n.number,n.number,n.number,n.func,n.func,n.string,n.string;var _e={itemToKey:oe.itemToKey,stateReducer:oe.stateReducer,environment:oe.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 Ne(e,t){var n,i=t.type,o=t.index,r=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 d=s;1===a.length?d=-1:s===a.length-1&&(d=a.length-2),n=u({selectedItems:[].concat(a.slice(0,s),a.slice(s+1))},{activeIndex:d});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,[r])};break;case 7:n={activeIndex:-1};break;case 9:var c=s,p=a.findIndex(function(e){return l.itemToKey(e)===l.itemToKey(r)});if(p<0)break;1===a.length?c=-1:p===a.length-1&&(c=a.length-2),n={selectedItems:[].concat(a.slice(0,p),a.slice(p+1)),activeIndex:c};break;case 10:n={selectedItems:t.selectedItems};break;case 11:n={activeIndex:t.activeIndex};break;case 12:n={activeIndex:Z(l.defaultActiveIndex,Ve),selectedItems:Z(l.defaultSelectedItems,Ae)};break;default:throw new Error("Reducer called without proper action type.")}return u({},e,n)}var Ue=["refKey","ref","onClick","onKeyDown","selectedItem","index"],We=["refKey","ref","onKeyDown","onClick","preventKeyAction"];function $e(e){void 0===e&&(e={});var n=u({},_e,e),i=n.getA11yStatusMessage,o=n.environment,l=n.keyNavigationNext,s=n.keyNavigationPrevious,a=X(Ne,n,Be,Fe),d=a[0],c=a[1],p=d.activeIndex,f=d.selectedItems,g=J(),h=t.useRef(null),m=t.useRef(null);null===m.current&&(m.current=new Map),ne(i,d,[p,f],o),t.useEffect(function(){var e;g||(-1===p&&h.current?h.current.focus():null==(e=m.current.get(p))||e.focus())},[p]);var y=me(),b=t.useMemo(function(){var e;return(e={})[s]=function(){c({type:4})},e[l]=function(){c({type:3})},e.Delete=function(){c({type:1})},e.Backspace=function(){c({type:2})},e},[c,l,s]),x=t.useMemo(function(){var e;return(e={})[s]=function(e){Le(e)&&c({type:5})},e.Backspace=function(e){Le(e)&&c({type:6})},e},[c,s]);return{getSelectedItemProps:t.useCallback(function(e){var t,n=void 0===e?{}:e,i=n.refKey,o=void 0===i?"ref":i,l=n.ref,s=n.onClick,a=n.onKeyDown,d=n.selectedItem,g=n.index,h=r(n,Ue),y=Y(d,g,f,"Pass either item or index to getSelectedItemProps!")[1];return u(((t={})[o]=I(l,function(e){e?m.current.set(y,e):m.current.delete(y)}),t.tabIndex=y>-1&&y===p?0:-1,t.onClick=v(s,function(){c({type:0,index:y})}),t.onKeyDown=v(a,function(e){var t=E(e);t&&b[t]&&b[t](e)}),t),h)},[c,f,p,b]),getDropdownProps:t.useCallback(function(e,t){var n,i=void 0===e?{}:e,o=i.refKey,l=void 0===o?"ref":o,s=i.ref,a=i.onKeyDown,d=i.onClick,p=i.preventKeyAction,f=void 0!==p&&p,g=r(i,We);return(void 0===t?{}:t).suppressRefError,u(((n={})[l]=I(s,function(e){e&&(h.current=e)}),n),!f&&{onKeyDown:v(a,function(e){var t=E(e);t&&x[t]&&x[t](e)}),onClick:v(d,function(){c({type:7})})},g)},[c,x,y]),addSelectedItem:t.useCallback(function(e){c({type:8,selectedItem:e})},[c]),removeSelectedItem:t.useCallback(function(e){c({type:9,selectedItem:e})},[c]),setSelectedItems:t.useCallback(function(e){c({type:10,selectedItems:e})},[c]),setActiveIndex:t.useCallback(function(e){c({type:11,activeIndex:e})},[c]),reset:t.useCallback(function(){c({type:12})},[c]),selectedItems:f,activeIndex:p}}$e.stateChangeTypes=je;var Ge=Object.freeze({__proto__:null,FunctionAddItem:6,TagClick:0,TagGroupKeyDownArrowLeft:1,TagGroupKeyDownArrowRight:2,TagGroupKeyDownBackspace:4,TagGroup