UNPKG

36.6 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).Downshift={},e.React)}(this,function(e,t){"use strict";var n="default"in t?t.default:t;function o(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function u(e,t){return e(t={exports:{}},t.exports),t.exports}var a=u(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,o=n?Symbol.for("react.element"):60103,r=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,s=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,a=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,h=n?Symbol.for("react.suspense"):60113,f=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118;function I(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case c:case d:case i:case u:case s:case h:return e;default:switch(e=e&&e.$$typeof){case l:case p:case a:return e;default:return t}}case m:case g:case r:return t}}}function S(e){return I(e)===d}t.typeOf=I,t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=l,t.ContextProvider=a,t.Element=o,t.ForwardRef=p,t.Fragment=i,t.Lazy=m,t.Memo=g,t.Portal=r,t.Profiler=u,t.StrictMode=s,t.Suspense=h,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===u||e===s||e===h||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===g||e.$$typeof===a||e.$$typeof===l||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v)},t.isAsyncMode=function(e){return S(e)||I(e)===c},t.isConcurrentMode=S,t.isContextConsumer=function(e){return I(e)===l},t.isContextProvider=function(e){return I(e)===a},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return I(e)===p},t.isFragment=function(e){return I(e)===i},t.isLazy=function(e){return I(e)===m},t.isMemo=function(e){return I(e)===g},t.isPortal=function(e){return I(e)===r},t.isProfiler=function(e){return I(e)===u},t.isStrictMode=function(e){return I(e)===s},t.isSuspense=function(e){return I(e)===h}});s(a);a.typeOf,a.AsyncMode,a.ConcurrentMode,a.ContextConsumer,a.ContextProvider,a.Element,a.ForwardRef,a.Fragment,a.Lazy,a.Memo,a.Portal,a.Profiler,a.StrictMode,a.Suspense,a.isValidElementType,a.isAsyncMode,a.isConcurrentMode,a.isContextConsumer,a.isContextProvider,a.isElement,a.isForwardRef,a.isFragment,a.isLazy,a.isMemo,a.isPortal,a.isProfiler,a.isStrictMode,a.isSuspense;var l=u(function(){});s(l);l.typeOf,l.AsyncMode,l.ConcurrentMode,l.ContextConsumer,l.ContextProvider,l.Element,l.ForwardRef,l.Fragment,l.Lazy,l.Memo,l.Portal,l.Profiler,l.StrictMode,l.Suspense,l.isValidElementType,l.isAsyncMode,l.isConcurrentMode,l.isContextConsumer,l.isContextProvider,l.isElement,l.isForwardRef,l.isFragment,l.isLazy,l.isMemo,l.isPortal,l.isProfiler,l.isStrictMode,l.isSuspense,u(function(e){e.exports=a}).isForwardRef;var c=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;function h(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}})()&&Object.assign;var f="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";Function.call.bind(Object.prototype.hasOwnProperty);function g(){}function m(){}m.resetWarningCache=g;var y=u(function(e){e.exports=function(){function e(e,t,n,o,r,i){if(i!==f){var s=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 s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:m,resetWarningCache:g};return n.PropTypes=n,n}()});function v(e){return null!=e&&"object"==typeof e&&1===e.nodeType}function I(e,t){return(!t||"hidden"!==e)&&("visible"!==e&&"clip"!==e)}function S(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return I(n.overflowY,t)||I(n.overflowX,t)}return!1}function b(e,t,n,o,r,i,s,u){return i<e&&s>t||i>e&&s<t?0:i<=e&&u<=n||s>=t&&u>=n?i-e-o:s>t&&u<n||i<e&&u>n?s-t+r:0}var w=function(e,t){var n=t.scrollMode,o=t.block,r=t.inline,i=t.boundary,s=t.skipOverflowHiddenElements,u="function"==typeof i?i:function(e){return e!==i};if(!v(e))throw new TypeError("Invalid target");for(var a=document.scrollingElement||document.documentElement,l=[],c=e;v(c)&&u(c);){if((c=c.parentNode)===a){l.push(c);break}c===document.body&&S(c)&&!S(document.documentElement)||S(c,s)&&l.push(c)}for(var d=window.visualViewport?visualViewport.width:innerWidth,p=window.visualViewport?visualViewport.height:innerHeight,h=window.scrollX||pageXOffset,f=window.scrollY||pageYOffset,g=e.getBoundingClientRect(),m=g.height,y=g.width,I=g.top,w=g.right,x=g.bottom,C=g.left,O="start"===o||"nearest"===o?I:"end"===o?x:I+m/2,M="center"===r?C+y/2:"end"===r?w:C,P=[],E=0;E<l.length;E++){var k=l[E],D=k.getBoundingClientRect(),H=D.height,A=D.width,T=D.top,R=D.right,K=D.bottom,F=D.left;if("if-needed"===n&&I>=0&&C>=0&&x<=p&&w<=d&&I>=T&&x<=K&&C>=F&&w<=R)return P;var B=getComputedStyle(k),L=parseInt(B.borderLeftWidth,10),V=parseInt(B.borderTopWidth,10),j=parseInt(B.borderRightWidth,10),_=parseInt(B.borderBottomWidth,10),U=0,N=0,$="offsetWidth"in k?k.offsetWidth-k.clientWidth-L-j:0,W="offsetHeight"in k?k.offsetHeight-k.clientHeight-V-_:0;if(a===k)U="start"===o?O:"end"===o?O-p:"nearest"===o?b(f,f+p,p,V,_,f+O,f+O+m,m):O-p/2,N="start"===r?M:"center"===r?M-d/2:"end"===r?M-d:b(h,h+d,d,L,j,h+M,h+M+y,y),U=Math.max(0,U+f),N=Math.max(0,N+h);else{U="start"===o?O-T-V:"end"===o?O-K+_+W:"nearest"===o?b(T,K,H,V,_+W,O,O+m,m):O-(T+H/2)+W/2,N="start"===r?M-F-L:"center"===r?M-(F+A/2)+$/2:"end"===r?M-R+j+$:b(F,R,A,L,j+$,M,M+y,y);var z=k.scrollLeft,q=k.scrollTop;O+=q-(U=Math.max(0,Math.min(q+U,k.scrollHeight-H+W))),M+=z-(N=Math.max(0,Math.min(z+N,k.scrollWidth-A+$)))}P.push({el:k,top:U,left:N})}return P},x=0;function C(e){return"function"==typeof e?e:O}function O(){}function M(e,t){null!==e&&w(e,{boundary:t,block:"nearest",scrollMode:"if-needed"}).forEach(function(e){var t=e.el,n=e.top,o=e.left;t.scrollTop=n,t.scrollLeft=o})}function P(e,t){return e===t||e.contains&&e.contains(t)}function E(e,t){var n;function o(){n&&clearTimeout(n)}function r(){for(var r=arguments.length,i=new Array(r),s=0;s<r;s++)i[s]=arguments[s];o(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return r.cancel=o,r}function k(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return t.some(function(t){return t&&t.apply(void 0,[e].concat(o)),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault})}}function D(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t.forEach(function(e){e&&e.apply(void 0,n)})}}function H(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}var A,T=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function R(e){void 0===e&&(e={});var t={};return T.forEach(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t}function K(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function F(e,t,n){var o=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:o+1);var r=t+e;return r<0?r=o:r>o&&(r=0),r}var B=E(function(){V().textContent=""},500);function L(e,t){var n=V(t);e&&(n.textContent=e,B())}function V(e){return void 0===e&&(e=document),A||((A=e.createElement("div")).setAttribute("id","a11y-status-message"),A.setAttribute("role","status"),A.setAttribute("aria-live","polite"),A.setAttribute("aria-relevant","additions text"),Object.assign(A.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),e.body.appendChild(A),A)}var j=0,_=2,U=3,N=4,$=5,W=6,z=7,q=8,Y=9,G=10,Q=11,X=12,Z=13,J=14,ee=Object.freeze({unknown:j,mouseUp:1,itemMouseEnter:_,keyDownArrowUp:U,keyDownArrowDown:N,keyDownEscape:$,keyDownEnter:W,keyDownHome:z,keyDownEnd:q,clickItem:Y,blurInput:G,changeInput:Q,keyDownSpaceButton:X,clickButton:Z,blurButton:J,controlledPropUpdatedSelectedItem:15,touchEnd:16}),te=function(e){var t,s;function u(t){var n=e.call(this,t)||this;n.id=n.props.id||"downshift-"+String(x++),n.menuId=n.props.menuId||n.id+"-menu",n.labelId=n.props.labelId||n.id+"-label",n.inputId=n.props.inputId||n.id+"-input",n.getItemId=n.props.getItemId||function(e){return n.id+"-item-"+e},n.input=null,n.items=[],n.itemCount=null,n.previousResultCount=0,n.timeoutIds=[],n.internalSetTimeout=function(e,t){var o=setTimeout(function(){n.timeoutIds=n.timeoutIds.filter(function(e){return e!==o}),e()},t);n.timeoutIds.push(o)},n.setItemCount=function(e){n.itemCount=e},n.unsetItemCount=function(){n.itemCount=null},n.setHighlightedIndex=function(e,t){void 0===e&&(e=n.props.defaultHighlightedIndex),void 0===t&&(t={}),t=R(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,o){t=R(t),n.internalSetState(r({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,selectedItem:e,inputValue:n.props.itemToString(e)},t),o)},n.selectItemAtIndex=function(e,t,o){var r=n.items[e];null!=r&&n.selectItem(r,t,o)},n.selectHighlightedItem=function(e,t){return n.selectItemAtIndex(n.getState().highlightedIndex,e,t)},n.internalSetState=function(e,t){var o,i,s={},u="function"==typeof e;return!u&&e.hasOwnProperty("inputValue")&&n.props.onInputValueChange(e.inputValue,r({},n.getStateAndHelpers(),{},e)),n.setState(function(t){t=n.getState(t);var a=u?e(t):e;a=n.props.stateReducer(t,a),o=a.hasOwnProperty("selectedItem");var l={},c={};return o&&a.selectedItem!==t.selectedItem&&(i=a.selectedItem),a.type=a.type||j,Object.keys(a).forEach(function(e){t[e]!==a[e]&&(s[e]=a[e]),"type"!==e&&(c[e]=a[e],n.isControlledProp(e)||(l[e]=a[e]))}),u&&a.hasOwnProperty("inputValue")&&n.props.onInputValueChange(a.inputValue,r({},n.getStateAndHelpers(),{},a)),l},function(){C(t)(),Object.keys(s).length>1&&n.props.onStateChange(s,n.getStateAndHelpers()),o&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==i&&n.props.onChange(i,n.getStateAndHelpers()),n.props.onUserAction(s,n.getStateAndHelpers())})},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var i,s=void 0===e?{}:e,u=s.refKey,a=void 0===u?"ref":u,l=s.ref,c=o(s,["refKey","ref"]),d=(void 0===t?{}:t).suppressRefError,p=void 0!==d&&d;n.getRootProps.called=!0,n.getRootProps.refKey=a,n.getRootProps.suppressRefError=p;var h=n.getState().isOpen;return r(((i={})[a]=D(l,n.rootRef),i.role="combobox",i["aria-expanded"]=h,i["aria-haspopup"]="listbox",i["aria-owns"]=h?n.menuId:null,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:N})}else this.internalSetState({isOpen:!0,type:N},function(){var e=t.getItemCount();e>0&&t.setHighlightedIndex(F(1,t.getState().highlightedIndex,e),{type:N})})},ArrowUp:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?-5:-1;this.moveHighlightedIndex(n,{type:U})}else this.internalSetState({isOpen:!0,type:U},function(){var e=t.getItemCount();e>0&&t.setHighlightedIndex(F(-1,t.getState().highlightedIndex,e),{type:N})})},Enter:function(e){var t=this.getState(),n=t.isOpen,o=t.highlightedIndex;if(n&&null!=o){e.preventDefault();var r=this.items[o],i=this.getItemNodeFromIndex(o);if(null==r||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:W})}},Escape:function(e){e.preventDefault(),this.reset({type:$,selectedItem:null,inputValue:""})}},n.buttonKeyDownHandlers=r({},n.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:X})}}),n.inputKeyDownHandlers=r({},n.keyDownHandlers,{Home:function(e){this.highlightFirstOrLastIndex(e,!0,{type:z})},End:function(e){this.highlightFirstOrLastIndex(e,!1,{type:q})}}),n.getToggleButtonProps=function(e){var t=void 0===e?{}:e,i=t.onClick,s=(t.onPress,t.onKeyDown),u=t.onKeyUp,a=t.onBlur,l=o(t,["onClick","onPress","onKeyDown","onKeyUp","onBlur"]),c=n.getState().isOpen,d={onClick:k(i,n.buttonHandleClick),onKeyDown:k(s,n.buttonHandleKeyDown),onKeyUp:k(u,n.buttonHandleKeyUp),onBlur:k(a,n.buttonHandleBlur)};return r({type:"button",role:"button","aria-label":c?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},l.disabled?{}:d,{},l)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=K(e);n.buttonKeyDownHandlers[t]&&n.buttonKeyDownHandlers[t].call(i(n),e)},n.buttonHandleClick=function(e){e.preventDefault(),n.props.environment.document.activeElement===n.props.environment.document.body&&e.target.focus(),n.internalSetTimeout(function(){return n.toggleMenu({type:Z})})},n.buttonHandleBlur=function(e){var t=e.target;n.internalSetTimeout(function(){n.isMouseDown||null!=n.props.environment.document.activeElement&&n.props.environment.document.activeElement.id===n.inputId||n.props.environment.document.activeElement===t||n.reset({type:J})})},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,s=t.onBlur,u=t.onChange,a=t.onInput,l=(t.onChangeText,o(t,["onKeyDown","onBlur","onChange","onInput","onChangeText"])),c={};var d,p=n.getState(),h=p.inputValue,f=p.isOpen,g=p.highlightedIndex;l.disabled||((d={}).onChange=k(u,a,n.inputHandleChange),d.onKeyDown=k(i,n.inputHandleKeyDown),d.onBlur=k(s,n.inputHandleBlur),c=d);return r({"aria-autocomplete":"list","aria-activedescendant":f&&"number"==typeof g&&g>=0?n.getItemId(g):null,"aria-controls":f?n.menuId:null,"aria-labelledby":n.labelId,autoComplete:"off",value:h,id:n.inputId},c,{},l)},n.inputHandleKeyDown=function(e){var t=K(e);t&&n.inputKeyDownHandlers[t]&&n.inputKeyDownHandlers[t].call(i(n),e)},n.inputHandleChange=function(e){n.internalSetState({type:Q,isOpen:!0,inputValue:e.target.value,highlightedIndex:n.props.defaultHighlightedIndex})},n.inputHandleBlur=function(){n.internalSetTimeout(function(){var e=n.props.environment.document&&!!n.props.environment.document.activeElement&&!!n.props.environment.document.activeElement.dataset&&n.props.environment.document.activeElement.dataset.toggle&&n._rootNode&&n._rootNode.contains(n.props.environment.document.activeElement);n.isMouseDown||e||n.reset({type:G})})},n.menuRef=function(e){n._menuNode=e},n.getMenuProps=function(e,t){var i,s=void 0===e?{}:e,u=s.refKey,a=void 0===u?"ref":u,l=s.ref,c=o(s,["refKey","ref"]),d=(void 0===t?{}:t).suppressRefError,p=void 0!==d&&d;return n.getMenuProps.called=!0,n.getMenuProps.refKey=a,n.getMenuProps.suppressRefError=p,r(((i={})[a]=D(l,n.menuRef),i.role="listbox",i["aria-labelledby"]=c&&c["aria-label"]?null:n.labelId,i.id=n.menuId,i),c)},n.getItemProps=function(e){var t,i=void 0===e?{}:e,s=i.onMouseMove,u=i.onMouseDown,a=i.onClick,l=(i.onPress,i.index),c=i.item,d=void 0===c?void 0:c,p=o(i,["onMouseMove","onMouseDown","onClick","onPress","index","item"]);void 0===l?(n.items.push(d),l=n.items.indexOf(d)):n.items[l]=d;var h=a,f=((t={onMouseMove:k(s,function(){l!==n.getState().highlightedIndex&&(n.setHighlightedIndex(l,{type:_}),n.avoidScrolling=!0,n.internalSetTimeout(function(){return n.avoidScrolling=!1},250))}),onMouseDown:k(u,function(e){e.preventDefault()})}).onClick=k(h,function(){n.selectItemAtIndex(l,{type:Y})}),t),g=p.disabled?{onMouseDown:f.onMouseDown}:f;return r({id:n.getItemId(l),role:"option","aria-selected":n.getState().highlightedIndex===l},g,{},p)},n.clearItems=function(){n.items=[]},n.reset=function(e,t){void 0===e&&(e={}),e=R(e),n.internalSetState(function(t){var o=t.selectedItem;return r({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,inputValue:n.props.itemToString(o)},e)},t)},n.toggleMenu=function(e,t){void 0===e&&(e={}),e=R(e),n.internalSetState(function(t){var o=t.isOpen;return r({isOpen:!o},o&&{highlightedIndex:n.props.defaultHighlightedIndex},{},e)},function(){var o=n.getState(),r=o.isOpen,i=o.highlightedIndex;r&&n.getItemCount()>0&&"number"==typeof i&&n.setHighlightedIndex(i,e),C(t)()})},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=E(function(){var e=n.getState(),t=n.items[e.highlightedIndex],o=n.getItemCount(),i=n.props.getA11yStatusMessage(r({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:o,highlightedItem:t},e));n.previousResultCount=o,L(i,n.props.environment.document)},200);var s=n.props,u=s.defaultHighlightedIndex,a=s.initialHighlightedIndex,l=void 0===a?u:a,c=s.defaultIsOpen,d=s.initialIsOpen,p=void 0===d?c:d,h=s.initialInputValue,f=void 0===h?"":h,g=s.initialSelectedItem,m=void 0===g?null:g,y=n.getState({highlightedIndex:l,isOpen:p,inputValue:f,selectedItem:m});return null!=y.selectedItem&&void 0===n.props.initialInputValue&&(y.inputValue=n.props.itemToString(y.selectedItem)),n.state=y,n}s=e,(t=u).prototype=Object.create(s.prototype),t.prototype.constructor=t,t.__proto__=s;var a=u.prototype;return a.internalClearTimeouts=function(){this.timeoutIds.forEach(function(e){clearTimeout(e)}),this.timeoutIds=[]},a.getState=function(e){var t=this;return void 0===e&&(e=this.state),Object.keys(e).reduce(function(n,o){return n[o]=t.isControlledProp(o)?t.props[o]:e[o],n},{})},a.isControlledProp=function(e){return void 0!==this.props[e]},a.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},a.getItemNodeFromIndex=function(e){return this.props.environment.document.getElementById(this.getItemId(e))},a.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},a.moveHighlightedIndex=function(e,t){var n=this.getItemCount();if(n>0){var o=F(e,this.getState().highlightedIndex,n);this.setHighlightedIndex(o,t)}},a.highlightFirstOrLastIndex=function(e,t,n){var o=this.getItemCount()-1;o<0||!this.getState().isOpen||(e.preventDefault(),this.setHighlightedIndex(t?0:o,n))},a.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,o=e.selectedItem,r=e.isOpen,i=this.props.itemToString,s=this.id,u=this.getRootProps,a=this.getToggleButtonProps,l=this.getLabelProps,c=this.getMenuProps,d=this.getInputProps,p=this.getItemProps,h=this.openMenu,f=this.closeMenu,g=this.toggleMenu,m=this.selectItem,y=this.selectItemAtIndex,v=this.selectHighlightedItem,I=this.setHighlightedIndex,S=this.clearSelection,b=this.clearItems;return{getRootProps:u,getToggleButtonProps:a,getLabelProps:l,getMenuProps:c,getInputProps:d,getItemProps:p,reset:this.reset,openMenu:h,closeMenu:f,toggleMenu:g,selectItem:m,selectItemAtIndex:y,selectHighlightedItem:v,setHighlightedIndex:I,clearSelection:S,clearItems:b,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:i,id:s,highlightedIndex:t,inputValue:n,isOpen:r,selectedItem:o}},a.componentDidMount=function(){var e=this,t=function(t,n){void 0===n&&(n=!0);var o=e.props.environment.document;return[e._rootNode,e._menuNode].some(function(e){return e&&(P(e,t)||n&&P(e,o.activeElement))})},n=function(){e.isMouseDown=!0},o=function(n){e.isMouseDown=!1,!t(n.target)&&e.getState().isOpen&&e.reset({type:1},function(){return e.props.onOuterClick(e.getStateAndHelpers())})},r=function(){e.isTouchMove=!1},i=function(){e.isTouchMove=!0},s=function(n){var o=t(n.target,!1);e.isTouchMove||o||!e.getState().isOpen||e.reset({type:16},function(){return e.props.onOuterClick(e.getStateAndHelpers())})},u=this.props.environment;u.addEventListener("mousedown",n),u.addEventListener("mouseup",o),u.addEventListener("touchstart",r),u.addEventListener("touchmove",i),u.addEventListener("touchend",s),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),u.removeEventListener("mousedown",n),u.removeEventListener("mouseup",o),u.removeEventListener("touchstart",r),u.removeEventListener("touchmove",i),u.removeEventListener("touchend",s)}},a.shouldScroll=function(e,t){var n=(void 0===this.props.highlightedIndex?this.getState():this.props).highlightedIndex,o=(void 0===t.highlightedIndex?e:t).highlightedIndex;return n&&this.getState().isOpen&&!e.isOpen||n!==o},a.componentDidUpdate=function(e,t){this.isControlledProp("selectedItem")&&this.props.selectedItemChanged(e.selectedItem,this.props.selectedItem)&&this.internalSetState({type:15,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(t,e)&&this.scrollHighlightedItemIntoView(),this.updateStatus()},a.componentWillUnmount=function(){this.cleanup()},a.render=function(){var e=H(this.props.children,O);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 t=H(e(this.getStateAndHelpers()));return t?this.getRootProps.called||this.props.suppressRefError?t:function(e){return"string"==typeof e.type}(t)?n.cloneElement(t,this.getRootProps(function(e){return e.props}(t))):void 0:null},u}(t.Component);te.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:function(e){var t=e.isOpen,n=e.selectedItem,o=e.resultCount,r=e.previousResultCount,i=e.itemToString;return t?o?o!==r?o+" result"+(1===o?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":"":"No results are available.":n?i(n):""},itemToString:function(e){return null==e?"":String(e)},onStateChange:O,onInputValueChange:O,onUserAction:O,onChange:O,onSelect:O,onOuterClick:O,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?{}:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:M},te.stateChangeTypes=ee;for(var ne=function(e){return null!==e&&!Array.isArray(e)&&"object"==typeof e},oe={3:"Cancel",6:"Help",8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",28:"Convert",29:"NonConvert",30:"Accept",31:"ModeChange",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",41:"Select",42:"Print",43:"Execute",44:"PrintScreen",45:"Insert",46:"Delete",48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],91:"OS",93:"ContextMenu",144:"NumLock",145:"ScrollLock",181:"VolumeMute",182:"VolumeDown",183:"VolumeUp",186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"'],224:"Meta",225:"AltGraph",246:"Attn",247:"CrSel",248:"ExSel",249:"EraseEof",250:"Play",251:"ZoomOut"},re=0;re<24;re+=1)oe[112+re]="F"+(re+1);for(var ie=0;ie<26;ie+=1){var se=ie+65;oe[se]=[String.fromCharCode(se+32),String.fromCharCode(se)]}var ue={codes:oe,getCode:function(e){return ne(e)?e.keyCode||e.which||this[e.key]:this[e]},getKey:function(e){var t=ne(e);if(t&&e.key)return e.key;var n=oe[t?e.keyCode||e.which:e];return Array.isArray(n)&&(n=t?n[e.shiftKey?1:0]:n[0]),n},Cancel:3,Help:6,Backspace:8,Tab:9,Clear:12,Enter:13,Shift:16,Control:17,Alt:18,Pause:19,CapsLock:20,Escape:27,Convert:28,NonConvert:29,Accept:30,ModeChange:31," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Select:41,Print:42,Execute:43,PrintScreen:44,Insert:45,Delete:46,0:48,")":48,1:49,"!":49,2:50,"@":50,3:51,"#":51,4:52,$:52,5:53,"%":53,6:54,"^":54,7:55,"&":55,8:56,"*":56,9:57,"(":57,a:65,A:65,b:66,B:66,c:67,C:67,d:68,D:68,e:69,E:69,f:70,F:70,g:71,G:71,h:72,H:72,i:73,I:73,j:74,J:74,k:75,K:75,l:76,L:76,m:77,M:77,n:78,N:78,o:79,O:79,p:80,P:80,q:81,Q:81,r:82,R:82,s:83,S:83,t:84,T:84,u:85,U:85,v:86,V:86,w:87,W:87,x:88,X:88,y:89,Y:89,z:90,Z:90,OS:91,ContextMenu:93,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,F16:127,F17:128,F18:129,F19:130,F20:131,F21:132,F22:133,F23:134,F24:135,NumLock:144,ScrollLock:145,VolumeMute:181,VolumeDown:182,VolumeUp:183,";":186,":":186,"=":187,"+":187,",":188,"<":188,"-":189,_:189,".":190,">":190,"/":191,"?":191,"`":192,"~":192,"[":219,"{":219,"\\":220,"|":220,"]":221,"}":221,"'":222,'"':222,Meta:224,AltGraph:225,Attn:246,CrSel:247,ExSel:248,EraseEof:249,Play:250,ZoomOut:251};ue.Spacebar=ue[" "],ue.Digit0=ue[0],ue.Digit1=ue[1],ue.Digit2=ue[2],ue.Digit3=ue[3],ue.Digit4=ue[4],ue.Digit5=ue[5],ue.Digit6=ue[6],ue.Digit7=ue[7],ue.Digit8=ue[8],ue.Digit9=ue[9],ue.Tilde=ue["~"],ue.GraveAccent=ue["`"],ue.ExclamationPoint=ue["!"],ue.AtSign=ue["@"],ue.PoundSign=ue["#"],ue.PercentSign=ue["%"],ue.Caret=ue["^"],ue.Ampersand=ue["&"],ue.PlusSign=ue["+"],ue.MinusSign=ue["-"],ue.EqualsSign=ue["="],ue.DivisionSign=ue["/"],ue.MultiplicationSign=ue["*"],ue.Comma=ue[","],ue.Decimal=ue["."],ue.Colon=ue[":"],ue.Semicolon=ue[";"],ue.Pipe=ue["|"],ue.BackSlash=ue["\\"],ue.QuestionMark=ue["?"],ue.SingleQuote=ue["'"],ue.DoubleQuote=ue['"'],ue.LeftCurlyBrace=ue["{"],ue.RightCurlyBrace=ue["}"],ue.LeftParenthesis=ue["("],ue.RightParenthesis=ue[")"],ue.LeftAngleBracket=ue["<"],ue.RightAngleBracket=ue[">"],ue.LeftSquareBracket=ue["["],ue.RightSquareBracket=ue["]"];var ae=ue,le=0,ce=function(){return++le},de=function(){var e=t.useState(null),n=e[0],o=e[1];return t.useEffect(function(){return o(ce())},[]),n};function pe(e,t,n,o){if(-1===t)return e>0?0:n-1;var r=t+e;return r<0?o?n-1:0:r>=n?o?0:n-1:r}function he(e,t,n,o){var r,i=n.map(function(e){return o(e).toLowerCase()}),s=t+1;return(r=i.slice(s).findIndex(function(t){return t.startsWith(e)}))>-1?r+s:i.slice(0,s).findIndex(function(t){return t.startsWith(e)})}function fe(e){return/^\S{1}$/.test(e)}var ge={highlightedIndex:-1,isOpen:!1,selectedItem:null};function me(e,t,n){var o=e.items,r=e.initialHighlightedIndex,i=e.defaultHighlightedIndex,s=t.selectedItem,u=t.highlightedIndex;return void 0!==r&&u>-1?r:void 0!==i?i:s?0===n?o.indexOf(s):pe(n,o.indexOf(s),o.length,!1):0===n?-1:n<0?o.length-1:0}function ye(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function ve(e,t){var n="default"+ye(t);return void 0!==e[n]?e[n]:ge[t]}function Ie(e,t){if(void 0!==e[t])return e[t];var n="initial"+ye(t);return void 0!==e[n]?e[n]:ve(e,t)}function Se(e,t,n){["isOpen","highlightedIndex","selectedItem"].forEach(function(o){!function(e,t,n,o){var r="on"+ye(e)+"Change";t[r]&&void 0!==o[e]&&o[e]!==n[e]&&t[r](o)}(o,e,t,n)}),e.onStateChange&&void 0!==n&&e.onStateChange(n)}var be={items:y.array.isRequired,itemToString:y.func,getA11yStatusMessage:y.func,getA11ySelectionMessage:y.func,circularNavigation:y.bool,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,stateReducer:y.func,onSelectedItemChange:y.func,onHighlightedIndexChange:y.func,onStateChange:y.func,onIsOpenChange:y.func,environment:y.shape({addEventListener:y.func,removeEventListener:y.func,document:y.shape({getElementById:y.func,activeElement:y.any,body:y.any})})},we=0,xe=1,Ce=2,Oe=3,Me=4,Pe=5,Ee=6,ke=7,De=8,He=9,Ae=10,Te=11,Re=12,Ke=13,Fe=14,Be=15,Le=16,Ve=17,je=18,_e=19,Ue=20,Ne=Object.freeze({MenuKeyDownArrowDown:we,MenuKeyDownArrowUp:xe,MenuKeyDownEscape:Ce,MenuKeyDownHome:Oe,MenuKeyDownEnd:Me,MenuKeyDownEnter:Pe,MenuKeyDownCharacter:Ee,MenuBlur:ke,ItemMouseMove:De,ItemClick:He,ToggleButtonKeyDownCharacter:Ae,ToggleButtonKeyDownArrowDown:Te,ToggleButtonKeyDownArrowUp:Re,ToggleButtonClick:Ke,FunctionToggleMenu:Fe,FunctionOpenMenu:Be,FunctionCloseMenu:Le,FunctionSetHighlightedIndex:Ve,FunctionSelectItem:je,FunctionClearKeysSoFar:_e,FunctionReset:Ue});var $e,We=function(e,t){return function(n){void 0===n&&(n={}),Object.entries(t).forEach(function(o){var r=o[0];y.checkPropTypes(t,n,r,e.name)})}}(qe,be),ze={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11yStatusMessage:function(e){var t=e.isOpen,n=e.items;if(!n)return"";var o=n.length;return t?0===o?"No results are available":o+" result"+(1===o?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":""},getA11ySelectionMessage:function(e){var t=e.selectedItem;return(0,e.itemToString)(t)+" has been selected."},scrollIntoView:M,environment:"undefined"==typeof window?{}:window};function qe(e){void 0===e&&(e={}),We(e);var n=r({},ze,{},e),i=n.items,s=n.itemToString,u=n.getA11yStatusMessage,a=n.getA11ySelectionMessage,l=n.initialIsOpen,c=n.defaultIsOpen,d=n.stateReducer,p=n.scrollIntoView,h=n.environment,f=function(e){return{highlightedIndex:Ie(e,"highlightedIndex"),isOpen:Ie(e,"isOpen"),selectedItem:Ie(e,"selectedItem"),keysSoFar:""}}(n),g=t.useReducer(function(e,t){var o=function(e,t){var n,o=t.type,i=t.props,s=t.shiftKey;switch(o){case De:n={highlightedIndex:t.index};break;case He:n={isOpen:ve(i,"isOpen"),highlightedIndex:ve(i,"highlightedIndex"),selectedItem:i.items[t.index]};break;case ke:n=r({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]});break;case we:n={highlightedIndex:pe(s?5:1,e.highlightedIndex,i.items.length,i.circularNavigation)};break;case xe:n={highlightedIndex:pe(s?-5:-1,e.highlightedIndex,i.items.length,i.circularNavigation)};break;case Oe:n={highlightedIndex:0};break;case Me:n={highlightedIndex:i.items.length-1};break;case Ce:n={isOpen:!1,highlightedIndex:-1};break;case Pe:n=r({isOpen:ve(i,"isOpen"),highlightedIndex:ve(i,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]});break;case Ee:var u=t.key,a=""+e.keysSoFar+u,l=he(a,e.highlightedIndex,i.items,i.itemToString);n=r({keysSoFar:a},l>=0&&{highlightedIndex:l});break;case Ae:var c=t.key,d=""+e.keysSoFar+c,p=he(d,e.selectedItem?i.items.indexOf(e.selectedItem):-1,i.items,i.itemToString);n=r({keysSoFar:d},p>=0&&{selectedItem:i.items[p]});break;case Te:n={isOpen:!0,highlightedIndex:me(i,e,1)};break;case Re:n={isOpen:!0,highlightedIndex:me(i,e,-1)};break;case Ke:case Fe:n={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:me(i,e,0)};break;case Be:n={isOpen:!0,highlightedIndex:me(i,e,0)};break;case Le:n={isOpen:!1};break;case Ve:n={highlightedIndex:t.highlightedIndex};break;case je:n={selectedItem:t.selectedItem};break;case _e:n={keysSoFar:""};break;case Ue:n={highlightedIndex:ve(i,"highlightedIndex"),isOpen:ve(i,"isOpen"),selectedItem:ve(i,"selectedItem")};break;default:throw new Error("Reducer called without proper action type.")}return r({},e,{},n)}(e,t),i=d(e,r({},t,{changes:o}));return Se(n,e,i),function(e,t){return Object.keys(e).reduce(function(n,o){return n[o]=void 0===t[o]?e[o]:t[o],n},{})}(i,n)},f),m=g[0],y=m.isOpen,v=m.highlightedIndex,I=m.selectedItem,S=m.keysSoFar,b=g[1],w=function(e,t){var n=void 0===t?{}:t,o=n.id,r=n.labelId,i=n.menuId,s=n.getItemId,u=n.toggleButtonId,a=void 0===o?"downshift-"+e():o;return{labelId:r||a+"-label",menuId:i||a+"-menu",getItemId:s||function(e){return a+"-item-"+e},toggleButtonId:u||a+"-toggle-button"}}(de,n),x=w.labelId,C=w.getItemId,O=w.menuId,M=w.toggleButtonId,P=t.useRef(null),H=t.useRef(null),A=t.useRef();A.current=[];var T=t.useRef(!0),R=t.useRef(!0);t.useEffect(function(){T.current||L(u({isOpen:y,items:i,selectedItem:I,itemToString:s}))},[y]),t.useEffect(function(){T.current||L(a({isOpen:y,items:i,selectedItem:I,itemToString:s}))},[I]),t.useEffect(function(){T.current&&($e=E(function(){b({type:_e,props:n})},500)),S&&$e()},[S]),t.useEffect(function(){T.current?(l||c||y)&&H.current.focus():y?H.current.focus():h.document.activeElement===H.current&&P.current.focus()},[y]),t.useEffect(function(){v<0||!y||!A.current.length||(!1===R.current?R.current=!0:p(A.current[v],H.current))},[v]),t.useEffect(function(){T.current=!1},[]);var K={ArrowDown:function(e){e.preventDefault(),b({type:we,props:n,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),b({type:xe,props:n,shiftKey:e.shiftKey})},Home:function(e){e.preventDefault(),b({type:Oe,props:n})},End:function(e){e.preventDefault(),b({type:Me,props:n})},Escape:function(){b({type:Ce,props:n})},Enter:function(){b({type:Pe,props:n})},Tab:function(e){e.shiftKey&&b({type:ke,props:n})}},F={ArrowDown:function(e){e.preventDefault(),b({type:Te,props:n})},ArrowUp:function(e){e.preventDefault(),b({type:Re,props:n})}},B=function(e){var t=ae.getKey(e);t&&K[t]?K[t](e):fe(t)&&b({type:Ee,key:t,props:n})},V=function(e){e.relatedTarget!==P.current&&b({type:ke,props:n})},j=function(){b({type:Ke,props:n})},_=function(e){var t=ae.getKey(e);t&&F[t]?F[t](e):fe(t)&&b({type:Ae,key:t,props:n})};return{getToggleButtonProps:function(e){var t,n=void 0===e?{}:e,i=n.onClick,s=n.onKeyDown,u=n.refKey,a=void 0===u?"ref":u,l=n.ref,c=o(n,["onClick","onKeyDown","refKey","ref"]);return r(((t={})[a]=D(l,function(e){P.current=e}),t.id=M,t["aria-haspopup"]="listbox",t["aria-expanded"]=y,t["aria-labelledby"]=x+" "+M,t.onClick=k(i,j),t.onKeyDown=k(s,_),t),c)},getLabelProps:function(e){return r({id:x},e)},getMenuProps:function(e){var t,n=void 0===e?{}:e,i=n.onKeyDown,s=n.onBlur,u=n.refKey,a=void 0===u?"ref":u,l=n.ref,c=o(n,["onKeyDown","onBlur","refKey","ref"]);return r(((t={})[a]=D(l,function(e){H.current=e}),t.id=O,t.role="listbox",t["aria-labelledby"]=x,t.tabIndex=-1,t),v>-1&&{"aria-activedescendant":C(v)},{onKeyDown:k(i,B),onBlur:k(s,V)},c)},getItemProps:function(e){var t,s=void 0===e?{}:e,u=s.item,a=s.index,l=s.refKey,c=void 0===l?"ref":l,d=s.ref,p=s.onMouseMove,h=s.onClick,f=o(s,["item","index","refKey","ref","onMouseMove","onClick"]),g=function(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}(a,u,i);if(g<0)throw new Error("Pass either item or item index in getItemProps!");return r(((t={})[c]=D(d,function(e){e&&A.current.push(e)}),t.role="option",t),g===v&&{"aria-selected":!0},{id:C(g),onMouseMove:k(p,function(){return function(e){e!==v&&(R.current=!1,b({type:De,props:n,index:e}))}(g)}),onClick:k(h,function(){return function(e){b({type:He,props:n,index:e})}(g)})},f)},toggleMenu:function(){b({type:Fe,props:n})},openMenu:function(){b({type:Be,props:n})},closeMenu:function(){b({type:Le})},setHighlightedIndex:function(e){b({type:Ve,highlightedIndex:e})},selectItem:function(e){b({type:je,selectedItem:e})},reset:function(){b({type:Ue,props:n})},highlightedIndex:v,isOpen:y,selectedItem:I}}qe.stateChangeTypes=Ne,e.default=te,e.resetIdCounter=function(){x=0},e.useSelect=qe,Object.defineProperty(e,"__esModule",{value:!0})});
2//# sourceMappingURL=downshift.umd.min.js.map