downshift 6.1.6 → 6.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -9
- package/dist/downshift.cjs.js +1703 -1637
- package/dist/downshift.esm.js +1577 -1507
- package/dist/downshift.native.cjs.js +1688 -1620
- package/dist/downshift.umd.js +1614 -1574
- package/dist/downshift.umd.js.map +1 -1
- package/dist/downshift.umd.min.js +1 -21
- package/dist/downshift.umd.min.js.map +1 -1
- package/package.json +25 -11
- package/preact/dist/downshift.cjs.js +1667 -1601
- package/preact/dist/downshift.esm.js +1577 -1507
- package/preact/dist/downshift.umd.js +1667 -1649
- package/preact/dist/downshift.umd.js.map +1 -1
- package/preact/dist/downshift.umd.min.js +1 -23
- package/preact/dist/downshift.umd.min.js.map +1 -1
|
@@ -1,24 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","preact","prop-types"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Downshift={},e.preact,e.PropTypes)}(this,(function(e,t,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(n);function o(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var l={},d=60103,c=60106,f=60107,p=60108,h=60114,g=60109,m=60110,I=60112,v=60113,y=60120,x=60115,b=60116,w=60121,S=60122,C=60117,k=60129,M=60131;
|
|
2
|
-
/** @license React v17.0.2
|
|
3
|
-
* react-is.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/if("function"==typeof Symbol&&Symbol.for){var O=Symbol.for;d=O("react.element"),c=O("react.portal"),f=O("react.fragment"),p=O("react.strict_mode"),h=O("react.profiler"),g=O("react.provider"),m=O("react.context"),I=O("react.forward_ref"),v=O("react.suspense"),y=O("react.suspense_list"),x=O("react.memo"),b=O("react.lazy"),w=O("react.block"),S=O("react.server.block"),C=O("react.fundamental"),k=O("react.debug_trace_mode"),M=O("react.legacy_hidden")}function E(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case d:switch(e=e.type){case f:case h:case p:case v:case y:return e;default:switch(e=e&&e.$$typeof){case m:case I:case b:case x:case g:return e;default:return t}}case c:return t}}}var D=g,K=d,R=I,P=f,H=b,T=x,V=c,F=h,N=p,A=v;function B(e){return"object"==typeof e&&null!=e&&1===e.nodeType}function L(e,t){return(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e}function _(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return L(n.overflowY,t)||L(n.overflowX,t)||function(e){var t=function(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}}(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)}(e)}return!1}function j(e,t,n,i,r,o,u,s){return o<e&&u>t||o>e&&u<t?0:o<=e&&s<=n||u>=t&&s>=n?o-e-i:u>t&&s<n||o<e&&s>n?u-t+r:0}l.ContextConsumer=m,l.ContextProvider=D,l.Element=K,l.ForwardRef=R,l.Fragment=P,l.Lazy=H,l.Memo=T,l.Portal=V,l.Profiler=F,l.StrictMode=N,l.Suspense=A,l.isAsyncMode=function(){return!1},l.isConcurrentMode=function(){return!1},l.isContextConsumer=function(e){return E(e)===m},l.isContextProvider=function(e){return E(e)===g},l.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===d},l.isForwardRef=function(e){return E(e)===I},l.isFragment=function(e){return E(e)===f},l.isLazy=function(e){return E(e)===b},l.isMemo=function(e){return E(e)===x},l.isPortal=function(e){return E(e)===c},l.isProfiler=function(e){return E(e)===h},l.isStrictMode=function(e){return E(e)===p},l.isSuspense=function(e){return E(e)===v},l.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===f||e===h||e===k||e===p||e===v||e===y||e===M||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===x||e.$$typeof===g||e.$$typeof===m||e.$$typeof===I||e.$$typeof===C||e.$$typeof===w||e[0]===S)},l.typeOf=E;var U=0;function $(e){return"function"==typeof e?e:W}function W(){}function z(e,t){e&&function(e,t){var n=window,i=t.scrollMode,r=t.block,o=t.inline,u=t.boundary,s=t.skipOverflowHiddenElements,a="function"==typeof u?u:function(e){return e!==u};if(!B(e))throw new TypeError("Invalid target");for(var l=document.scrollingElement||document.documentElement,d=[],c=e;B(c)&&a(c);){if((c=c.parentElement)===l){d.push(c);break}null!=c&&c===document.body&&_(c)&&!_(document.documentElement)||null!=c&&_(c,s)&&d.push(c)}for(var f=n.visualViewport?n.visualViewport.width:innerWidth,p=n.visualViewport?n.visualViewport.height:innerHeight,h=window.scrollX||pageXOffset,g=window.scrollY||pageYOffset,m=e.getBoundingClientRect(),I=m.height,v=m.width,y=m.top,x=m.right,b=m.bottom,w=m.left,S="start"===r||"nearest"===r?y:"end"===r?b:y+I/2,C="center"===o?w+v/2:"end"===o?x:w,k=[],M=0;M<d.length;M++){var O=d[M],E=O.getBoundingClientRect(),D=E.height,K=E.width,R=E.top,P=E.right,H=E.bottom,T=E.left;if("if-needed"===i&&y>=0&&w>=0&&b<=p&&x<=f&&y>=R&&b<=H&&w>=T&&x<=P)return k;var V=getComputedStyle(O),F=parseInt(V.borderLeftWidth,10),N=parseInt(V.borderTopWidth,10),A=parseInt(V.borderRightWidth,10),L=parseInt(V.borderBottomWidth,10),U=0,$=0,W="offsetWidth"in O?O.offsetWidth-O.clientWidth-F-A:0,z="offsetHeight"in O?O.offsetHeight-O.clientHeight-N-L:0;if(l===O)U="start"===r?S:"end"===r?S-p:"nearest"===r?j(g,g+p,p,N,L,g+S,g+S+I,I):S-p/2,$="start"===o?C:"center"===o?C-f/2:"end"===o?C-f:j(h,h+f,f,F,A,h+C,h+C+v,v),U=Math.max(0,U+g),$=Math.max(0,$+h);else{U="start"===r?S-R-N:"end"===r?S-H+L+z:"nearest"===r?j(R,H,D,N,L+z,S,S+I,I):S-(R+D/2)+z/2,$="start"===o?C-T-F:"center"===o?C-(T+K/2)+W/2:"end"===o?C-P+A+W:j(T,P,K,F,A+W,C,C+v,v);var q=O.scrollLeft,X=O.scrollTop;S+=X-(U=Math.max(0,Math.min(X+U,O.scrollHeight-D+z))),C+=q-($=Math.max(0,Math.min(q+$,O.scrollWidth-K+W)))}k.push({el:O,top:U,left:$})}return k}(e,{boundary:t,block:"nearest",scrollMode:"if-needed"}).forEach((function(e){var t=e.el,n=e.top,i=e.left;t.scrollTop=n,t.scrollLeft=i}))}function q(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function X(e,t){var n;function i(){n&&clearTimeout(n)}function r(){for(var r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];i(),n=setTimeout((function(){n=null,e.apply(void 0,o)}),t)}return r.cancel=i,r}function Y(){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),r=1;r<n;r++)i[r-1]=arguments[r];return t.some((function(t){return t&&t.apply(void 0,[e].concat(i)),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault}))}}function G(){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 J(){return String(U++)}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 ee=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function te(e){void 0===e&&(e={});var t={};return ee.forEach((function(n){e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function ne(e,t){return Object.keys(e).reduce((function(n,i){return n[i]=ie(t,i)?t[i]:e[i],n}),{})}function ie(e,t){return void 0!==e[t]}function re(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function oe(e,t,n,i,r){if(void 0===r&&(r=!0),0===n)return-1;var o=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:o+1);var u=t+e;u<0?u=r?o:0:u>o&&(u=r?0:o);var s=ue(e,u,n,i,r);return-1===s?t>=n?-1:t:s}function ue(e,t,n,i,r){var o=i(t);if(!o||!o.hasAttribute("disabled"))return t;if(e>0){for(var u=t+1;u<n;u++)if(!i(u).hasAttribute("disabled"))return u}else for(var s=t-1;s>=0;s--)if(!i(s).hasAttribute("disabled"))return s;return r?e>0?ue(1,0,n,i,!1):ue(-1,n-1,n,i,!1):-1}function se(e,t,n,i){return void 0===i&&(i=!0),t.some((function(t){return t&&(q(t,e,n)||i&&q(t,n.document.activeElement,n))}))}var ae=X((function(e){de(e).textContent=""}),500);function le(e,t){var n=de(t);e&&(n.textContent=e,ae(t))}function de(e){void 0===e&&(e=document);var t=e.getElementById("a11y-status-message");return t||((t=e.createElement("div")).setAttribute("id","a11y-status-message"),t.setAttribute("role","status"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-relevant","additions text"),Object.assign(t.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),e.body.appendChild(t),t)}var ce=Object.freeze({__proto__:null,unknown:0,mouseUp:1,itemMouseEnter:2,keyDownArrowUp:3,keyDownArrowDown:4,keyDownEscape:5,keyDownEnter:6,keyDownHome:7,keyDownEnd:8,clickItem:9,blurInput:10,changeInput:11,keyDownSpaceButton:12,clickButton:13,blurButton:14,controlledPropUpdatedSelectedItem:15,touchEnd:16}),fe=["refKey","ref"],pe=["onClick","onPress","onKeyDown","onKeyUp","onBlur"],he=["onKeyDown","onBlur","onChange","onInput","onChangeText"],ge=["refKey","ref"],me=["onMouseMove","onMouseDown","onClick","onPress","index","item"],Ie=function(){var e=function(e){var n,i;function r(t){var n=e.call(this,t)||this;n.id=n.props.id||"downshift-"+J(),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 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.setHighlightedIndex=function(e,t){void 0===e&&(e=n.props.defaultHighlightedIndex),void 0===t&&(t={}),t=te(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=te(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 r=n.items[e];null!=r&&n.selectItem(r,t,i)},n.selectHighlightedItem=function(e,t){return n.selectItemAtIndex(n.getState().highlightedIndex,e,t)},n.internalSetState=function(e,t){var i,r,o={},s="function"==typeof e;return!s&&e.hasOwnProperty("inputValue")&&n.props.onInputValueChange(e.inputValue,u({},n.getStateAndHelpers(),e)),n.setState((function(t){t=n.getState(t);var a=s?e(t):e;a=n.props.stateReducer(t,a),i=a.hasOwnProperty("selectedItem");var l={},d={};return i&&a.selectedItem!==t.selectedItem&&(r=a.selectedItem),a.type=a.type||0,Object.keys(a).forEach((function(e){t[e]!==a[e]&&(o[e]=a[e]),"type"!==e&&(d[e]=a[e],ie(n.props,e)||(l[e]=a[e]))})),s&&a.hasOwnProperty("inputValue")&&n.props.onInputValueChange(a.inputValue,u({},n.getStateAndHelpers(),a)),l}),(function(){$(t)(),Object.keys(o).length>1&&n.props.onStateChange(o,n.getStateAndHelpers()),i&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==r&&n.props.onChange(r,n.getStateAndHelpers()),n.props.onUserAction(o,n.getStateAndHelpers())}))},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var i,r=void 0===e?{}:e,s=r.refKey,a=void 0===s?"ref":s,l=r.ref,d=o(r,fe),c=(void 0===t?{}:t).suppressRefError,f=void 0!==c&&c;n.getRootProps.called=!0,n.getRootProps.refKey=a,n.getRootProps.suppressRefError=f;var p=n.getState().isOpen;return u(((i={})[a]=G(l,n.rootRef),i.role="combobox",i["aria-expanded"]=p,i["aria-haspopup"]="listbox",i["aria-owns"]=p?n.menuId:null,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=oe(1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:4})}}))},ArrowUp:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?-5:-1;this.moveHighlightedIndex(n,{type:3})}else this.internalSetState({isOpen:!0,type:3},(function(){var e=t.getItemCount();if(e>0){var n=oe(-1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:3})}}))},Enter:function(e){if(229!==e.which){var t=this.getState(),n=t.isOpen,i=t.highlightedIndex;if(n&&null!=i){e.preventDefault();var r=this.items[i],o=this.getItemNodeFromIndex(i);if(null==r||o&&o.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,n=this.getState().isOpen;if(n){e.preventDefault();var i=this.getItemCount();if(!(i<=0)&&n){var r=ue(1,0,i,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(r,{type:7})}}},End:function(e){var t=this,n=this.getState().isOpen;if(n){e.preventDefault();var i=this.getItemCount();if(!(i<=0)&&n){var r=ue(-1,i-1,i,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(r,{type:8})}}}}),n.getToggleButtonProps=function(e){var t=void 0===e?{}:e,i=t.onClick;t.onPress;var r=t.onKeyDown,s=t.onKeyUp,a=t.onBlur,l=o(t,pe),d=n.getState().isOpen,c={onClick:Y(i,n.buttonHandleClick),onKeyDown:Y(r,n.buttonHandleKeyDown),onKeyUp:Y(s,n.buttonHandleKeyUp),onBlur:Y(a,n.buttonHandleBlur)};return u({type:"button",role:"button","aria-label":d?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},l.disabled?{}:c,l)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=re(e);n.buttonKeyDownHandlers[t]&&n.buttonKeyDownHandlers[t].call(s(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:13})}))},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: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,r=t.onBlur,s=t.onChange,a=t.onInput;t.onChangeText;var l=o(t,he),d={};var c,f=n.getState(),p=f.inputValue,h=f.isOpen,g=f.highlightedIndex;l.disabled||((c={}).onInput=Y(s,a,n.inputHandleChange),c.onKeyDown=Y(i,n.inputHandleKeyDown),c.onBlur=Y(r,n.inputHandleBlur),d=c);return u({"aria-autocomplete":"list","aria-activedescendant":h&&"number"==typeof g&&g>=0?n.getItemId(g):null,"aria-controls":h?n.menuId:null,"aria-labelledby":n.labelId,autoComplete:"off",value:p,id:n.inputId},d,l)},n.inputHandleKeyDown=function(e){var t=re(e);t&&n.inputKeyDownHandlers[t]&&n.inputKeyDownHandlers[t].call(s(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=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:10})}))},n.menuRef=function(e){n._menuNode=e},n.getMenuProps=function(e,t){var i,r=void 0===e?{}:e,s=r.refKey,a=void 0===s?"ref":s,l=r.ref,d=o(r,ge),c=(void 0===t?{}:t).suppressRefError,f=void 0!==c&&c;return n.getMenuProps.called=!0,n.getMenuProps.refKey=a,n.getMenuProps.suppressRefError=f,u(((i={})[a]=G(l,n.menuRef),i.role="listbox",i["aria-labelledby"]=d&&d["aria-label"]?null:n.labelId,i.id=n.menuId,i),d)},n.getItemProps=function(e){var t,i=void 0===e?{}:e,r=i.onMouseMove,s=i.onMouseDown,a=i.onClick;i.onPress;var l=i.index,d=i.item,c=void 0===d?void 0:d,f=o(i,me);void 0===l?(n.items.push(c),l=n.items.indexOf(c)):n.items[l]=c;var p=a,h=((t={onMouseMove:Y(r,(function(){l!==n.getState().highlightedIndex&&(n.setHighlightedIndex(l,{type:2}),n.avoidScrolling=!0,n.internalSetTimeout((function(){return n.avoidScrolling=!1}),250))})),onMouseDown:Y(s,(function(e){e.preventDefault()}))}).onClick=Y(p,(function(){n.selectItemAtIndex(l,{type:9})})),t),g=f.disabled?{onMouseDown:h.onMouseDown}:h;return u({id:n.getItemId(l),role:"option","aria-selected":n.getState().highlightedIndex===l},g,f)},n.clearItems=function(){n.items=[]},n.reset=function(e,t){void 0===e&&(e={}),e=te(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=te(e),n.internalSetState((function(t){var i=t.isOpen;return u({isOpen:!i},i&&{highlightedIndex:n.props.defaultHighlightedIndex},e)}),(function(){var i=n.getState(),r=i.isOpen,o=i.highlightedIndex;r&&n.getItemCount()>0&&"number"==typeof o&&n.setHighlightedIndex(o,e),$(t)()}))},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=X((function(){var e=n.getState(),t=n.items[e.highlightedIndex],i=n.getItemCount(),r=n.props.getA11yStatusMessage(u({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:i,highlightedItem:t},e));n.previousResultCount=i,le(r,n.props.environment.document)}),200);var i=n.props,r=i.defaultHighlightedIndex,a=i.initialHighlightedIndex,l=void 0===a?r:a,d=i.defaultIsOpen,c=i.initialIsOpen,f=void 0===c?d:c,p=i.initialInputValue,h=void 0===p?"":p,g=i.initialSelectedItem,m=void 0===g?null:g,I=n.getState({highlightedIndex:l,isOpen:f,inputValue:h,selectedItem:m});return null!=I.selectedItem&&void 0===n.props.initialInputValue&&(I.inputValue=n.props.itemToString(I.selectedItem)),n.state=I,n}i=e,(n=r).prototype=Object.create(i.prototype),n.prototype.constructor=n,a(n,i);var l=r.prototype;return l.internalClearTimeouts=function(){this.timeoutIds.forEach((function(e){clearTimeout(e)})),this.timeoutIds=[]},l.getState=function(e){return void 0===e&&(e=this.state),ne(e,this.props)},l.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},l.getItemNodeFromIndex=function(e){return this.props.environment.document.getElementById(this.getItemId(e))},l.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},l.moveHighlightedIndex=function(e,t){var n=this,i=this.getItemCount(),r=this.getState().highlightedIndex;if(i>0){var o=oe(e,r,i,(function(e){return n.getItemNodeFromIndex(e)}));this.setHighlightedIndex(o,t)}},l.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,i=e.selectedItem,r=e.isOpen,o=this.props.itemToString,u=this.id,s=this.getRootProps,a=this.getToggleButtonProps,l=this.getLabelProps,d=this.getMenuProps,c=this.getInputProps,f=this.getItemProps,p=this.openMenu,h=this.closeMenu,g=this.toggleMenu,m=this.selectItem,I=this.selectItemAtIndex,v=this.selectHighlightedItem,y=this.setHighlightedIndex,x=this.clearSelection,b=this.clearItems;return{getRootProps:s,getToggleButtonProps:a,getLabelProps:l,getMenuProps:d,getInputProps:c,getItemProps:f,reset:this.reset,openMenu:p,closeMenu:h,toggleMenu:g,selectItem:m,selectItemAtIndex:I,selectHighlightedItem:v,setHighlightedIndex:y,clearSelection:x,clearItems:b,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:o,id:u,highlightedIndex:t,inputValue:n,isOpen:r,selectedItem:i}},l.componentDidMount=function(){var e=this,t=function(){e.isMouseDown=!0},n=function(t){e.isMouseDown=!1,!se(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},r=function(){e.isTouchMove=!0},o=function(t){var n=se(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",r),u.addEventListener("touchend",o),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),u.removeEventListener("mousedown",t),u.removeEventListener("mouseup",n),u.removeEventListener("touchstart",i),u.removeEventListener("touchmove",r),u.removeEventListener("touchend",o)}},l.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},l.componentDidUpdate=function(e,t){ie(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()},l.componentWillUnmount=function(){this.cleanup()},l.render=function(){var e=Z(this.props.children,W);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||"string"==typeof e.nodeName}(n)?t.cloneElement(n,this.getRootProps(function(e){return e.props||e.attributes}(n))):void 0:null},r}(t.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:Q,itemToString:function(e){return null==e?"":String(e)},onStateChange:W,onInputValueChange:W,onUserAction:W,onChange:W,onSelect:W,onOuterClick:W,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"==typeof window?{}:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:z},e.stateChangeTypes=ce,e}(),ve=["isInitialMount","highlightedIndex","items","environment"],ye={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function xe(e,t,n){var i=e.props,r=e.type,o={};Object.keys(t).forEach((function(i){!function(e,t,n,i){var r=t.props,o=t.type,s="on"+Me(e)+"Change";r[s]&&void 0!==i[e]&&i[e]!==n[e]&&r[s](u({type:o},i))}(i,e,t,n),n[i]!==t[i]&&(o[i]=n[i])})),i.onStateChange&&Object.keys(o).length&&i.onStateChange(u({type:r},o))}var be=X((function(e,t){le(e(),t)}),200),we="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect;function Se(e){var n=e.id,i=void 0===n?"downshift-"+J():n,r=e.labelId,o=e.menuId,u=e.getItemId,s=e.toggleButtonId,a=e.inputId;return t.useRef({labelId:r||i+"-label",menuId:o||i+"-menu",getItemId:u||function(e){return i+"-item-"+e},toggleButtonId:s||i+"-toggle-button",inputId:a||i+"-input"}).current}function Ce(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function ke(e){return/^\S{1}$/.test(e)}function Me(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function Oe(e){var n=t.useRef(e);return n.current=e,n}function Ee(e,n,i){var r=t.useRef(),o=t.useRef(),s=t.useCallback((function(t,n){o.current=n,t=ne(t,n.props);var i=e(t,n);return n.props.stateReducer(t,u({},n,{changes:i}))}),[e]),a=t.useReducer(s,n),l=a[0],d=a[1],c=Oe(i),f=t.useCallback((function(e){return d(u({props:c.current},e))}),[c]),p=o.current;return t.useEffect((function(){p&&r.current&&r.current!==l&&xe(p,ne(r.current,p.props),l),r.current=l}),[l,i,p]),[l,f]}function De(e,t,n){var i=Ee(e,t,n),r=i[0],o=i[1];return[ne(r,n),o]}var Ke={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11ySelectionMessage:function(e){var t=e.selectedItem,n=e.itemToString;return t?n(t)+" has been selected.":""},scrollIntoView:z,circularNavigation:!1,environment:"undefined"==typeof window?{}:window};function Re(e,t,n){void 0===n&&(n=ye);var i="default"+Me(t);return i in e?e[i]:n[t]}function Pe(e,t,n){if(void 0===n&&(n=ye),t in e)return e[t];var i="initial"+Me(t);return i in e?e[i]:Re(e,t,n)}function He(e){var t=Pe(e,"selectedItem"),n=Pe(e,"isOpen"),i=Pe(e,"highlightedIndex"),r=Pe(e,"inputValue");return{highlightedIndex:i<0&&t&&n?e.items.indexOf(t):i,isOpen:n,selectedItem:t,inputValue:r}}function Te(e,t,n,i){var r=e.items,o=e.initialHighlightedIndex,u=e.defaultHighlightedIndex,s=t.selectedItem,a=t.highlightedIndex;return 0===r.length?-1:void 0!==o&&a===o?o:void 0!==u?u:s?0===n?r.indexOf(s):oe(n,r.indexOf(s),r.length,i,!1):0===n?-1:n<0?r.length-1:0}function Ve(e,n,i,r){var o=t.useRef({isMouseDown:!1,isTouchMove:!1});return t.useEffect((function(){var t=function(){o.current.isMouseDown=!0},u=function(t){o.current.isMouseDown=!1,e&&!se(t.target,n.map((function(e){return e.current})),i)&&r()},s=function(){o.current.isTouchMove=!1},a=function(){o.current.isTouchMove=!0},l=function(t){!e||o.current.isTouchMove||se(t.target,n.map((function(e){return e.current})),i,!1)||r()};return i.addEventListener("mousedown",t),i.addEventListener("mouseup",u),i.addEventListener("touchstart",s),i.addEventListener("touchmove",a),i.addEventListener("touchend",l),function(){i.removeEventListener("mousedown",t),i.removeEventListener("mouseup",u),i.removeEventListener("touchstart",s),i.removeEventListener("touchmove",a),i.removeEventListener("touchend",l)}}),[e,i]),o}var Fe=function(){return W};function Ne(e,n,i){var r=i.isInitialMount,s=i.highlightedIndex,a=i.items,l=i.environment,d=o(i,ve);t.useEffect((function(){r||be((function(){return e(u({highlightedIndex:s,highlightedItem:a[s],resultCount:a.length},d))}),l.document)}),n)}function Ae(e){var n=e.highlightedIndex,i=e.isOpen,r=e.itemRefs,o=e.getItemNodeFromIndex,u=e.menuElement,s=e.scrollIntoView,a=t.useRef(!0);return we((function(){n<0||!i||!Object.keys(r.current).length||(!1===a.current?a.current=!0:s(o(n),u))}),[n]),a}var Be=W;function Le(e,t,n){var i,r=t.type,o=t.props;switch(r){case n.ItemMouseMove:i={highlightedIndex:t.index};break;case n.MenuMouseLeave:i={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:i={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:Te(o,e,0)};break;case n.FunctionOpenMenu:i={isOpen:!0,highlightedIndex:Te(o,e,0)};break;case n.FunctionCloseMenu:i={isOpen:!1};break;case n.FunctionSetHighlightedIndex:i={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:i={inputValue:t.inputValue};break;case n.FunctionReset:i={highlightedIndex:Re(o,"highlightedIndex"),isOpen:Re(o,"isOpen"),selectedItem:Re(o,"selectedItem"),inputValue:Re(o,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return u({},e,i)}
|
|
10
|
-
/*! *****************************************************************************
|
|
11
|
-
Copyright (c) Microsoft Corporation.
|
|
12
|
-
|
|
13
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
14
|
-
purpose with or without fee is hereby granted.
|
|
15
|
-
|
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
17
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
18
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
19
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
20
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
21
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
22
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
23
|
-
***************************************************************************** */var _e=function(){return(_e=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function je(e){for(var t=e.keysSoFar,n=e.highlightedIndex,i=e.items,r=e.itemToString,o=e.getItemNodeFromIndex,u=t.toLowerCase(),s=0;s<i.length;s++){var a=(s+n+1)%i.length,l=i[a];if(void 0!==l&&r(l).toLowerCase().startsWith(u)){var d=o(a);if(!(null==d?void 0:d.hasAttribute("disabled")))return a}}return n}r.default.array.isRequired,r.default.func,r.default.func,r.default.func,r.default.bool,r.default.number,r.default.number,r.default.number,r.default.bool,r.default.bool,r.default.bool,r.default.any,r.default.any,r.default.any,r.default.string,r.default.string,r.default.string,r.default.func,r.default.string,r.default.func,r.default.func,r.default.func,r.default.func,r.default.func,r.default.shape({addEventListener:r.default.func,removeEventListener:r.default.func,document:r.default.shape({getElementById:r.default.func,activeElement:r.default.any,body:r.default.any})});var Ue=_e(_e({},Ke),{getA11yStatusMessage:function(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 or Space Bar keys to select.":"":"No results are available.":""}}),$e=W,We=Object.freeze({__proto__:null,MenuKeyDownArrowDown:0,MenuKeyDownArrowUp:1,MenuKeyDownEscape:2,MenuKeyDownHome:3,MenuKeyDownEnd:4,MenuKeyDownEnter:5,MenuKeyDownSpaceButton:6,MenuKeyDownCharacter:7,MenuBlur:8,MenuMouseLeave:9,ItemMouseMove:10,ItemClick:11,ToggleButtonClick:12,ToggleButtonKeyDownArrowDown:13,ToggleButtonKeyDownArrowUp:14,ToggleButtonKeyDownCharacter:15,FunctionToggleMenu:16,FunctionOpenMenu:17,FunctionCloseMenu:18,FunctionSetHighlightedIndex:19,FunctionSelectItem:20,FunctionSetInputValue:21,FunctionReset:22});function ze(e,t){var n,i=t.type,r=t.props,o=t.shiftKey;switch(i){case 11:n={isOpen:Re(r,"isOpen"),highlightedIndex:Re(r,"highlightedIndex"),selectedItem:r.items[t.index]};break;case 15:var s=t.key,a=""+e.inputValue+s,l=je({keysSoFar:a,highlightedIndex:e.selectedItem?r.items.indexOf(e.selectedItem):-1,items:r.items,itemToString:r.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});n=u({inputValue:a},l>=0&&{selectedItem:r.items[l]});break;case 13:n={highlightedIndex:Te(r,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case 14:n={highlightedIndex:Te(r,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case 5:case 6:n=u({isOpen:Re(r,"isOpen"),highlightedIndex:Re(r,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex]});break;case 3:n={highlightedIndex:ue(1,0,r.items.length,t.getItemNodeFromIndex,!1)};break;case 4:n={highlightedIndex:ue(-1,r.items.length-1,r.items.length,t.getItemNodeFromIndex,!1)};break;case 2:case 8:n={isOpen:!1,highlightedIndex:-1};break;case 7:var d=t.key,c=""+e.inputValue+d,f=je({keysSoFar:c,highlightedIndex:e.highlightedIndex,items:r.items,itemToString:r.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});n=u({inputValue:c},f>=0&&{highlightedIndex:f});break;case 0:n={highlightedIndex:oe(o?5:1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)};break;case 1:n={highlightedIndex:oe(o?-5:-1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)};break;case 20:n={selectedItem:t.selectedItem};break;default:return Le(e,t,We)}return u({},e,n)}var qe=["onMouseLeave","refKey","onKeyDown","onBlur","ref"],Xe=["onClick","onKeyDown","refKey","ref"],Ye=["item","index","onMouseMove","onClick","refKey","ref"];function Ge(e){void 0===e&&(e={}),$e(e,Ge);var n=u({},Ue,e),i=n.items,r=n.scrollIntoView,s=n.environment,a=n.initialIsOpen,l=n.defaultIsOpen,d=n.itemToString,c=n.getA11ySelectionMessage,f=n.getA11yStatusMessage,p=De(ze,He(n),n),h=p[0],g=p[1],m=h.isOpen,I=h.highlightedIndex,v=h.selectedItem,y=h.inputValue,x=t.useRef(null),b=t.useRef(null),w=t.useRef({}),S=t.useRef(!0),C=t.useRef(null),k=Se(n),M=t.useRef(),O=t.useRef(!0),E=Oe({state:h,props:n}),D=t.useCallback((function(e){return w.current[k.getItemId(e)]}),[k]);Ne(f,[m,I,y,i],u({isInitialMount:O.current,previousResultCount:M.current,items:i,environment:s,itemToString:d},h)),Ne(c,[v],u({isInitialMount:O.current,previousResultCount:M.current,items:i,environment:s,itemToString:d},h));var K=Ae({menuElement:b.current,highlightedIndex:I,isOpen:m,itemRefs:w,scrollIntoView:r,getItemNodeFromIndex:D});t.useEffect((function(){return C.current=X((function(e){e({type:21,inputValue:""})}),500),function(){C.current.cancel()}}),[]),t.useEffect((function(){y&&C.current(g)}),[g,y]),Be({isInitialMount:O.current,props:n,state:h}),t.useEffect((function(){O.current?(a||l||m)&&b.current&&b.current.focus():m?b.current&&b.current.focus():s.document.activeElement===b.current&&x.current&&(S.current=!1,x.current.focus())}),[m]),t.useEffect((function(){O.current||(M.current=i.length)}));var R=Ve(m,[b,x],s,(function(){g({type:8})})),P=Fe();t.useEffect((function(){O.current=!1}),[]),t.useEffect((function(){m||(w.current={})}),[m]);var H=t.useMemo((function(){return{ArrowDown:function(e){e.preventDefault(),g({type:13,getItemNodeFromIndex:D,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),g({type:14,getItemNodeFromIndex:D,shiftKey:e.shiftKey})}}}),[g,D]),T=t.useMemo((function(){return{ArrowDown:function(e){e.preventDefault(),g({type:0,getItemNodeFromIndex:D,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),g({type:1,getItemNodeFromIndex:D,shiftKey:e.shiftKey})},Home:function(e){e.preventDefault(),g({type:3,getItemNodeFromIndex:D})},End:function(e){e.preventDefault(),g({type:4,getItemNodeFromIndex:D})},Escape:function(){g({type:2})},Enter:function(e){e.preventDefault(),g({type:5})}," ":function(e){e.preventDefault(),g({type:6})}}}),[g,D]),V=t.useCallback((function(){g({type:16})}),[g]),F=t.useCallback((function(){g({type:18})}),[g]),N=t.useCallback((function(){g({type:17})}),[g]),A=t.useCallback((function(e){g({type:19,highlightedIndex:e})}),[g]),B=t.useCallback((function(e){g({type:20,selectedItem:e})}),[g]),L=t.useCallback((function(){g({type:22})}),[g]),_=t.useCallback((function(e){g({type:21,inputValue:e})}),[g]),j=t.useCallback((function(e){return u({id:k.labelId,htmlFor:k.toggleButtonId},e)}),[k]),U=t.useCallback((function(e,t){var n,i=void 0===e?{}:e,r=i.onMouseLeave,s=i.refKey,a=void 0===s?"ref":s,l=i.onKeyDown,d=i.onBlur,c=i.ref,f=o(i,qe),p=(void 0===t?{}:t).suppressRefError,h=void 0!==p&&p,m=E.current.state;return P("getMenuProps",h,a,b),u(((n={})[a]=G(c,(function(e){b.current=e})),n.id=k.menuId,n.role="listbox",n["aria-labelledby"]=k.labelId,n.tabIndex=-1,n),m.isOpen&&m.highlightedIndex>-1&&{"aria-activedescendant":k.getItemId(m.highlightedIndex)},{onMouseLeave:Y(r,(function(){g({type:9})})),onKeyDown:Y(l,(function(e){var t=re(e);t&&T[t]?T[t](e):ke(t)&&g({type:7,key:t,getItemNodeFromIndex:D})})),onBlur:Y(d,(function(){!1!==S.current?!R.current.isMouseDown&&g({type:8}):S.current=!0}))},f)}),[g,E,T,R,P,k,D]);return{getToggleButtonProps:t.useCallback((function(e,t){var n,i=void 0===e?{}:e,r=i.onClick,s=i.onKeyDown,a=i.refKey,l=void 0===a?"ref":a,d=i.ref,c=o(i,Xe),f=(void 0===t?{}:t).suppressRefError,p=void 0!==f&&f,h=u(((n={})[l]=G(d,(function(e){x.current=e})),n.id=k.toggleButtonId,n["aria-haspopup"]="listbox",n["aria-expanded"]=E.current.state.isOpen,n["aria-labelledby"]=k.labelId+" "+k.toggleButtonId,n),c);return c.disabled||(h.onClick=Y(r,(function(){g({type:12})})),h.onKeyDown=Y(s,(function(e){var t=re(e);t&&H[t]?H[t](e):ke(t)&&g({type:15,key:t,getItemNodeFromIndex:D})}))),P("getToggleButtonProps",p,l,x),h}),[g,E,H,P,k,D]),getLabelProps:j,getMenuProps:U,getItemProps:t.useCallback((function(e){var t,n=void 0===e?{}:e,i=n.item,r=n.index,s=n.onMouseMove,a=n.onClick,l=n.refKey,d=void 0===l?"ref":l,c=n.ref,f=o(n,Ye),p=E.current,h=p.state,m=p.props,I=Ce(r,i,m.items);if(I<0)throw new Error("Pass either item or item index in getItemProps!");var v=u(((t={role:"option","aria-selected":""+(I===h.highlightedIndex),id:k.getItemId(I)})[d]=G(c,(function(e){e&&(w.current[k.getItemId(I)]=e)})),t),f);return f.disabled||(v.onMouseMove=Y(s,(function(){r!==h.highlightedIndex&&(K.current=!1,g({type:10,index:r}))})),v.onClick=Y(a,(function(){g({type:11,index:r})}))),v}),[g,E,K,k]),toggleMenu:V,openMenu:N,closeMenu:F,setHighlightedIndex:A,selectItem:B,reset:L,setInputValue:_,highlightedIndex:I,isOpen:m,selectedItem:v,inputValue:y}}Ge.stateChangeTypes=We;var Je=Object.freeze({__proto__:null,InputKeyDownArrowDown:0,InputKeyDownArrowUp:1,InputKeyDownEscape:2,InputKeyDownHome:3,InputKeyDownEnd:4,InputKeyDownEnter:5,InputChange:6,InputBlur:7,MenuMouseLeave:8,ItemMouseMove:9,ItemClick:10,ToggleButtonClick:11,FunctionToggleMenu:12,FunctionOpenMenu:13,FunctionCloseMenu:14,FunctionSetHighlightedIndex:15,FunctionSelectItem:16,FunctionSetInputValue:17,FunctionReset:18,ControlledPropUpdatedSelectedItem:19});r.default.array.isRequired,r.default.func,r.default.func,r.default.func,r.default.bool,r.default.number,r.default.number,r.default.number,r.default.bool,r.default.bool,r.default.bool,r.default.any,r.default.any,r.default.any,r.default.string,r.default.string,r.default.string,r.default.string,r.default.string,r.default.string,r.default.func,r.default.string,r.default.string,r.default.func,r.default.func,r.default.func,r.default.func,r.default.func,r.default.func,r.default.shape({addEventListener:r.default.func,removeEventListener:r.default.func,document:r.default.shape({getElementById:r.default.func,activeElement:r.default.any,body:r.default.any})});var Qe=W,Ze=u({},Ke,{getA11yStatusMessage:Q,circularNavigation:!0});function et(e,t){var n,i=t.type,r=t.props,o=t.shiftKey;switch(i){case 10:n={isOpen:Re(r,"isOpen"),highlightedIndex:Re(r,"highlightedIndex"),selectedItem:r.items[t.index],inputValue:r.itemToString(r.items[t.index])};break;case 0:n=e.isOpen?{highlightedIndex:oe(o?5:1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)}:{highlightedIndex:Te(r,e,1,t.getItemNodeFromIndex),isOpen:r.items.length>=0};break;case 1:n=e.isOpen?{highlightedIndex:oe(o?-5:-1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,r.circularNavigation)}:{highlightedIndex:Te(r,e,-1,t.getItemNodeFromIndex),isOpen:r.items.length>=0};break;case 5:n=u({},e.isOpen&&e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],isOpen:Re(r,"isOpen"),highlightedIndex:Re(r,"highlightedIndex"),inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case 2:n=u({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case 3:n={highlightedIndex:ue(1,0,r.items.length,t.getItemNodeFromIndex,!1)};break;case 4:n={highlightedIndex:ue(-1,r.items.length-1,r.items.length,t.getItemNodeFromIndex,!1)};break;case 7:n=u({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.selectItem&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case 6:n={isOpen:!0,highlightedIndex:Re(r,"highlightedIndex"),inputValue:t.inputValue};break;case 16:n={selectedItem:t.selectedItem,inputValue:r.itemToString(t.selectedItem)};break;case 19:n={inputValue:t.inputValue};break;default:return Le(e,t,Je)}return u({},e,n)}var tt=["onMouseLeave","refKey","ref"],nt=["item","index","refKey","ref","onMouseMove","onClick","onPress"],it=["onClick","onPress","refKey","ref"],rt=["onKeyDown","onChange","onInput","onBlur","onChangeText","refKey","ref"],ot=["refKey","ref"];function ut(e){void 0===e&&(e={}),Qe(e,ut);var n=u({},Ze,e),i=n.initialIsOpen,r=n.defaultIsOpen,s=n.items,a=n.scrollIntoView,l=n.environment,d=n.getA11yStatusMessage,c=n.getA11ySelectionMessage,f=n.itemToString,p=function(e,n,i){var r=t.useRef(),o=Ee(e,n,i),u=o[0],s=o[1];return t.useEffect((function(){ie(i,"selectedItem")&&(r.current!==i.selectedItem&&s({type:19,inputValue:i.itemToString(i.selectedItem)}),r.current=u.selectedItem===r.current?i.selectedItem:u.selectedItem)})),[ne(u,i),s]}(et,function(e){var t=He(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})}(n),n),h=p[0],g=p[1],m=h.isOpen,I=h.highlightedIndex,v=h.selectedItem,y=h.inputValue,x=t.useRef(null),b=t.useRef({}),w=t.useRef(null),S=t.useRef(null),C=t.useRef(null),k=t.useRef(!0),M=Se(n),O=t.useRef(),E=Oe({state:h,props:n}),D=t.useCallback((function(e){return b.current[M.getItemId(e)]}),[M]);Ne(d,[m,I,y,s],u({isInitialMount:k.current,previousResultCount:O.current,items:s,environment:l,itemToString:f},h)),Ne(c,[v],u({isInitialMount:k.current,previousResultCount:O.current,items:s,environment:l,itemToString:f},h));var K=Ae({menuElement:x.current,highlightedIndex:I,isOpen:m,itemRefs:b,scrollIntoView:a,getItemNodeFromIndex:D});Be({isInitialMount:k.current,props:n,state:h}),t.useEffect((function(){(i||r||m)&&w.current&&w.current.focus()}),[]),t.useEffect((function(){k.current||(O.current=s.length)}));var R=Ve(m,[C,x,S],l,(function(){g({type:7,selectItem:!1})})),P=Fe();t.useEffect((function(){k.current=!1}),[]),t.useEffect((function(){m||(b.current={})}),[m]);var H=t.useMemo((function(){return{ArrowDown:function(e){e.preventDefault(),g({type:0,shiftKey:e.shiftKey,getItemNodeFromIndex:D})},ArrowUp:function(e){e.preventDefault(),g({type:1,shiftKey:e.shiftKey,getItemNodeFromIndex:D})},Home:function(e){E.current.state.isOpen&&(e.preventDefault(),g({type:3,getItemNodeFromIndex:D}))},End:function(e){E.current.state.isOpen&&(e.preventDefault(),g({type:4,getItemNodeFromIndex:D}))},Escape:function(){var e=E.current.state;(e.isOpen||e.inputValue||e.selectedItem||e.highlightedIndex>-1)&&g({type:2})},Enter:function(e){var t=E.current.state;!t.isOpen||t.highlightedIndex<0||229===e.which||(e.preventDefault(),g({type:5,getItemNodeFromIndex:D}))}}}),[g,E,D]),T=t.useCallback((function(e){return u({id:M.labelId,htmlFor:M.inputId},e)}),[M]),V=t.useCallback((function(e,t){var n,i=void 0===e?{}:e,r=i.onMouseLeave,s=i.refKey,a=void 0===s?"ref":s,l=i.ref,d=o(i,tt),c=(void 0===t?{}:t).suppressRefError;return P("getMenuProps",void 0!==c&&c,a,x),u(((n={})[a]=G(l,(function(e){x.current=e})),n.id=M.menuId,n.role="listbox",n["aria-labelledby"]=M.labelId,n.onMouseLeave=Y(r,(function(){g({type:8})})),n),d)}),[g,P,M]),F=t.useCallback((function(e){var t,n,i=void 0===e?{}:e,r=i.item,s=i.index,a=i.refKey,l=void 0===a?"ref":a,d=i.ref,c=i.onMouseMove,f=i.onClick;i.onPress;var p=o(i,nt),h=E.current,m=h.props,I=h.state,v=Ce(s,r,m.items);if(v<0)throw new Error("Pass either item or item index in getItemProps!");var y=f;return u(((t={})[l]=G(d,(function(e){e&&(b.current[M.getItemId(v)]=e)})),t.role="option",t["aria-selected"]=""+(v===I.highlightedIndex),t.id=M.getItemId(v),t),!p.disabled&&((n={onMouseMove:Y(c,(function(){s!==I.highlightedIndex&&(K.current=!1,g({type:9,index:s}))}))}).onClick=Y(y,(function(){g({type:10,index:s}),w.current&&w.current.focus()})),n),p)}),[g,E,K,M]),N=t.useCallback((function(e){var t,n=void 0===e?{}:e,i=n.onClick;n.onPress;var r=n.refKey,s=void 0===r?"ref":r,a=n.ref,l=o(n,it);return u(((t={})[s]=G(a,(function(e){S.current=e})),t.id=M.toggleButtonId,t.tabIndex=-1,t),!l.disabled&&u({},{onClick:Y(i,(function(){g({type:11}),!E.current.state.isOpen&&w.current&&w.current.focus()}))}),l)}),[g,E,M]),A=t.useCallback((function(e,t){var n,i=void 0===e?{}:e,r=i.onKeyDown,s=i.onChange,a=i.onInput,l=i.onBlur;i.onChangeText;var d=i.refKey,c=void 0===d?"ref":d,f=i.ref,p=o(i,rt),h=(void 0===t?{}:t).suppressRefError;P("getInputProps",void 0!==h&&h,c,w);var m,I=E.current.state,v={};p.disabled||((m={}).onInput=Y(s,a,(function(e){g({type:6,inputValue:e.target.value})})),m.onKeyDown=Y(r,(function(e){var t=re(e);t&&H[t]&&H[t](e)})),m.onBlur=Y(l,(function(){I.isOpen&&!R.current.isMouseDown&&g({type:7,selectItem:!0})})),v=m);return u(((n={})[c]=G(f,(function(e){w.current=e})),n.id=M.inputId,n["aria-autocomplete"]="list",n["aria-controls"]=M.menuId,n),I.isOpen&&I.highlightedIndex>-1&&{"aria-activedescendant":M.getItemId(I.highlightedIndex)},{"aria-labelledby":M.labelId,autoComplete:"off",value:I.inputValue},v,p)}),[g,H,E,R,P,M]),B=t.useCallback((function(e,t){var n,i=void 0===e?{}:e,r=i.refKey,s=void 0===r?"ref":r,a=i.ref,l=o(i,ot),d=(void 0===t?{}:t).suppressRefError;return P("getComboboxProps",void 0!==d&&d,s,C),u(((n={})[s]=G(a,(function(e){C.current=e})),n.role="combobox",n["aria-haspopup"]="listbox",n["aria-owns"]=M.menuId,n["aria-expanded"]=E.current.state.isOpen,n),l)}),[E,P,M]),L=t.useCallback((function(){g({type:12})}),[g]),_=t.useCallback((function(){g({type:14})}),[g]),j=t.useCallback((function(){g({type:13})}),[g]),U=t.useCallback((function(e){g({type:15,highlightedIndex:e})}),[g]),$=t.useCallback((function(e){g({type:16,selectedItem:e})}),[g]);return{getItemProps:F,getLabelProps:T,getMenuProps:V,getInputProps:A,getComboboxProps:B,getToggleButtonProps:N,toggleMenu:L,openMenu:j,closeMenu:_,setHighlightedIndex:U,setInputValue:t.useCallback((function(e){g({type:17,inputValue:e})}),[g]),selectItem:$,reset:t.useCallback((function(){g({type:18})}),[g]),highlightedIndex:I,isOpen:m,selectedItem:v,inputValue:y}}ut.stateChangeTypes=Je;var st={activeIndex:-1,selectedItems:[]};function at(e,t){return Pe(e,t,st)}function lt(e,t){return Re(e,t,st)}function dt(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}r.default.array,r.default.array,r.default.array,r.default.func,r.default.func,r.default.func,r.default.number,r.default.number,r.default.number,r.default.func,r.default.func,r.default.string,r.default.string,r.default.shape({addEventListener:r.default.func,removeEventListener:r.default.func,document:r.default.shape({getElementById:r.default.func,activeElement:r.default.any,body:r.default.any})});var ct={itemToString:Ke.itemToString,stateReducer:Ke.stateReducer,environment:Ke.environment,getA11yRemovalMessage:function(e){var t=e.removedSelectedItem;return(0,e.itemToString)(t)+" has been removed."},keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"},ft=W,pt=Object.freeze({__proto__:null,SelectedItemClick:0,SelectedItemKeyDownDelete:1,SelectedItemKeyDownBackspace:2,SelectedItemKeyDownNavigationNext:3,SelectedItemKeyDownNavigationPrevious:4,DropdownKeyDownNavigationPrevious:5,DropdownKeyDownBackspace:6,DropdownClick:7,FunctionAddSelectedItem:8,FunctionRemoveSelectedItem:9,FunctionSetSelectedItems:10,FunctionSetActiveIndex:11,FunctionReset:12});function ht(e,t){var n,i=t.type,r=t.index,o=t.props,s=t.selectedItem,a=e.activeIndex,l=e.selectedItems;switch(i){case 0:n={activeIndex:r};break;case 4:n={activeIndex:a-1<0?0:a-1};break;case 3:n={activeIndex:a+1>=l.length?-1:a+1};break;case 2:case 1:var d=a;1===l.length?d=-1:a===l.length-1&&(d=l.length-2),n=u({selectedItems:[].concat(l.slice(0,a),l.slice(a+1))},{activeIndex:d});break;case 5:n={activeIndex:l.length-1};break;case 6:n={selectedItems:l.slice(0,l.length-1)};break;case 8:n={selectedItems:[].concat(l,[s])};break;case 7:n={activeIndex:-1};break;case 9:var c=a,f=l.indexOf(s);1===l.length?c=-1:f===l.length-1&&(c=l.length-2),n=u({selectedItems:[].concat(l.slice(0,f),l.slice(f+1))},{activeIndex:c});break;case 10:n={selectedItems:t.selectedItems};break;case 11:n={activeIndex:t.activeIndex};break;case 12:n={activeIndex:lt(o,"activeIndex"),selectedItems:lt(o,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return u({},e,n)}var gt=["refKey","ref","onClick","onKeyDown","selectedItem","index"],mt=["refKey","ref","onKeyDown","onClick","preventKeyAction"];function It(e){void 0===e&&(e={}),ft(e,It);var n=u({},ct,e),i=n.getA11yRemovalMessage,r=n.itemToString,s=n.environment,a=n.keyNavigationNext,l=n.keyNavigationPrevious,d=De(ht,function(e){return{activeIndex:at(e,"activeIndex"),selectedItems:at(e,"selectedItems")}}(n),n),c=d[0],f=d[1],p=c.activeIndex,h=c.selectedItems,g=t.useRef(!0),m=t.useRef(null),I=t.useRef(h),v=t.useRef();v.current=[];var y=Oe({state:c,props:n});t.useEffect((function(){if(!g.current){if(h.length<I.current.length){var e=I.current.find((function(e){return h.indexOf(e)<0}));le(i({itemToString:r,resultCount:h.length,removedSelectedItem:e,activeIndex:p,activeSelectedItem:h[p]}),s.document)}I.current=h}}),[h.length]),t.useEffect((function(){g.current||(-1===p&&m.current?m.current.focus():v.current[p]&&v.current[p].focus())}),[p]),Be({isInitialMount:g.current,props:n,state:c});var x=Fe();t.useEffect((function(){g.current=!1}),[]);var b=t.useMemo((function(){var e;return(e={})[l]=function(){f({type:4})},e[a]=function(){f({type:3})},e.Delete=function(){f({type:1})},e.Backspace=function(){f({type:2})},e}),[f,a,l]),w=t.useMemo((function(){var e;return(e={})[l]=function(e){dt(e)&&f({type:5})},e.Backspace=function(e){dt(e)&&f({type:6})},e}),[f,l]);return{getSelectedItemProps:t.useCallback((function(e){var t,n=void 0===e?{}:e,i=n.refKey,r=void 0===i?"ref":i,s=n.ref,a=n.onClick,l=n.onKeyDown,d=n.selectedItem,c=n.index,p=o(n,gt),h=y.current.state;if(Ce(c,d,h.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");return u(((t={})[r]=G(s,(function(e){e&&v.current.push(e)})),t.tabIndex=c===h.activeIndex?0:-1,t.onClick=Y(a,(function(){f({type:0,index:c})})),t.onKeyDown=Y(l,(function(e){var t=re(e);t&&b[t]&&b[t](e)})),t),p)}),[f,y,b]),getDropdownProps:t.useCallback((function(e,t){var n,i=void 0===e?{}:e,r=i.refKey,s=void 0===r?"ref":r,a=i.ref,l=i.onKeyDown,d=i.onClick,c=i.preventKeyAction,p=void 0!==c&&c,h=o(i,mt),g=(void 0===t?{}:t).suppressRefError;return x("getDropdownProps",void 0!==g&&g,s,m),u(((n={})[s]=G(a,(function(e){e&&(m.current=e)})),n),!p&&{onKeyDown:Y(l,(function(e){var t=re(e);t&&w[t]&&w[t](e)})),onClick:Y(d,(function(){f({type:7})}))},h)}),[f,w,x]),addSelectedItem:t.useCallback((function(e){f({type:8,selectedItem:e})}),[f]),removeSelectedItem:t.useCallback((function(e){f({type:9,selectedItem:e})}),[f]),setSelectedItems:t.useCallback((function(e){f({type:10,selectedItems:e})}),[f]),setActiveIndex:t.useCallback((function(e){f({type:11,activeIndex:e})}),[f]),reset:t.useCallback((function(){f({type:12})}),[f]),selectedItems:h,activeIndex:p}}It.stateChangeTypes=pt,e.default=Ie,e.resetIdCounter=function(){U=0},e.useCombobox=ut,e.useMultipleSelection=It,e.useSelect=Ge,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","preact","prop-types"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Downshift={},e.preact,e.PropTypes)}(this,(function(e,t,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=i(n),s={},r=60103,u=60106,l=60107,d=60108,a=60114,c=60109,h=60110,p=60112,g=60113,f=60120,m=60115,I=60116,y=60121,v=60122,x=60117,b=60129,w=60131;if("function"==typeof Symbol&&Symbol.for){var S=Symbol.for;r=S("react.element"),u=S("react.portal"),l=S("react.fragment"),d=S("react.strict_mode"),a=S("react.profiler"),c=S("react.provider"),h=S("react.context"),p=S("react.forward_ref"),g=S("react.suspense"),f=S("react.suspense_list"),m=S("react.memo"),I=S("react.lazy"),y=S("react.block"),v=S("react.server.block"),x=S("react.fundamental"),b=S("react.debug_trace_mode"),w=S("react.legacy_hidden")}function C(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case l:case a:case d:case g:case f:return e;default:switch(e=e&&e.$$typeof){case h:case p:case I:case m:case c:return e;default:return t}}case u:return t}}}var k=c,M=r,E=p,O=l,D=I,R=m,K=u,H=a,P=d,T=g;function V(e){return"object"==typeof e&&null!=e&&1===e.nodeType}function F(e,t){return(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e}function N(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return F(n.overflowY,t)||F(n.overflowX,t)||function(e){var t=function(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}}(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)}(e)}return!1}function A(e,t,n,i,o,s,r,u){return s<e&&r>t||s>e&&r<t?0:s<=e&&u<=n||r>=t&&u>=n?s-e-i:r>t&&u<n||s<e&&u>n?r-t+o:0}s.ContextConsumer=h,s.ContextProvider=k,s.Element=M,s.ForwardRef=E,s.Fragment=O,s.Lazy=D,s.Memo=R,s.Portal=K,s.Profiler=H,s.StrictMode=P,s.Suspense=T,s.isAsyncMode=function(){return!1},s.isConcurrentMode=function(){return!1},s.isContextConsumer=function(e){return C(e)===h},s.isContextProvider=function(e){return C(e)===c},s.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},s.isForwardRef=function(e){return C(e)===p},s.isFragment=function(e){return C(e)===l},s.isLazy=function(e){return C(e)===I},s.isMemo=function(e){return C(e)===m},s.isPortal=function(e){return C(e)===u},s.isProfiler=function(e){return C(e)===a},s.isStrictMode=function(e){return C(e)===d},s.isSuspense=function(e){return C(e)===g},s.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===l||e===a||e===b||e===d||e===g||e===f||e===w||"object"==typeof e&&null!==e&&(e.$$typeof===I||e.$$typeof===m||e.$$typeof===c||e.$$typeof===h||e.$$typeof===p||e.$$typeof===x||e.$$typeof===y||e[0]===v)},s.typeOf=C;let B=0;function L(e){return"function"==typeof e?e:_}function _(){}function $(e,t){if(!e)return;const n=function(e,t){var n=window,i=t.scrollMode,o=t.block,s=t.inline,r=t.boundary,u=t.skipOverflowHiddenElements,l="function"==typeof r?r:function(e){return e!==r};if(!V(e))throw new TypeError("Invalid target");for(var d=document.scrollingElement||document.documentElement,a=[],c=e;V(c)&&l(c);){if((c=c.parentElement)===d){a.push(c);break}null!=c&&c===document.body&&N(c)&&!N(document.documentElement)||null!=c&&N(c,u)&&a.push(c)}for(var h=n.visualViewport?n.visualViewport.width:innerWidth,p=n.visualViewport?n.visualViewport.height:innerHeight,g=window.scrollX||pageXOffset,f=window.scrollY||pageYOffset,m=e.getBoundingClientRect(),I=m.height,y=m.width,v=m.top,x=m.right,b=m.bottom,w=m.left,S="start"===o||"nearest"===o?v:"end"===o?b:v+I/2,C="center"===s?w+y/2:"end"===s?x:w,k=[],M=0;M<a.length;M++){var E=a[M],O=E.getBoundingClientRect(),D=O.height,R=O.width,K=O.top,H=O.right,P=O.bottom,T=O.left;if("if-needed"===i&&v>=0&&w>=0&&b<=p&&x<=h&&v>=K&&b<=P&&w>=T&&x<=H)return k;var F=getComputedStyle(E),B=parseInt(F.borderLeftWidth,10),L=parseInt(F.borderTopWidth,10),_=parseInt(F.borderRightWidth,10),$=parseInt(F.borderBottomWidth,10),j=0,U=0,W="offsetWidth"in E?E.offsetWidth-E.clientWidth-B-_:0,z="offsetHeight"in E?E.offsetHeight-E.clientHeight-L-$:0;if(d===E)j="start"===o?S:"end"===o?S-p:"nearest"===o?A(f,f+p,p,L,$,f+S,f+S+I,I):S-p/2,U="start"===s?C:"center"===s?C-h/2:"end"===s?C-h:A(g,g+h,h,B,_,g+C,g+C+y,y),j=Math.max(0,j+f),U=Math.max(0,U+g);else{j="start"===o?S-K-L:"end"===o?S-P+$+z:"nearest"===o?A(K,P,D,L,$+z,S,S+I,I):S-(K+D/2)+z/2,U="start"===s?C-T-B:"center"===s?C-(T+R/2)+W/2:"end"===s?C-H+_+W:A(T,H,R,B,_+W,C,C+y,y);var q=E.scrollLeft,X=E.scrollTop;S+=X-(j=Math.max(0,Math.min(X+j,E.scrollHeight-D+z))),C+=q-(U=Math.max(0,Math.min(q+U,E.scrollWidth-R+W)))}k.push({el:E,top:j,left:U})}return k}(e,{boundary:t,block:"nearest",scrollMode:"if-needed"});n.forEach((e=>{let{el:t,top:n,left:i}=e;t.scrollTop=n,t.scrollLeft=i}))}function j(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function U(e,t){let n;function i(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,s=new Array(o),r=0;r<o;r++)s[r]=arguments[r];i(),n=setTimeout((()=>{n=null,e(...s)}),t)}return o.cancel=i,o}function W(){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((t=>(t&&t(e,...i),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault)))}}function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{t.forEach((t=>{"function"==typeof t?t(e):t&&(t.current=e)}))}}function q(){return String(B++)}function X(e){let{isOpen:t,resultCount:n,previousResultCount:i}=e;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 Y(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}const G=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function J(e){void 0===e&&(e={});const t={};return G.forEach((n=>{e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function Q(e,t){return Object.keys(e).reduce(((n,i)=>(n[i]=Z(t,i)?t[i]:e[i],n)),{})}function Z(e,t){return void 0!==e[t]}function ee(e){const{key:t,keyCode:n}=e;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function te(e,t,n,i,o){if(void 0===o&&(o=!0),0===n)return-1;const s=n-1;("number"!=typeof t||t<0||t>=n)&&(t=e>0?-1:s+1);let r=t+e;r<0?r=o?s:0:r>s&&(r=o?0:s);const u=ne(e,r,n,i,o);return-1===u?t>=n?-1:t:u}function ne(e,t,n,i,o){const s=i(t);if(!s||!s.hasAttribute("disabled"))return t;if(e>0){for(let e=t+1;e<n;e++)if(!i(e).hasAttribute("disabled"))return e}else for(let e=t-1;e>=0;e--)if(!i(e).hasAttribute("disabled"))return e;return o?e>0?ne(1,0,n,i,!1):ne(-1,n-1,n,i,!1):-1}function ie(e,t,n,i){return void 0===i&&(i=!0),t.some((t=>t&&(j(t,e,n)||i&&j(t,n.document.activeElement,n))))}const oe=U((e=>{re(e).textContent=""}),500);function se(e,t){const n=re(t);e&&(n.textContent=e,oe(t))}function re(e){void 0===e&&(e=document);let t=e.getElementById("a11y-status-message");return t||(t=e.createElement("div"),t.setAttribute("id","a11y-status-message"),t.setAttribute("role","status"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-relevant","additions text"),Object.assign(t.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),e.body.appendChild(t),t)}var ue=Object.freeze({__proto__:null,unknown:0,mouseUp:1,itemMouseEnter:2,keyDownArrowUp:3,keyDownArrowDown:4,keyDownEscape:5,keyDownEnter:6,keyDownHome:7,keyDownEnd:8,clickItem:9,blurInput:10,changeInput:11,keyDownSpaceButton:12,clickButton:13,blurButton:14,controlledPropUpdatedSelectedItem:15,touchEnd:16});const le=(()=>{class e extends t.Component{constructor(e){var t;super(e),t=this,this.id=this.props.id||"downshift-"+q(),this.menuId=this.props.menuId||this.id+"-menu",this.labelId=this.props.labelId||this.id+"-label",this.inputId=this.props.inputId||this.id+"-input",this.getItemId=this.props.getItemId||(e=>this.id+"-item-"+e),this.input=null,this.items=[],this.itemCount=null,this.previousResultCount=0,this.timeoutIds=[],this.internalSetTimeout=(e,t)=>{const n=setTimeout((()=>{this.timeoutIds=this.timeoutIds.filter((e=>e!==n)),e()}),t);this.timeoutIds.push(n)},this.setItemCount=e=>{this.itemCount=e},this.unsetItemCount=()=>{this.itemCount=null},this.setHighlightedIndex=function(e,n){void 0===e&&(e=t.props.defaultHighlightedIndex),void 0===n&&(n={}),n=J(n),t.internalSetState({highlightedIndex:e,...n})},this.clearSelection=e=>{this.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:this.props.defaultHighlightedIndex,isOpen:this.props.defaultIsOpen},e)},this.selectItem=(e,t,n)=>{t=J(t),this.internalSetState({isOpen:this.props.defaultIsOpen,highlightedIndex:this.props.defaultHighlightedIndex,selectedItem:e,inputValue:this.props.itemToString(e),...t},n)},this.selectItemAtIndex=(e,t,n)=>{const i=this.items[e];null!=i&&this.selectItem(i,t,n)},this.selectHighlightedItem=(e,t)=>this.selectItemAtIndex(this.getState().highlightedIndex,e,t),this.internalSetState=(e,t)=>{let n,i;const o={},s="function"==typeof e;return!s&&e.hasOwnProperty("inputValue")&&this.props.onInputValueChange(e.inputValue,{...this.getStateAndHelpers(),...e}),this.setState((t=>{t=this.getState(t);let r=s?e(t):e;r=this.props.stateReducer(t,r),n=r.hasOwnProperty("selectedItem");const u={};return n&&r.selectedItem!==t.selectedItem&&(i=r.selectedItem),r.type=r.type||0,Object.keys(r).forEach((e=>{t[e]!==r[e]&&(o[e]=r[e]),"type"!==e&&(r[e],Z(this.props,e)||(u[e]=r[e]))})),s&&r.hasOwnProperty("inputValue")&&this.props.onInputValueChange(r.inputValue,{...this.getStateAndHelpers(),...r}),u}),(()=>{L(t)();Object.keys(o).length>1&&this.props.onStateChange(o,this.getStateAndHelpers()),n&&this.props.onSelect(e.selectedItem,this.getStateAndHelpers()),void 0!==i&&this.props.onChange(i,this.getStateAndHelpers()),this.props.onUserAction(o,this.getStateAndHelpers())}))},this.rootRef=e=>this._rootNode=e,this.getRootProps=function(e,n){let{refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===n?{}:n;t.getRootProps.called=!0,t.getRootProps.refKey=i,t.getRootProps.suppressRefError=r;const{isOpen:u}=t.getState();return{[i]:z(o,t.rootRef),role:"combobox","aria-expanded":u,"aria-haspopup":"listbox","aria-owns":u?t.menuId:null,"aria-labelledby":t.labelId,...s}},this.keyDownHandlers={ArrowDown(e){if(e.preventDefault(),this.getState().isOpen){const t=e.shiftKey?5:1;this.moveHighlightedIndex(t,{type:4})}else this.internalSetState({isOpen:!0,type:4},(()=>{const e=this.getItemCount();if(e>0){const{highlightedIndex:t}=this.getState(),n=te(1,t,e,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(n,{type:4})}}))},ArrowUp(e){if(e.preventDefault(),this.getState().isOpen){const t=e.shiftKey?-5:-1;this.moveHighlightedIndex(t,{type:3})}else this.internalSetState({isOpen:!0,type:3},(()=>{const e=this.getItemCount();if(e>0){const{highlightedIndex:t}=this.getState(),n=te(-1,t,e,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(n,{type:3})}}))},Enter(e){if(229===e.which)return;const{isOpen:t,highlightedIndex:n}=this.getState();if(t&&null!=n){e.preventDefault();const t=this.items[n],i=this.getItemNodeFromIndex(n);if(null==t||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}},Escape(e){e.preventDefault(),this.reset({type:5,...!this.state.isOpen&&{selectedItem:null,inputValue:""}})}},this.buttonKeyDownHandlers={...this.keyDownHandlers," "(e){e.preventDefault(),this.toggleMenu({type:12})}},this.inputKeyDownHandlers={...this.keyDownHandlers,Home(e){const{isOpen:t}=this.getState();if(!t)return;e.preventDefault();const n=this.getItemCount();if(n<=0||!t)return;const i=ne(1,0,n,(e=>this.getItemNodeFromIndex(e)),!1);this.setHighlightedIndex(i,{type:7})},End(e){const{isOpen:t}=this.getState();if(!t)return;e.preventDefault();const n=this.getItemCount();if(n<=0||!t)return;const i=ne(-1,n-1,n,(e=>this.getItemNodeFromIndex(e)),!1);this.setHighlightedIndex(i,{type:8})}},this.getToggleButtonProps=function(e){let{onClick:n,onPress:i,onKeyDown:o,onKeyUp:s,onBlur:r,...u}=void 0===e?{}:e;const{isOpen:l}=t.getState(),d={onClick:W(n,t.buttonHandleClick),onKeyDown:W(o,t.buttonHandleKeyDown),onKeyUp:W(s,t.buttonHandleKeyUp),onBlur:W(r,t.buttonHandleBlur)};return{type:"button",role:"button","aria-label":l?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0,...u.disabled?{}:d,...u}},this.buttonHandleKeyUp=e=>{e.preventDefault()},this.buttonHandleKeyDown=e=>{const t=ee(e);this.buttonKeyDownHandlers[t]&&this.buttonKeyDownHandlers[t].call(this,e)},this.buttonHandleClick=e=>{e.preventDefault(),this.props.environment.document.activeElement===this.props.environment.document.body&&e.target.focus(),this.internalSetTimeout((()=>this.toggleMenu({type:13})))},this.buttonHandleBlur=e=>{const t=e.target;this.internalSetTimeout((()=>{this.isMouseDown||null!=this.props.environment.document.activeElement&&this.props.environment.document.activeElement.id===this.inputId||this.props.environment.document.activeElement===t||this.reset({type:14})}))},this.getLabelProps=e=>({htmlFor:this.inputId,id:this.labelId,...e}),this.getInputProps=function(e){let n,{onKeyDown:i,onBlur:o,onChange:s,onInput:r,onChangeText:u,...l}=void 0===e?{}:e,d={};n="onInput";const{inputValue:a,isOpen:c,highlightedIndex:h}=t.getState();return l.disabled||(d={onInput:W(s,r,t.inputHandleChange),onKeyDown:W(i,t.inputHandleKeyDown),onBlur:W(o,t.inputHandleBlur)}),{"aria-autocomplete":"list","aria-activedescendant":c&&"number"==typeof h&&h>=0?t.getItemId(h):null,"aria-controls":c?t.menuId:null,"aria-labelledby":t.labelId,autoComplete:"off",value:a,id:t.inputId,...d,...l}},this.inputHandleKeyDown=e=>{const t=ee(e);t&&this.inputKeyDownHandlers[t]&&this.inputKeyDownHandlers[t].call(this,e)},this.inputHandleChange=e=>{this.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:this.props.defaultHighlightedIndex})},this.inputHandleBlur=()=>{this.internalSetTimeout((()=>{const e=this.props.environment.document&&!!this.props.environment.document.activeElement&&!!this.props.environment.document.activeElement.dataset&&this.props.environment.document.activeElement.dataset.toggle&&this._rootNode&&this._rootNode.contains(this.props.environment.document.activeElement);this.isMouseDown||e||this.reset({type:10})}))},this.menuRef=e=>{this._menuNode=e},this.getMenuProps=function(e,n){let{refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===n?{}:n;return t.getMenuProps.called=!0,t.getMenuProps.refKey=i,t.getMenuProps.suppressRefError=r,{[i]:z(o,t.menuRef),role:"listbox","aria-labelledby":s&&s["aria-label"]?null:t.labelId,id:t.menuId,...s}},this.getItemProps=function(e){let{onMouseMove:n,onMouseDown:i,onClick:o,onPress:s,index:r,item:u,...l}=void 0===e?{}:e;void 0===r?(t.items.push(u),r=t.items.indexOf(u)):t.items[r]=u;const d=o,a={onMouseMove:W(n,(()=>{r!==t.getState().highlightedIndex&&(t.setHighlightedIndex(r,{type:2}),t.avoidScrolling=!0,t.internalSetTimeout((()=>t.avoidScrolling=!1),250))})),onMouseDown:W(i,(e=>{e.preventDefault()})),onClick:W(d,(()=>{t.selectItemAtIndex(r,{type:9})}))},c=l.disabled?{onMouseDown:a.onMouseDown}:a;return{id:t.getItemId(r),role:"option","aria-selected":t.getState().highlightedIndex===r,...c,...l}},this.clearItems=()=>{this.items=[]},this.reset=function(e,n){void 0===e&&(e={}),e=J(e),t.internalSetState((n=>{let{selectedItem:i}=n;return{isOpen:t.props.defaultIsOpen,highlightedIndex:t.props.defaultHighlightedIndex,inputValue:t.props.itemToString(i),...e}}),n)},this.toggleMenu=function(e,n){void 0===e&&(e={}),e=J(e),t.internalSetState((n=>{let{isOpen:i}=n;return{isOpen:!i,...i&&{highlightedIndex:t.props.defaultHighlightedIndex},...e}}),(()=>{const{isOpen:i,highlightedIndex:o}=t.getState();i&&t.getItemCount()>0&&"number"==typeof o&&t.setHighlightedIndex(o,e),L(n)()}))},this.openMenu=e=>{this.internalSetState({isOpen:!0},e)},this.closeMenu=e=>{this.internalSetState({isOpen:!1},e)},this.updateStatus=U((()=>{const e=this.getState(),t=this.items[e.highlightedIndex],n=this.getItemCount(),i=this.props.getA11yStatusMessage({itemToString:this.props.itemToString,previousResultCount:this.previousResultCount,resultCount:n,highlightedItem:t,...e});this.previousResultCount=n,se(i,this.props.environment.document)}),200);const{defaultHighlightedIndex:n,initialHighlightedIndex:i=n,defaultIsOpen:o,initialIsOpen:s=o,initialInputValue:r="",initialSelectedItem:u=null}=this.props,l=this.getState({highlightedIndex:i,isOpen:s,inputValue:r,selectedItem:u});null!=l.selectedItem&&void 0===this.props.initialInputValue&&(l.inputValue=this.props.itemToString(l.selectedItem)),this.state=l}internalClearTimeouts(){this.timeoutIds.forEach((e=>{clearTimeout(e)})),this.timeoutIds=[]}getState(e){return void 0===e&&(e=this.state),Q(e,this.props)}getItemCount(){let e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e}getItemNodeFromIndex(e){return this.props.environment.document.getElementById(this.getItemId(e))}scrollHighlightedItemIntoView(){{const e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)}}moveHighlightedIndex(e,t){const n=this.getItemCount(),{highlightedIndex:i}=this.getState();if(n>0){const o=te(e,i,n,(e=>this.getItemNodeFromIndex(e)));this.setHighlightedIndex(o,t)}}getStateAndHelpers(){const{highlightedIndex:e,inputValue:t,selectedItem:n,isOpen:i}=this.getState(),{itemToString:o}=this.props,{id:s}=this,{getRootProps:r,getToggleButtonProps:u,getLabelProps:l,getMenuProps:d,getInputProps:a,getItemProps:c,openMenu:h,closeMenu:p,toggleMenu:g,selectItem:f,selectItemAtIndex:m,selectHighlightedItem:I,setHighlightedIndex:y,clearSelection:v,clearItems:x,reset:b,setItemCount:w,unsetItemCount:S,internalSetState:C}=this;return{getRootProps:r,getToggleButtonProps:u,getLabelProps:l,getMenuProps:d,getInputProps:a,getItemProps:c,reset:b,openMenu:h,closeMenu:p,toggleMenu:g,selectItem:f,selectItemAtIndex:m,selectHighlightedItem:I,setHighlightedIndex:y,clearSelection:v,clearItems:x,setItemCount:w,unsetItemCount:S,setState:C,itemToString:o,id:s,highlightedIndex:e,inputValue:t,isOpen:i,selectedItem:n}}componentDidMount(){{const e=()=>{this.isMouseDown=!0},t=e=>{this.isMouseDown=!1;!ie(e.target,[this._rootNode,this._menuNode],this.props.environment)&&this.getState().isOpen&&this.reset({type:1},(()=>this.props.onOuterClick(this.getStateAndHelpers())))},n=()=>{this.isTouchMove=!1},i=()=>{this.isTouchMove=!0},o=e=>{const t=ie(e.target,[this._rootNode,this._menuNode],this.props.environment,!1);this.isTouchMove||t||!this.getState().isOpen||this.reset({type:16},(()=>this.props.onOuterClick(this.getStateAndHelpers())))},{environment:s}=this.props;s.addEventListener("mousedown",e),s.addEventListener("mouseup",t),s.addEventListener("touchstart",n),s.addEventListener("touchmove",i),s.addEventListener("touchend",o),this.cleanup=()=>{this.internalClearTimeouts(),this.updateStatus.cancel(),s.removeEventListener("mousedown",e),s.removeEventListener("mouseup",t),s.removeEventListener("touchstart",n),s.removeEventListener("touchmove",i),s.removeEventListener("touchend",o)}}}shouldScroll(e,t){const{highlightedIndex:n}=void 0===this.props.highlightedIndex?this.getState():this.props,{highlightedIndex:i}=void 0===t.highlightedIndex?e:t;return n&&this.getState().isOpen&&!e.isOpen||n!==i}componentDidUpdate(e,t){Z(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()}componentWillUnmount(){this.cleanup()}render(){const e=Y(this.props.children,_);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;const n=Y(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}}return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:X,itemToString:e=>null==e?"":String(e),onStateChange:_,onInputValueChange:_,onUserAction:_,onChange:_,onSelect:_,onOuterClick:_,selectedItemChanged:(e,t)=>e!==t,environment:"undefined"==typeof window?{}:window,stateReducer:(e,t)=>t,suppressRefError:!1,scrollIntoView:$},e.stateChangeTypes=ue,e})();var de=le;const ae={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function ce(e,t,n){const{props:i,type:o}=e,s={};Object.keys(t).forEach((i=>{!function(e,t,n,i){const{props:o,type:s}=t,r="on"+Ie(e)+"Change";o[r]&&void 0!==i[e]&&i[e]!==n[e]&&o[r]({type:s,...i})}(i,e,t,n),n[i]!==t[i]&&(s[i]=n[i])})),i.onStateChange&&Object.keys(s).length&&i.onStateChange({type:o,...s})}const he=U(((e,t)=>{se(e(),t)}),200),pe="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect;function ge(e){let{id:n="downshift-"+q(),labelId:i,menuId:o,getItemId:s,toggleButtonId:r,inputId:u}=e;return t.useRef({labelId:i||n+"-label",menuId:o||n+"-menu",getItemId:s||(e=>n+"-item-"+e),toggleButtonId:r||n+"-toggle-button",inputId:u||n+"-input"}).current}function fe(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function me(e){return/^\S{1}$/.test(e)}function Ie(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function ye(e){const n=t.useRef(e);return n.current=e,n}function ve(e,n,i){const o=t.useRef(),s=t.useRef(),r=t.useCallback(((t,n)=>{s.current=n,t=Q(t,n.props);const i=e(t,n);return n.props.stateReducer(t,{...n,changes:i})}),[e]),[u,l]=t.useReducer(r,n),d=ye(i),a=t.useCallback((e=>l({props:d.current,...e})),[d]),c=s.current;return t.useEffect((()=>{c&&o.current&&o.current!==u&&ce(c,Q(o.current,c.props),u),o.current=u}),[u,i,c]),[u,a]}function xe(e,t,n){const[i,o]=ve(e,t,n);return[Q(i,n),o]}const be={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11ySelectionMessage:function(e){const{selectedItem:t,itemToString:n}=e;return t?n(t)+" has been selected.":""},scrollIntoView:$,circularNavigation:!1,environment:"undefined"==typeof window?{}:window};function we(e,t,n){void 0===n&&(n=ae);const i=e["default"+Ie(t)];return void 0!==i?i:n[t]}function Se(e,t,n){void 0===n&&(n=ae);const i=e[t];if(void 0!==i)return i;const o=e["initial"+Ie(t)];return void 0!==o?o:we(e,t,n)}function Ce(e){const t=Se(e,"selectedItem"),n=Se(e,"isOpen"),i=Se(e,"highlightedIndex"),o=Se(e,"inputValue");return{highlightedIndex:i<0&&t&&n?e.items.indexOf(t):i,isOpen:n,selectedItem:t,inputValue:o}}function ke(e,t,n,i){const{items:o,initialHighlightedIndex:s,defaultHighlightedIndex:r}=e,{selectedItem:u,highlightedIndex:l}=t;return 0===o.length?-1:void 0!==s&&l===s?s:void 0!==r?r:u?0===n?o.indexOf(u):te(n,o.indexOf(u),o.length,i,!1):0===n?-1:n<0?o.length-1:0}function Me(e,n,i,o){const s=t.useRef({isMouseDown:!1,isTouchMove:!1});return t.useEffect((()=>{const t=()=>{s.current.isMouseDown=!0},r=t=>{s.current.isMouseDown=!1,e&&!ie(t.target,n.map((e=>e.current)),i)&&o()},u=()=>{s.current.isTouchMove=!1},l=()=>{s.current.isTouchMove=!0},d=t=>{!e||s.current.isTouchMove||ie(t.target,n.map((e=>e.current)),i,!1)||o()};return i.addEventListener("mousedown",t),i.addEventListener("mouseup",r),i.addEventListener("touchstart",u),i.addEventListener("touchmove",l),i.addEventListener("touchend",d),function(){i.removeEventListener("mousedown",t),i.removeEventListener("mouseup",r),i.removeEventListener("touchstart",u),i.removeEventListener("touchmove",l),i.removeEventListener("touchend",d)}}),[e,i]),s}let Ee=()=>_;function Oe(e,n,i){let{isInitialMount:o,highlightedIndex:s,items:r,environment:u,...l}=i;t.useEffect((()=>{o||he((()=>e({highlightedIndex:s,highlightedItem:r[s],resultCount:r.length,...l})),u.document)}),n)}function De(e){let{highlightedIndex:n,isOpen:i,itemRefs:o,getItemNodeFromIndex:s,menuElement:r,scrollIntoView:u}=e;const l=t.useRef(!0);return pe((()=>{n<0||!i||!Object.keys(o.current).length||(!1===l.current?l.current=!0:u(s(n),r))}),[n]),l}let Re=_;function Ke(e,t,n){const{type:i,props:o}=t;let s;switch(i){case n.ItemMouseMove:s={highlightedIndex:t.index};break;case n.MenuMouseLeave:s={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:s={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:ke(o,e,0)};break;case n.FunctionOpenMenu:s={isOpen:!0,highlightedIndex:ke(o,e,0)};break;case n.FunctionCloseMenu:s={isOpen:!1};break;case n.FunctionSetHighlightedIndex:s={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:s={inputValue:t.inputValue};break;case n.FunctionReset:s={highlightedIndex:we(o,"highlightedIndex"),isOpen:we(o,"isOpen"),selectedItem:we(o,"selectedItem"),inputValue:we(o,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return{...e,...s}}var He=function(){return He=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},He.apply(this,arguments)};function Pe(e){for(var t=e.keysSoFar,n=e.highlightedIndex,i=e.items,o=e.itemToString,s=e.getItemNodeFromIndex,r=t.toLowerCase(),u=0;u<i.length;u++){var l=(u+n+1)%i.length,d=i[l];if(void 0!==d&&o(d).toLowerCase().startsWith(r)){var a=s(l);if(!(null==a?void 0:a.hasAttribute("disabled")))return l}}return n}o.default.array.isRequired,o.default.func,o.default.func,o.default.func,o.default.bool,o.default.number,o.default.number,o.default.number,o.default.bool,o.default.bool,o.default.bool,o.default.any,o.default.any,o.default.any,o.default.string,o.default.string,o.default.string,o.default.func,o.default.string,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});var Te=He(He({},be),{getA11yStatusMessage:function(e){var t=e.isOpen,n=e.resultCount,i=e.previousResultCount;return t?n?n!==i?"".concat(n," result").concat(1===n?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}}),Ve=_;var Fe=Object.freeze({__proto__:null,MenuKeyDownArrowDown:0,MenuKeyDownArrowUp:1,MenuKeyDownEscape:2,MenuKeyDownHome:3,MenuKeyDownEnd:4,MenuKeyDownEnter:5,MenuKeyDownSpaceButton:6,MenuKeyDownCharacter:7,MenuBlur:8,MenuMouseLeave:9,ItemMouseMove:10,ItemClick:11,ToggleButtonClick:12,ToggleButtonKeyDownArrowDown:13,ToggleButtonKeyDownArrowUp:14,ToggleButtonKeyDownCharacter:15,FunctionToggleMenu:16,FunctionOpenMenu:17,FunctionCloseMenu:18,FunctionSetHighlightedIndex:19,FunctionSelectItem:20,FunctionSetInputValue:21,FunctionReset:22});function Ne(e,t){const{type:n,props:i,shiftKey:o}=t;let s;switch(n){case 11:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),selectedItem:i.items[t.index]};break;case 15:{const n=t.key,o=""+e.inputValue+n,r=Pe({keysSoFar:o,highlightedIndex:e.selectedItem?i.items.indexOf(e.selectedItem):-1,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});s={inputValue:o,...r>=0&&{selectedItem:i.items[r]}}}break;case 13:s={highlightedIndex:ke(i,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case 14:s={highlightedIndex:ke(i,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case 5:case 6:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),...e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]}};break;case 3:s={highlightedIndex:ne(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:s={highlightedIndex:ne(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 2:case 8:s={isOpen:!1,highlightedIndex:-1};break;case 7:{const n=t.key,o=""+e.inputValue+n,r=Pe({keysSoFar:o,highlightedIndex:e.highlightedIndex,items:i.items,itemToString:i.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});s={inputValue:o,...r>=0&&{highlightedIndex:r}}}break;case 0:s={highlightedIndex:te(o?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 1:s={highlightedIndex:te(o?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 20:s={selectedItem:t.selectedItem};break;default:return Ke(e,t,Fe)}return{...e,...s}}function Ae(e){void 0===e&&(e={}),Ve();const n={...Te,...e},{items:i,scrollIntoView:o,environment:s,initialIsOpen:r,defaultIsOpen:u,itemToString:l,getA11ySelectionMessage:d,getA11yStatusMessage:a}=n,c=Ce(n),[h,p]=xe(Ne,c,n),{isOpen:g,highlightedIndex:f,selectedItem:m,inputValue:I}=h,y=t.useRef(null),v=t.useRef(null),x=t.useRef({}),b=t.useRef(!0),w=t.useRef(null),S=ge(n),C=t.useRef(),k=t.useRef(!0),M=ye({state:h,props:n}),E=t.useCallback((e=>x.current[S.getItemId(e)]),[S]);Oe(a,[g,f,I,i],{isInitialMount:k.current,previousResultCount:C.current,items:i,environment:s,itemToString:l,...h}),Oe(d,[m],{isInitialMount:k.current,previousResultCount:C.current,items:i,environment:s,itemToString:l,...h});const O=De({menuElement:v.current,highlightedIndex:f,isOpen:g,itemRefs:x,scrollIntoView:o,getItemNodeFromIndex:E});t.useEffect((()=>(w.current=U((e=>{e({type:21,inputValue:""})}),500),()=>{w.current.cancel()})),[]),t.useEffect((()=>{I&&w.current(p)}),[p,I]),Re({isInitialMount:k.current,props:n,state:h}),t.useEffect((()=>{k.current?(r||u||g)&&v.current&&v.current.focus():g?v.current&&v.current.focus():s.document.activeElement===v.current&&y.current&&(b.current=!1,y.current.focus())}),[g]),t.useEffect((()=>{k.current||(C.current=i.length)}));const D=Me(g,[v,y],s,(()=>{p({type:8})})),R=Ee();t.useEffect((()=>{k.current=!1}),[]),t.useEffect((()=>{g||(x.current={})}),[g]);const K=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:13,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:14,getItemNodeFromIndex:E,shiftKey:e.shiftKey})}})),[p,E]),H=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:0,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:1,getItemNodeFromIndex:E,shiftKey:e.shiftKey})},Home(e){e.preventDefault(),p({type:3,getItemNodeFromIndex:E})},End(e){e.preventDefault(),p({type:4,getItemNodeFromIndex:E})},Escape(){p({type:2})},Enter(e){e.preventDefault(),p({type:5})}," "(e){e.preventDefault(),p({type:6})}})),[p,E]),P=t.useCallback((()=>{p({type:16})}),[p]),T=t.useCallback((()=>{p({type:18})}),[p]),V=t.useCallback((()=>{p({type:17})}),[p]),F=t.useCallback((e=>{p({type:19,highlightedIndex:e})}),[p]),N=t.useCallback((e=>{p({type:20,selectedItem:e})}),[p]),A=t.useCallback((()=>{p({type:22})}),[p]),B=t.useCallback((e=>{p({type:21,inputValue:e})}),[p]),L=t.useCallback((e=>({id:S.labelId,htmlFor:S.toggleButtonId,...e})),[S]),_=t.useCallback((function(e,t){let{onMouseLeave:n,refKey:i="ref",onKeyDown:o,onBlur:s,ref:r,...u}=void 0===e?{}:e,{suppressRefError:l=!1}=void 0===t?{}:t;const d=M.current.state;return R("getMenuProps",l,i,v),{[i]:z(r,(e=>{v.current=e})),id:S.menuId,role:"listbox","aria-labelledby":S.labelId,tabIndex:-1,...d.isOpen&&d.highlightedIndex>-1&&{"aria-activedescendant":S.getItemId(d.highlightedIndex)},onMouseLeave:W(n,(()=>{p({type:9})})),onKeyDown:W(o,(e=>{const t=ee(e);t&&H[t]?H[t](e):me(t)&&p({type:7,key:t,getItemNodeFromIndex:E})})),onBlur:W(s,(()=>{if(!1===b.current)return void(b.current=!0);!D.current.isMouseDown&&p({type:8})})),...u}}),[p,M,H,D,R,S,E]);return{getToggleButtonProps:t.useCallback((function(e,t){let{onClick:n,onKeyDown:i,refKey:o="ref",ref:s,...r}=void 0===e?{}:e,{suppressRefError:u=!1}=void 0===t?{}:t;const l=()=>{p({type:12})},d=e=>{const t=ee(e);t&&K[t]?K[t](e):me(t)&&p({type:15,key:t,getItemNodeFromIndex:E})},a={[o]:z(s,(e=>{y.current=e})),id:S.toggleButtonId,"aria-haspopup":"listbox","aria-expanded":M.current.state.isOpen,"aria-labelledby":S.labelId+" "+S.toggleButtonId,...r};return r.disabled||(a.onClick=W(n,l),a.onKeyDown=W(i,d)),R("getToggleButtonProps",u,o,y),a}),[p,M,K,R,S,E]),getLabelProps:L,getMenuProps:_,getItemProps:t.useCallback((function(e){let{item:t,index:n,onMouseMove:i,onClick:o,refKey:s="ref",ref:r,...u}=void 0===e?{}:e;const{state:l,props:d}=M.current,a=()=>{n!==l.highlightedIndex&&(O.current=!1,p({type:10,index:n}))},c=()=>{p({type:11,index:n})},h=fe(n,t,d.items);if(h<0)throw new Error("Pass either item or item index in getItemProps!");const g={role:"option","aria-selected":""+(h===l.highlightedIndex),id:S.getItemId(h),[s]:z(r,(e=>{e&&(x.current[S.getItemId(h)]=e)})),...u};return u.disabled||(g.onMouseMove=W(i,a),g.onClick=W(o,c)),g}),[p,M,O,S]),toggleMenu:P,openMenu:V,closeMenu:T,setHighlightedIndex:F,selectItem:N,reset:A,setInputValue:B,highlightedIndex:f,isOpen:g,selectedItem:m,inputValue:I}}Ae.stateChangeTypes=Fe;var Be=Object.freeze({__proto__:null,InputKeyDownArrowDown:0,InputKeyDownArrowUp:1,InputKeyDownEscape:2,InputKeyDownHome:3,InputKeyDownEnd:4,InputKeyDownEnter:5,InputChange:6,InputBlur:7,MenuMouseLeave:8,ItemMouseMove:9,ItemClick:10,ToggleButtonClick:11,FunctionToggleMenu:12,FunctionOpenMenu:13,FunctionCloseMenu:14,FunctionSetHighlightedIndex:15,FunctionSelectItem:16,FunctionSetInputValue:17,FunctionReset:18,ControlledPropUpdatedSelectedItem:19});o.default.array.isRequired,o.default.func,o.default.func,o.default.func,o.default.bool,o.default.number,o.default.number,o.default.number,o.default.bool,o.default.bool,o.default.bool,o.default.any,o.default.any,o.default.any,o.default.string,o.default.string,o.default.string,o.default.string,o.default.string,o.default.string,o.default.func,o.default.string,o.default.string,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.func,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});let Le=_;const _e={...be,getA11yStatusMessage:X,circularNavigation:!0};function $e(e,t){const{type:n,props:i,shiftKey:o}=t;let s;switch(n){case 10:s={isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),selectedItem:i.items[t.index],inputValue:i.itemToString(i.items[t.index])};break;case 0:s=e.isOpen?{highlightedIndex:te(o?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ke(i,e,1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 1:s=e.isOpen?{highlightedIndex:te(o?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ke(i,e,-1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 5:s={...e.isOpen&&e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex],isOpen:we(i,"isOpen"),highlightedIndex:we(i,"highlightedIndex"),inputValue:i.itemToString(i.items[e.highlightedIndex])}};break;case 2:s={isOpen:!1,highlightedIndex:-1,...!e.isOpen&&{selectedItem:null,inputValue:""}};break;case 3:s={highlightedIndex:ne(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:s={highlightedIndex:ne(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 7:s={isOpen:!1,highlightedIndex:-1,...e.highlightedIndex>=0&&t.selectItem&&{selectedItem:i.items[e.highlightedIndex],inputValue:i.itemToString(i.items[e.highlightedIndex])}};break;case 6:s={isOpen:!0,highlightedIndex:we(i,"highlightedIndex"),inputValue:t.inputValue};break;case 16:s={selectedItem:t.selectedItem,inputValue:i.itemToString(t.selectedItem)};break;case 19:s={inputValue:t.inputValue};break;default:return Ke(e,t,Be)}return{...e,...s}}function je(e){void 0===e&&(e={}),Le();const n={..._e,...e},{initialIsOpen:i,defaultIsOpen:o,items:s,scrollIntoView:r,environment:u,getA11yStatusMessage:l,getA11ySelectionMessage:d,itemToString:a}=n,c=function(e){const t=Ce(e),{selectedItem:n}=t;let{inputValue:i}=t;return""===i&&n&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(i=e.itemToString(n)),{...t,inputValue:i}}(n),[h,p]=function(e,n,i){const o=t.useRef(),[s,r]=ve(e,n,i);return t.useEffect((()=>{Z(i,"selectedItem")&&(o.current!==i.selectedItem&&r({type:19,inputValue:i.itemToString(i.selectedItem)}),o.current=s.selectedItem===o.current?i.selectedItem:s.selectedItem)})),[Q(s,i),r]}($e,c,n),{isOpen:g,highlightedIndex:f,selectedItem:m,inputValue:I}=h,y=t.useRef(null),v=t.useRef({}),x=t.useRef(null),b=t.useRef(null),w=t.useRef(null),S=t.useRef(!0),C=ge(n),k=t.useRef(),M=ye({state:h,props:n}),E=t.useCallback((e=>v.current[C.getItemId(e)]),[C]);Oe(l,[g,f,I,s],{isInitialMount:S.current,previousResultCount:k.current,items:s,environment:u,itemToString:a,...h}),Oe(d,[m],{isInitialMount:S.current,previousResultCount:k.current,items:s,environment:u,itemToString:a,...h});const O=De({menuElement:y.current,highlightedIndex:f,isOpen:g,itemRefs:v,scrollIntoView:r,getItemNodeFromIndex:E});Re({isInitialMount:S.current,props:n,state:h}),t.useEffect((()=>{(i||o||g)&&x.current&&x.current.focus()}),[]),t.useEffect((()=>{S.current||(k.current=s.length)}));const D=Me(g,[w,y,b],u,(()=>{p({type:7,selectItem:!1})})),R=Ee();t.useEffect((()=>{S.current=!1}),[]),t.useEffect((()=>{g||(v.current={})}),[g]);const K=t.useMemo((()=>({ArrowDown(e){e.preventDefault(),p({type:0,shiftKey:e.shiftKey,getItemNodeFromIndex:E})},ArrowUp(e){e.preventDefault(),p({type:1,shiftKey:e.shiftKey,getItemNodeFromIndex:E})},Home(e){M.current.state.isOpen&&(e.preventDefault(),p({type:3,getItemNodeFromIndex:E}))},End(e){M.current.state.isOpen&&(e.preventDefault(),p({type:4,getItemNodeFromIndex:E}))},Escape(){const e=M.current.state;(e.isOpen||e.inputValue||e.selectedItem||e.highlightedIndex>-1)&&p({type:2})},Enter(e){const t=M.current.state;!t.isOpen||t.highlightedIndex<0||229===e.which||(e.preventDefault(),p({type:5,getItemNodeFromIndex:E}))}})),[p,M,E]),H=t.useCallback((e=>({id:C.labelId,htmlFor:C.inputId,...e})),[C]),P=t.useCallback((function(e,t){let{onMouseLeave:n,refKey:i="ref",ref:o,...s}=void 0===e?{}:e,{suppressRefError:r=!1}=void 0===t?{}:t;return R("getMenuProps",r,i,y),{[i]:z(o,(e=>{y.current=e})),id:C.menuId,role:"listbox","aria-labelledby":C.labelId,onMouseLeave:W(n,(()=>{p({type:8})})),...s}}),[p,R,C]),T=t.useCallback((function(e){let{item:t,index:n,refKey:i="ref",ref:o,onMouseMove:s,onClick:r,onPress:u,...l}=void 0===e?{}:e;const{props:d,state:a}=M.current,c=fe(n,t,d.items);if(c<0)throw new Error("Pass either item or item index in getItemProps!");const h=r;return{[i]:z(o,(e=>{e&&(v.current[C.getItemId(c)]=e)})),role:"option","aria-selected":""+(c===a.highlightedIndex),id:C.getItemId(c),...!l.disabled&&{onMouseMove:W(s,(()=>{n!==a.highlightedIndex&&(O.current=!1,p({type:9,index:n}))})),onClick:W(h,(()=>{p({type:10,index:n}),x.current&&x.current.focus()}))},...l}}),[p,M,O,C]),V=t.useCallback((function(e){let{onClick:t,onPress:n,refKey:i="ref",ref:o,...s}=void 0===e?{}:e;return{[i]:z(o,(e=>{b.current=e})),id:C.toggleButtonId,tabIndex:-1,...!s.disabled&&{onClick:W(t,(()=>{p({type:11}),!M.current.state.isOpen&&x.current&&x.current.focus()}))},...s}}),[p,M,C]),F=t.useCallback((function(e,t){let{onKeyDown:n,onChange:i,onInput:o,onBlur:s,onChangeText:r,refKey:u="ref",ref:l,...d}=void 0===e?{}:e,{suppressRefError:a=!1}=void 0===t?{}:t;R("getInputProps",a,u,x);const c=M.current.state,h=e=>{const t=ee(e);t&&K[t]&&K[t](e)},g=e=>{p({type:6,inputValue:e.target.value})},f=()=>{c.isOpen&&!D.current.isMouseDown&&p({type:7,selectItem:!0})};let m={};return d.disabled||(m={onInput:W(i,o,g),onKeyDown:W(n,h),onBlur:W(s,f)}),{[u]:z(l,(e=>{x.current=e})),id:C.inputId,"aria-autocomplete":"list","aria-controls":C.menuId,...c.isOpen&&c.highlightedIndex>-1&&{"aria-activedescendant":C.getItemId(c.highlightedIndex)},"aria-labelledby":C.labelId,autoComplete:"off",value:c.inputValue,...m,...d}}),[p,K,M,D,R,C]),N=t.useCallback((function(e,t){let{refKey:n="ref",ref:i,...o}=void 0===e?{}:e,{suppressRefError:s=!1}=void 0===t?{}:t;return R("getComboboxProps",s,n,w),{[n]:z(i,(e=>{w.current=e})),role:"combobox","aria-haspopup":"listbox","aria-owns":C.menuId,"aria-expanded":M.current.state.isOpen,...o}}),[M,R,C]),A=t.useCallback((()=>{p({type:12})}),[p]),B=t.useCallback((()=>{p({type:14})}),[p]),L=t.useCallback((()=>{p({type:13})}),[p]),_=t.useCallback((e=>{p({type:15,highlightedIndex:e})}),[p]),$=t.useCallback((e=>{p({type:16,selectedItem:e})}),[p]);return{getItemProps:T,getLabelProps:H,getMenuProps:P,getInputProps:F,getComboboxProps:N,getToggleButtonProps:V,toggleMenu:A,openMenu:L,closeMenu:B,setHighlightedIndex:_,setInputValue:t.useCallback((e=>{p({type:17,inputValue:e})}),[p]),selectItem:$,reset:t.useCallback((()=>{p({type:18})}),[p]),highlightedIndex:f,isOpen:g,selectedItem:m,inputValue:I}}je.stateChangeTypes=Be;const Ue={activeIndex:-1,selectedItems:[]};function We(e,t){return Se(e,t,Ue)}function ze(e,t){return we(e,t,Ue)}function qe(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;const t=e.target;return!(t instanceof HTMLInputElement&&""!==t.value)||0===t.selectionStart&&0===t.selectionEnd}o.default.array,o.default.array,o.default.array,o.default.func,o.default.func,o.default.func,o.default.number,o.default.number,o.default.number,o.default.func,o.default.func,o.default.string,o.default.string,o.default.shape({addEventListener:o.default.func,removeEventListener:o.default.func,document:o.default.shape({getElementById:o.default.func,activeElement:o.default.any,body:o.default.any})});const Xe={itemToString:be.itemToString,stateReducer:be.stateReducer,environment:be.environment,getA11yRemovalMessage:function(e){const{removedSelectedItem:t,itemToString:n}=e;return n(t)+" has been removed."},keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"};let Ye=_;var Ge=Object.freeze({__proto__:null,SelectedItemClick:0,SelectedItemKeyDownDelete:1,SelectedItemKeyDownBackspace:2,SelectedItemKeyDownNavigationNext:3,SelectedItemKeyDownNavigationPrevious:4,DropdownKeyDownNavigationPrevious:5,DropdownKeyDownBackspace:6,DropdownClick:7,FunctionAddSelectedItem:8,FunctionRemoveSelectedItem:9,FunctionSetSelectedItems:10,FunctionSetActiveIndex:11,FunctionReset:12});function Je(e,t){const{type:n,index:i,props:o,selectedItem:s}=t,{activeIndex:r,selectedItems:u}=e;let l;switch(n){case 0:l={activeIndex:i};break;case 4:l={activeIndex:r-1<0?0:r-1};break;case 3:l={activeIndex:r+1>=u.length?-1:r+1};break;case 2:case 1:{let e=r;1===u.length?e=-1:r===u.length-1&&(e=u.length-2),l={selectedItems:[...u.slice(0,r),...u.slice(r+1)],activeIndex:e};break}case 5:l={activeIndex:u.length-1};break;case 6:l={selectedItems:u.slice(0,u.length-1)};break;case 8:l={selectedItems:[...u,s]};break;case 7:l={activeIndex:-1};break;case 9:{let e=r;const t=u.indexOf(s);t>=0&&(1===u.length?e=-1:t===u.length-1&&(e=u.length-2),l={selectedItems:[...u.slice(0,t),...u.slice(t+1)],activeIndex:e});break}case 10:{const{selectedItems:e}=t;l={selectedItems:e};break}case 11:{const{activeIndex:e}=t;l={activeIndex:e};break}case 12:l={activeIndex:ze(o,"activeIndex"),selectedItems:ze(o,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return{...e,...l}}function Qe(e){void 0===e&&(e={}),Ye();const n={...Xe,...e},{getA11yRemovalMessage:i,itemToString:o,environment:s,keyNavigationNext:r,keyNavigationPrevious:u}=n,[l,d]=xe(Je,function(e){return{activeIndex:We(e,"activeIndex"),selectedItems:We(e,"selectedItems")}}(n),n),{activeIndex:a,selectedItems:c}=l,h=t.useRef(!0),p=t.useRef(null),g=t.useRef(c),f=t.useRef();f.current=[];const m=ye({state:l,props:n});t.useEffect((()=>{if(!h.current){if(c.length<g.current.length){const e=g.current.find((e=>c.indexOf(e)<0));se(i({itemToString:o,resultCount:c.length,removedSelectedItem:e,activeIndex:a,activeSelectedItem:c[a]}),s.document)}g.current=c}}),[c.length]),t.useEffect((()=>{h.current||(-1===a&&p.current?p.current.focus():f.current[a]&&f.current[a].focus())}),[a]),Re({isInitialMount:h.current,props:n,state:l});const I=Ee();t.useEffect((()=>{h.current=!1}),[]);const y=t.useMemo((()=>({[u](){d({type:4})},[r](){d({type:3})},Delete(){d({type:1})},Backspace(){d({type:2})}})),[d,r,u]),v=t.useMemo((()=>({[u](e){qe(e)&&d({type:5})},Backspace(e){qe(e)&&d({type:6})}})),[d,u]);return{getSelectedItemProps:t.useCallback((function(e){let{refKey:t="ref",ref:n,onClick:i,onKeyDown:o,selectedItem:s,index:r,...u}=void 0===e?{}:e;const{state:l}=m.current;if(fe(r,s,l.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");return{[t]:z(n,(e=>{e&&f.current.push(e)})),tabIndex:r===l.activeIndex?0:-1,onClick:W(i,(()=>{d({type:0,index:r})})),onKeyDown:W(o,(e=>{const t=ee(e);t&&y[t]&&y[t](e)})),...u}}),[d,m,y]),getDropdownProps:t.useCallback((function(e,t){let{refKey:n="ref",ref:i,onKeyDown:o,onClick:s,preventKeyAction:r=!1,...u}=void 0===e?{}:e,{suppressRefError:l=!1}=void 0===t?{}:t;return I("getDropdownProps",l,n,p),{[n]:z(i,(e=>{e&&(p.current=e)})),...!r&&{onKeyDown:W(o,(e=>{const t=ee(e);t&&v[t]&&v[t](e)})),onClick:W(s,(()=>{d({type:7})}))},...u}}),[d,v,I]),addSelectedItem:t.useCallback((e=>{d({type:8,selectedItem:e})}),[d]),removeSelectedItem:t.useCallback((e=>{d({type:9,selectedItem:e})}),[d]),setSelectedItems:t.useCallback((e=>{d({type:10,selectedItems:e})}),[d]),setActiveIndex:t.useCallback((e=>{d({type:11,activeIndex:e})}),[d]),reset:t.useCallback((()=>{d({type:12})}),[d]),selectedItems:c,activeIndex:a}}Qe.stateChangeTypes=Ge,e.default=de,e.resetIdCounter=function(){B=0},e.useCombobox=je,e.useMultipleSelection=Qe,e.useSelect=Ae,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
24
2
|
//# sourceMappingURL=downshift.umd.min.js.map
|