@constructor-io/constructorio-ui-autocomplete 1.8.1 → 1.8.2
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/dist/constructorio-ui-autocomplete-bundled.js +1 -1
- package/lib/.DS_Store +0 -0
- package/lib/cjs/components/Autocomplete/.DS_Store +0 -0
- package/lib/cjs/hooks/useCioAutocomplete.js +21 -3
- package/lib/cjs/hooks/useDownShift.js +12 -6
- package/lib/mjs/hooks/useCioAutocomplete.js +21 -3
- package/lib/mjs/hooks/useDownShift.js +12 -6
- package/package.json +1 -1
|
@@ -40,4 +40,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
40
40
|
*
|
|
41
41
|
* This source code is licensed under the MIT license found in the
|
|
42
42
|
* LICENSE file in the root directory of this source tree.
|
|
43
|
-
*/var ko=60103,So=60106,qr=60107,Hr=60108,$r=60114,Vr=60109,br=60110,Wr=60112,Kr=60113,Ss=60120,Qr=60115,Gr=60116,Xd=60121,Yd=60122,Jd=60117,Zd=60129,ep=60131;if(typeof Symbol=="function"&&Symbol.for){var ve=Symbol.for;ko=ve("react.element"),So=ve("react.portal"),qr=ve("react.fragment"),Hr=ve("react.strict_mode"),$r=ve("react.profiler"),Vr=ve("react.provider"),br=ve("react.context"),Wr=ve("react.forward_ref"),Kr=ve("react.suspense"),Ss=ve("react.suspense_list"),Qr=ve("react.memo"),Gr=ve("react.lazy"),Xd=ve("react.block"),Yd=ve("react.server.block"),Jd=ve("react.fundamental"),Zd=ve("react.debug_trace_mode"),ep=ve("react.legacy_hidden")}function ot(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case ko:switch(e=e.type,e){case qr:case $r:case Hr:case Kr:case Ss:return e;default:switch(e=e&&e.$$typeof,e){case br:case Wr:case Gr:case Qr:case Vr:return e;default:return t}}case So:return t}}}var Gm=Vr,Xm=ko,Ym=Wr,Jm=qr,Zm=Gr,eg=Qr,tg=So,ng=$r,rg=Hr,ig=Kr;J.ContextConsumer=br;J.ContextProvider=Gm;J.Element=Xm;J.ForwardRef=Ym;J.Fragment=Jm;J.Lazy=Zm;J.Memo=eg;J.Portal=tg;J.Profiler=ng;J.StrictMode=rg;J.Suspense=ig;J.isAsyncMode=function(){return!1};J.isConcurrentMode=function(){return!1};J.isContextConsumer=function(e){return ot(e)===br};J.isContextProvider=function(e){return ot(e)===Vr};J.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===ko};J.isForwardRef=function(e){return ot(e)===Wr};J.isFragment=function(e){return ot(e)===qr};J.isLazy=function(e){return ot(e)===Gr};J.isMemo=function(e){return ot(e)===Qr};J.isPortal=function(e){return ot(e)===So};J.isProfiler=function(e){return ot(e)===$r};J.isStrictMode=function(e){return ot(e)===Hr};J.isSuspense=function(e){return ot(e)===Kr};J.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===qr||e===$r||e===Zd||e===Hr||e===Kr||e===Ss||e===ep||typeof e=="object"&&e!==null&&(e.$$typeof===Gr||e.$$typeof===Qr||e.$$typeof===Vr||e.$$typeof===br||e.$$typeof===Wr||e.$$typeof===Jd||e.$$typeof===Xd||e[0]===Yd)};J.typeOf=ot;let Ec=e=>typeof e=="object"&&e!=null&&e.nodeType===1,xc=(e,t)=>(!t||e!=="hidden")&&e!=="visible"&&e!=="clip",Ol=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let n=getComputedStyle(e,null);return xc(n.overflowY,t)||xc(n.overflowX,t)||(r=>{let i=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(r);return!!i&&(i.clientHeight<r.scrollHeight||i.clientWidth<r.scrollWidth)})(e)}return!1},gi=(e,t,n,r,i,o,l,u)=>o<e&&l>t||o>e&&l<t?0:o<=e&&u<=n||l>=t&&u>=n?o-e-r:l>t&&u<n||o<e&&u>n?l-t+i:0,og=e=>{let t=e.parentElement;return t??(e.getRootNode().host||null)};var lg=(e,t)=>{var n,r,i,o,l,u;if(typeof document>"u")return[];let{scrollMode:s,block:a,inline:m,boundary:y,skipOverflowHiddenElements:S}=t,C=typeof y=="function"?y:q=>q!==y;if(!Ec(e))throw new TypeError("Invalid target");let _=document.scrollingElement||document.documentElement,p=[],x=e;for(;Ec(x)&&C(x);){if(x=og(x),x===_){p.push(x);break}x!=null&&x===document.body&&Ol(x)&&!Ol(document.documentElement)||x!=null&&Ol(x,S)&&p.push(x)}let f=(r=(n=window.visualViewport)==null?void 0:n.width)!=null?r:innerWidth,c=(o=(i=window.visualViewport)==null?void 0:i.height)!=null?o:innerHeight,d=(l=window.scrollX)!=null?l:pageXOffset,h=(u=window.scrollY)!=null?u:pageYOffset,{height:w,width:k,top:g,right:v,bottom:T,left:E}=e.getBoundingClientRect(),O=a==="start"||a==="nearest"?g:a==="end"?T:g+w/2,P=m==="center"?E+k/2:m==="end"?v:E,L=[];for(let q=0;q<p.length;q++){let $=p[q],{height:b,width:R,top:I,right:N,bottom:M,left:U}=$.getBoundingClientRect();if(s==="if-needed"&&g>=0&&E>=0&&T<=c&&v<=f&&g>=I&&T<=M&&E>=U&&v<=N)return L;let B=getComputedStyle($),we=parseInt(B.borderLeftWidth,10),_e=parseInt(B.borderTopWidth,10),re=parseInt(B.borderRightWidth,10),ce=parseInt(B.borderBottomWidth,10),H=0,j=0,V="offsetWidth"in $?$.offsetWidth-$.clientWidth-we-re:0,G="offsetHeight"in $?$.offsetHeight-$.clientHeight-_e-ce:0,Qe="offsetWidth"in $?$.offsetWidth===0?0:R/$.offsetWidth:0,Oe="offsetHeight"in $?$.offsetHeight===0?0:b/$.offsetHeight:0;if(_===$)H=a==="start"?O:a==="end"?O-c:a==="nearest"?gi(h,h+c,c,_e,ce,h+O,h+O+w,w):O-c/2,j=m==="start"?P:m==="center"?P-f/2:m==="end"?P-f:gi(d,d+f,f,we,re,d+P,d+P+k,k),H=Math.max(0,H+h),j=Math.max(0,j+d);else{H=a==="start"?O-I-_e:a==="end"?O-M+ce+G:a==="nearest"?gi(I,M,b,_e,ce+G,O,O+w,w):O-(I+b/2)+G/2,j=m==="start"?P-U-we:m==="center"?P-(U+R/2)+V/2:m==="end"?P-N+re+V:gi(U,N,R,we,re+V,P,P+k,k);let{scrollLeft:Ge,scrollTop:Xe}=$;H=Math.max(0,Math.min(Xe+H/Oe,$.scrollHeight-b/Oe+G)),j=Math.max(0,Math.min(Ge+j/Qe,$.scrollWidth-R/Qe+V)),O+=Xe-H,P+=Ge-j}L.push({el:$,top:H,left:j})}return L},ro=function(){return ro=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},ro.apply(this,arguments)},ug=0;function Es(){}function sg(e,t){if(e){var n=lg(e,{boundary:t,block:"nearest",scrollMode:"if-needed"});n.forEach(function(r){var i=r.el,o=r.top,l=r.left;i.scrollTop=o,i.scrollLeft=l})}}function Cc(e,t,n){var r=e===t||t instanceof n.Node&&e.contains&&e.contains(t);return r}function tp(e,t){var n;function r(){n&&clearTimeout(n)}function i(){for(var o=arguments.length,l=new Array(o),u=0;u<o;u++)l[u]=arguments[u];r(),n=setTimeout(function(){n=null,e.apply(void 0,l)},t)}return i.cancel=r,i}function mt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),l=1;l<i;l++)o[l-1]=arguments[l];return t.some(function(u){return u&&u.apply(void 0,[r].concat(o)),r.preventDownshiftDefault||r.hasOwnProperty("nativeEvent")&&r.nativeEvent.preventDownshiftDefault})}}function yi(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){t.forEach(function(i){typeof i=="function"?i(r):i&&(i.current=r)})}}function ag(){return String(ug++)}function cg(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?n+" result"+(n===1?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":"":"No results are available.":""}function Eu(e,t){return Object.keys(e).reduce(function(n,r){return n[r]=np(t,r)?t[r]:e[r],n},{})}function np(e,t){return e[t]!==void 0}function fg(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&t.indexOf("Arrow")!==0?"Arrow"+t:t}function wi(e,t,n,r,i){if(i===void 0&&(i=!0),n===0)return-1;var o=n-1;(typeof t!="number"||t<0||t>=n)&&(t=e>0?-1:o+1);var l=t+e;l<0?l=i?o:0:l>o&&(l=i?0:o);var u=Mr(e,l,n,r,i);return u===-1?t>=n?-1:t:u}function Mr(e,t,n,r,i){var o=r(t);if(!o||!o.hasAttribute("disabled"))return t;if(e>0){for(var l=t+1;l<n;l++)if(!r(l).hasAttribute("disabled"))return l}else for(var u=t-1;u>=0;u--)if(!r(u).hasAttribute("disabled"))return u;return i?e>0?Mr(1,0,n,r,!1):Mr(-1,n-1,n,r,!1):-1}function Ic(e,t,n,r){return r===void 0&&(r=!0),t.some(function(i){return i&&(Cc(i,e,n)||r&&Cc(i,n.document.activeElement,n))})}var dg=tp(function(e){rp(e).textContent=""},500);function pg(e,t){var n=rp(t);e&&(n.textContent=e,dg(t))}function rp(e){e===void 0&&(e=document);var 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 hg=["isInitialMount","highlightedIndex","items","environment"],ip={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function vg(e,t,n){var r=e.props,i=e.type,o={};Object.keys(t).forEach(function(l){mg(l,e,t,n),n[l]!==t[l]&&(o[l]=n[l])}),r.onStateChange&&Object.keys(o).length&&r.onStateChange(te({type:i},o))}function mg(e,t,n,r){var i=t.props,o=t.type,l="on"+xs(e)+"Change";i[l]&&r[e]!==void 0&&r[e]!==n[e]&&i[l](te({type:o},r))}function gg(e,t){return t.changes}function yg(e){var t=e.selectedItem,n=e.itemToString;return t?n(t)+" has been selected.":""}var wg=tp(function(e,t){pg(e(),t)},200),_g=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?z.useLayoutEffect:z.useEffect;function kg(e){var t=e.id,n=t===void 0?"downshift-"+ag():t,r=e.labelId,i=e.menuId,o=e.getItemId,l=e.toggleButtonId,u=e.inputId,s=z.useRef({labelId:r||n+"-label",menuId:i||n+"-menu",getItemId:o||function(a){return n+"-item-"+a},toggleButtonId:l||n+"-toggle-button",inputId:u||n+"-input"});return s.current}function Sg(e,t,n){return e!==void 0?e:n.length===0?-1:n.indexOf(t)}function Eg(e){return e?String(e):""}function xs(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function op(e){var t=z.useRef(e);return t.current=e,t}function xg(e,t,n){var r=z.useRef(),i=z.useRef(),o=z.useCallback(function(S,C){i.current=C,S=Eu(S,C.props);var _=e(S,C),p=C.props.stateReducer(S,te({},C,{changes:_}));return p},[e]),l=z.useReducer(o,t),u=l[0],s=l[1],a=op(n),m=z.useCallback(function(S){return s(te({props:a.current},S))},[a]),y=i.current;return z.useEffect(function(){y&&r.current&&r.current!==u&&vg(y,Eu(r.current,y.props),u),r.current=u},[u,n,y]),[u,m]}var vr={itemToString:Eg,stateReducer:gg,getA11ySelectionMessage:yg,scrollIntoView:sg,environment:typeof window>"u"?{}:window};function qe(e,t,n){n===void 0&&(n=ip);var r=e["default"+xs(t)];return r!==void 0?r:n[t]}function _i(e,t,n){n===void 0&&(n=ip);var r=e[t];if(r!==void 0)return r;var i=e["initial"+xs(t)];return i!==void 0?i:qe(e,t,n)}function Cg(e){var t=_i(e,"selectedItem"),n=_i(e,"isOpen"),r=_i(e,"highlightedIndex"),i=_i(e,"inputValue");return{highlightedIndex:r<0&&t&&n?e.items.indexOf(t):r,isOpen:n,selectedItem:t,inputValue:i}}function mr(e,t,n){var r=e.items,i=e.initialHighlightedIndex,o=e.defaultHighlightedIndex,l=t.selectedItem,u=t.highlightedIndex;return r.length===0?-1:i!==void 0&&u===i?i:o!==void 0?o:l?r.indexOf(l):n===0?-1:n<0?r.length-1:0}function Ig(e,t,n,r){var i=z.useRef({isMouseDown:!1,isTouchMove:!1});return z.useEffect(function(){var o=function(){i.current.isMouseDown=!0},l=function(y){i.current.isMouseDown=!1,e&&!Ic(y.target,t.map(function(S){return S.current}),n)&&r()},u=function(){i.current.isTouchMove=!1},s=function(){i.current.isTouchMove=!0},a=function(y){e&&!i.current.isTouchMove&&!Ic(y.target,t.map(function(S){return S.current}),n,!1)&&r()};return n.addEventListener("mousedown",o),n.addEventListener("mouseup",l),n.addEventListener("touchstart",u),n.addEventListener("touchmove",s),n.addEventListener("touchend",a),function(){n.removeEventListener("mousedown",o),n.removeEventListener("mouseup",l),n.removeEventListener("touchstart",u),n.removeEventListener("touchmove",s),n.removeEventListener("touchend",a)}},[e,n]),i}var Rg=function(){return Es};function Rc(e,t,n){var r=n.isInitialMount,i=n.highlightedIndex,o=n.items,l=n.environment,u=or(n,hg);z.useEffect(function(){r||wg(function(){return e(te({highlightedIndex:i,highlightedItem:o[i],resultCount:o.length},u))},l.document)},t)}function Tg(e){var t=e.highlightedIndex,n=e.isOpen,r=e.itemRefs,i=e.getItemNodeFromIndex,o=e.menuElement,l=e.scrollIntoView,u=z.useRef(!0);return _g(function(){t<0||!n||!Object.keys(r.current).length||(u.current===!1?u.current=!0:l(i(t),o))},[t]),u}var Og=Es;function Pg(e,t,n){var r=t.type,i=t.props,o;switch(r){case n.ItemMouseMove:o={highlightedIndex:t.disabled?-1:t.index};break;case n.MenuMouseLeave:o={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:mr(i,e,0)};break;case n.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:mr(i,e,0)};break;case n.FunctionCloseMenu:o={isOpen:!1};break;case n.FunctionSetHighlightedIndex:o={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:o={inputValue:t.inputValue};break;case n.FunctionReset:o={highlightedIndex:qe(i,"highlightedIndex"),isOpen:qe(i,"isOpen"),selectedItem:qe(i,"selectedItem"),inputValue:qe(i,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return te({},e,o)}A.array.isRequired,A.func,A.func,A.func,A.number,A.number,A.number,A.bool,A.bool,A.bool,A.any,A.any,A.any,A.string,A.string,A.string,A.func,A.string,A.func,A.func,A.func,A.func,A.func,A.shape({addEventListener:A.func,removeEventListener:A.func,document:A.shape({getElementById:A.func,activeElement:A.any,body:A.any})});function Ng(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?"".concat(n," result").concat(n===1?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}ro(ro({},vr),{getA11yStatusMessage:Ng});var Cs=0,Is=1,Rs=2,Ts=3,Os=4,Ps=5,Ns=6,Ds=7,As=8,io=9,Ms=10,lp=11,up=12,Ls=13,sp=14,ap=15,cp=16,fp=17,dp=18,Fs=19,pp=20,hp=21,zs=22,vp=Object.freeze({__proto__:null,InputKeyDownArrowDown:Cs,InputKeyDownArrowUp:Is,InputKeyDownEscape:Rs,InputKeyDownHome:Ts,InputKeyDownEnd:Os,InputKeyDownPageUp:Ps,InputKeyDownPageDown:Ns,InputKeyDownEnter:Ds,InputChange:As,InputBlur:io,InputFocus:Ms,MenuMouseLeave:lp,ItemMouseMove:up,ItemClick:Ls,ToggleButtonClick:sp,FunctionToggleMenu:ap,FunctionOpenMenu:cp,FunctionCloseMenu:fp,FunctionSetHighlightedIndex:dp,FunctionSelectItem:Fs,FunctionSetInputValue:pp,FunctionReset:hp,ControlledPropUpdatedSelectedItem:zs});function Dg(e){var t=Cg(e),n=t.selectedItem,r=t.inputValue;return r===""&&n&&e.defaultInputValue===void 0&&e.initialInputValue===void 0&&e.inputValue===void 0&&(r=e.itemToString(n)),te({},t,{inputValue:r})}A.array.isRequired,A.func,A.func,A.func,A.number,A.number,A.number,A.bool,A.bool,A.bool,A.any,A.any,A.any,A.string,A.string,A.string,A.string,A.string,A.string,A.func,A.string,A.string,A.func,A.func,A.func,A.func,A.func,A.func,A.shape({addEventListener:A.func,removeEventListener:A.func,document:A.shape({getElementById:A.func,activeElement:A.any,body:A.any})});function Ag(e,t,n){var r=z.useRef(),i=xg(e,t,n),o=i[0],l=i[1];return z.useEffect(function(){np(n,"selectedItem")&&(r.current!==n.selectedItem&&l({type:zs,inputValue:n.itemToString(n.selectedItem)}),r.current=o.selectedItem===r.current?n.selectedItem:o.selectedItem)}),[Eu(o,n),l]}var Mg=Es,Lg=te({},vr,{getA11yStatusMessage:cg});function Fg(e,t){var n=t.type,r=t.props,i=t.altKey,o;switch(n){case Ls:o={isOpen:qe(r,"isOpen"),highlightedIndex:qe(r,"highlightedIndex"),selectedItem:r.items[t.index],inputValue:r.itemToString(r.items[t.index])};break;case Cs:e.isOpen?o={highlightedIndex:wi(1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!0)}:o={highlightedIndex:i&&e.selectedItem==null?-1:mr(r,e,1,t.getItemNodeFromIndex),isOpen:r.items.length>=0};break;case Is:e.isOpen?i?o=te({isOpen:qe(r,"isOpen"),highlightedIndex:qe(r,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])}):o={highlightedIndex:wi(-1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!0)}:o={highlightedIndex:mr(r,e,-1,t.getItemNodeFromIndex),isOpen:r.items.length>=0};break;case Ds:o=te({isOpen:qe(r,"isOpen"),highlightedIndex:qe(r,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case Rs:o=te({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case Ps:o={highlightedIndex:wi(-10,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!1)};break;case Ns:o={highlightedIndex:wi(10,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!1)};break;case Ts:o={highlightedIndex:Mr(1,0,r.items.length,t.getItemNodeFromIndex,!1)};break;case Os:o={highlightedIndex:Mr(-1,r.items.length-1,r.items.length,t.getItemNodeFromIndex,!1)};break;case io:o=te({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.selectItem&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case As:o={isOpen:!0,highlightedIndex:qe(r,"highlightedIndex"),inputValue:t.inputValue};break;case Ms:o={isOpen:!0,highlightedIndex:mr(r,e,0)};break;case Fs:o={selectedItem:t.selectedItem,inputValue:r.itemToString(t.selectedItem)};break;case zs:o={inputValue:t.inputValue};break;default:return Pg(e,t,vp)}return te({},e,o)}var zg=["onMouseLeave","refKey","ref"],Bg=["item","index","refKey","ref","onMouseMove","onMouseDown","onClick","onPress","disabled"],Ug=["onClick","onPress","refKey","ref"],jg=["onKeyDown","onChange","onInput","onFocus","onBlur","onChangeText","refKey","ref"];mp.stateChangeTypes=vp;function mp(e){e===void 0&&(e={}),Mg();var t=te({},Lg,e),n=t.initialIsOpen,r=t.defaultIsOpen,i=t.items,o=t.scrollIntoView,l=t.environment,u=t.getA11yStatusMessage,s=t.getA11ySelectionMessage,a=t.itemToString,m=Dg(t),y=Ag(Fg,m,t),S=y[0],C=y[1],_=S.isOpen,p=S.highlightedIndex,x=S.selectedItem,f=S.inputValue,c=z.useRef(null),d=z.useRef({}),h=z.useRef(null),w=z.useRef(null),k=z.useRef(!0),g=kg(t),v=z.useRef(),T=op({state:S,props:t}),E=z.useCallback(function(H){return d.current[g.getItemId(H)]},[g]);Rc(u,[_,p,f,i],te({isInitialMount:k.current,previousResultCount:v.current,items:i,environment:l,itemToString:a},S)),Rc(s,[x],te({isInitialMount:k.current,previousResultCount:v.current,items:i,environment:l,itemToString:a},S));var O=Tg({menuElement:c.current,highlightedIndex:p,isOpen:_,itemRefs:d,scrollIntoView:o,getItemNodeFromIndex:E});Og({isInitialMount:k.current,props:t,state:S}),z.useEffect(function(){var H=n||r||_;H&&h.current&&h.current.focus()},[]),z.useEffect(function(){k.current||(v.current=i.length)});var P=Ig(_,[h,c,w],l,function(){C({type:io,selectItem:!1})}),L=Rg();z.useEffect(function(){return k.current=!1,function(){k.current=!0}},[]),z.useEffect(function(){if(!_)d.current={};else if(document.activeElement!==h.current){var H;h==null||(H=h.current)==null||H.focus()}},[_]);var q=z.useMemo(function(){return{ArrowDown:function(j){j.preventDefault(),C({type:Cs,altKey:j.altKey,getItemNodeFromIndex:E})},ArrowUp:function(j){j.preventDefault(),C({type:Is,altKey:j.altKey,getItemNodeFromIndex:E})},Home:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Ts,getItemNodeFromIndex:E}))},End:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Os,getItemNodeFromIndex:E}))},Escape:function(j){var V=T.current.state;(V.isOpen||V.inputValue||V.selectedItem||V.highlightedIndex>-1)&&(j.preventDefault(),C({type:Rs}))},Enter:function(j){var V=T.current.state;!V.isOpen||j.which===229||(j.preventDefault(),C({type:Ds,getItemNodeFromIndex:E}))},PageUp:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Ps,getItemNodeFromIndex:E}))},PageDown:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Ns,getItemNodeFromIndex:E}))}}},[C,T,E]),$=z.useCallback(function(H){return te({id:g.labelId,htmlFor:g.inputId},H)},[g]),b=z.useCallback(function(H,j){var V,G=H===void 0?{}:H,Qe=G.onMouseLeave,Oe=G.refKey,Ge=Oe===void 0?"ref":Oe,Xe=G.ref,Yt=or(G,zg),Rt=j===void 0?{}:j;return Rt.suppressRefError,te((V={},V[Ge]=yi(Xe,function(Tt){c.current=Tt}),V.id=g.menuId,V.role="listbox",V["aria-labelledby"]=g.labelId,V.onMouseLeave=mt(Qe,function(){C({type:lp})}),V),Yt)},[C,L,g]),R=z.useCallback(function(H){var j,V,G=H===void 0?{}:H,Qe=G.item,Oe=G.index,Ge=G.refKey,Xe=Ge===void 0?"ref":Ge,Yt=G.ref,Rt=G.onMouseMove,Tt=G.onMouseDown,xo=G.onClick;G.onPress;var hn=G.disabled,Co=or(G,Bg),lt=T.current,Io=lt.props,Xr=lt.state,vn=Sg(Oe,Qe,Io.items);if(vn<0)throw new Error("Pass either item or item index in getItemProps!");var Ro="onClick",To=xo,Yr=function(){Oe!==Xr.highlightedIndex&&(O.current=!1,C({type:up,index:Oe,disabled:hn}))},Ot=function(){C({type:Ls,index:Oe})},Jt=function(Wn){return Wn.preventDefault()};return te((j={},j[Xe]=yi(Yt,function(ut){ut&&(d.current[g.getItemId(vn)]=ut)}),j.disabled=hn,j.role="option",j["aria-selected"]=""+(vn===Xr.highlightedIndex),j.id=g.getItemId(vn),j),!hn&&(V={},V[Ro]=mt(To,Ot),V),{onMouseMove:mt(Rt,Yr),onMouseDown:mt(Tt,Jt)},Co)},[C,T,O,g]),I=z.useCallback(function(H){var j,V=H===void 0?{}:H,G=V.onClick;V.onPress;var Qe=V.refKey,Oe=Qe===void 0?"ref":Qe,Ge=V.ref,Xe=or(V,Ug),Yt=T.current.state,Rt=function(){C({type:sp})};return te((j={},j[Oe]=yi(Ge,function(Tt){w.current=Tt}),j["aria-controls"]=g.menuId,j["aria-expanded"]=Yt.isOpen,j.id=g.toggleButtonId,j.tabIndex=-1,j),!Xe.disabled&&te({},{onClick:mt(G,Rt)}),Xe)},[C,T,g]),N=z.useCallback(function(H,j){var V,G=H===void 0?{}:H,Qe=G.onKeyDown,Oe=G.onChange,Ge=G.onInput,Xe=G.onFocus,Yt=G.onBlur;G.onChangeText;var Rt=G.refKey,Tt=Rt===void 0?"ref":Rt,xo=G.ref,hn=or(G,jg),Co=j===void 0?{}:j;Co.suppressRefError;var lt=T.current.state,Io=function(ut){var Wn=fg(ut);Wn&&q[Wn]&&q[Wn](ut)},Xr=function(ut){C({type:As,inputValue:ut.target.value})},vn=function(){lt.isOpen&&!P.current.isMouseDown&&C({type:io,selectItem:!0})},Ro=function(){lt.isOpen||C({type:Ms})},To="onChange",Yr={};if(!hn.disabled){var Ot;Yr=(Ot={},Ot[To]=mt(Oe,Ge,Xr),Ot.onKeyDown=mt(Qe,Io),Ot.onBlur=mt(Yt,vn),Ot.onFocus=mt(Xe,Ro),Ot)}return te((V={},V[Tt]=yi(xo,function(Jt){h.current=Jt}),V["aria-activedescendant"]=lt.isOpen&<.highlightedIndex>-1?g.getItemId(lt.highlightedIndex):"",V["aria-autocomplete"]="list",V["aria-controls"]=g.menuId,V["aria-expanded"]=lt.isOpen,V["aria-labelledby"]=g.labelId,V.autoComplete="off",V.id=g.inputId,V.role="combobox",V.value=lt.inputValue,V),Yr,hn)},[C,q,T,P,L,g]),M=z.useCallback(function(){C({type:ap})},[C]),U=z.useCallback(function(){C({type:fp})},[C]),B=z.useCallback(function(){C({type:cp})},[C]),we=z.useCallback(function(H){C({type:dp,highlightedIndex:H})},[C]),_e=z.useCallback(function(H){C({type:Fs,selectedItem:H})},[C]),re=z.useCallback(function(H){C({type:pp,inputValue:H})},[C]),ce=z.useCallback(function(){C({type:hp})},[C]);return{getItemProps:R,getLabelProps:$,getMenuProps:b,getInputProps:N,getToggleButtonProps:I,toggleMenu:M,openMenu:B,closeMenu:U,setHighlightedIndex:we,setInputValue:re,selectItem:_e,reset:ce,highlightedIndex:p,isOpen:_,selectedItem:x,inputValue:f}}function qg(e){var t=e.removedSelectedItem,n=e.itemToString;return n(t)+" has been removed."}A.array,A.array,A.array,A.func,A.func,A.func,A.number,A.number,A.number,A.func,A.func,A.string,A.string,A.shape({addEventListener:A.func,removeEventListener:A.func,document:A.shape({getElementById:A.func,activeElement:A.any,body:A.any})});vr.itemToString,vr.stateReducer,vr.environment;let Hg=0;const $g=({setQuery:e,items:t,onSubmit:n,cioClient:r,previousQuery:i=""})=>mp({id:`cio-autocomplete-${Hg++}`,items:t,itemToString:o=>(o==null?void 0:o.value)||"",onSelectedItemChange({selectedItem:o}){var l;o&&(e(o.value||""),o!=null&&o.value&&(n&&n({item:o,originalQuery:i}),(l=o==null?void 0:o.data)!=null&&l.url||r==null||r.tracker.trackSearchSubmit(o.value,{original_query:i}),r==null||r.tracker.trackAutocompleteSelect(o.value,{original_query:i,section:o.section})))}}),Vg=e=>{const t=z.useRef();return z.useEffect(()=>{t.current=e},[e]),t.current},bg=(e,t)=>{z.useEffect(()=>{e&&!Array.isArray(e)&&console.error("useCioAutocomplete expects sections to reference an array of section configuration objects"),t&&!Array.isArray(t)&&console.error("useCioAutocomplete expects zeroStateSections to reference an array of section configuration objects")},[e,t])},Wg=(e,t=250)=>{const[n,r]=z.useState(e);return z.useEffect(()=>{const i=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(i)}},[e,t]),n},Kg=(e,t)=>{const{numTermsWithGroupSuggestions:n,numGroupsSuggestedPerTerm:r}=t,i={};return Object.keys(e.sections).forEach(o=>{i[o]=[],e.sections[o].map(u=>{var s;return{...u,id:(s=u==null?void 0:u.data)==null?void 0:s.id,section:o}}).forEach((u,s)=>{var a,m,y;(a=i[o])==null||a.push(u),o==="Search Suggestions"&&((y=(m=u==null?void 0:u.data)==null?void 0:m.groups)!=null&&y.length)&&s<n&&u.data.groups.forEach((S,C)=>{var _,p;if(C<r){const x={...u,id:`${(_=u.data)==null?void 0:_.id}_${S.group_id}`,groupName:S.display_name,groupId:S.group_id};(p=i[o])==null||p.push(x)}})})}),i},Qg=(e,t,n,r)=>{const[i,o]=z.useState({}),l=Wg(e),{numTermsWithGroupSuggestions:u=0,numGroupsSuggestedPerTerm:s=0}=r||{},a=z.useMemo(()=>{const m={...r};return n&&(m.resultsPerSection=n.reduce((y,S)=>({...y,[S.identifier]:(S==null?void 0:S.numResults)||8}),{})),m},[n,r]);return z.useEffect(()=>{(async()=>{if(l.trim())try{const m=await(t==null?void 0:t.autocomplete.getAutocompleteResults(l,a)),y=Kg(m,{numTermsWithGroupSuggestions:u,numGroupsSuggestedPerTerm:s});o(y)}catch(m){console.log(m)}else l||o({})})()},[l,t,u,s,a]),i},Gg=(e,t)=>{const[n,r]=z.useState({});return z.useEffect(()=>{if(!e||!Array.isArray(t)||t.length===0)return;(async()=>{const o=await Promise.all(t.map(({identifier:u,...s})=>e.recommendations.getRecommendations(u,s))),l={};o.forEach(({response:u})=>{const{pod:s,results:a}=u;s!=null&&s.id&&(l[s.id]=a==null?void 0:a.map(m=>{var y;return{...m,id:(y=m==null?void 0:m.data)==null?void 0:y.id,section:s.id}}))});try{r(l)}catch(u){console.log(u)}})()},[e]),n};function Xg(e,t,n,r,i){const o=!e.length&&r,[l,u]=z.useState(o?r:n),s=z.useMemo(()=>l==null?void 0:l.filter(_=>_.type==="autocomplete"||!_.type),[l]),a=l==null?void 0:l.filter(_=>_.type==="recommendations"),m=Qg(e,t,s,i),y=Gg(t,a),S={...m,...y},C=Hm(l,S);return z.useEffect(()=>{u(o?r:n)},[e,n,r,o]),z.useEffect(()=>{n&&!Array.isArray(n)&&u([]),r&&!Array.isArray(r)&&u([])},[n,r]),{activeSections:l,activeSectionsWithData:C,zeroStateActiveSections:o}}const Yg=e=>{const t=[];return e==null||e.forEach(n=>{n!=null&&n.data&&t.push(...n.data)}),t},Jg=[{identifier:"Search Suggestions",type:"autocomplete"},{identifier:"Products",type:"autocomplete"}],Zg=e=>{const{onSubmit:t,onChange:n,openOnFocus:r,apiKey:i,cioJsClient:o,placeholder:l="What can we help you find today?",sections:u=Jg,zeroStateSections:s,autocompleteClassName:a="cio-autocomplete",advancedParameters:m}=e,[y,S]=z.useState(""),C=Vg(y),_=$m({apiKey:i,cioJsClient:o}),{activeSections:p,activeSectionsWithData:x,zeroStateActiveSections:f}=Xg(y,_,u,s,m),c=Yg(x),d=$g({setQuery:S,items:c,onSubmit:t,cioClient:_,previousQuery:C}),{isOpen:h,getMenuProps:w,getLabelProps:k,openMenu:g,closeMenu:v,highlightedIndex:T}=d;return bg(u,p),{query:y,sections:x,isOpen:h&&(c==null?void 0:c.length)>0,getMenuProps:()=>({...w(),className:"cio-results","data-testid":"cio-results"}),getLabelProps:k,openMenu:g,closeMenu:v,getItemProps:E=>{const{index:O,sectionId:P}=Um({item:E,items:c}),L=`cio-item-${P==null?void 0:P.replace(" ","")}`;return{...d.getItemProps({item:E,index:O}),className:`cio-item ${L}`,"data-testid":L}},getInputProps:()=>({...d.getInputProps({onChange:E=>{S(E.target.value),n&&n(E.target.value)}}),value:y,onFocus:()=>{var E;e.onFocus&&e.onFocus(),f&&r!==!1&&d.openMenu(),y!=null&&y.length&&d.openMenu(),(E=_==null?void 0:_.tracker)==null||E.trackInputFocus()},className:"cio-input","data-testid":"cio-input",placeholder:l,onKeyDownCapture:({code:E})=>{const O=E==="Enter",P=T<0;h&&O&&P&&(y!=null&&y.length)&&(t&&t({query:y}),_==null||_.tracker.trackSearchSubmit(y,{original_query:y}))}}),getFormProps:()=>({onSubmit:E=>(E.preventDefault(),t&&t({query:y}),_==null||_.tracker.trackSearchSubmit(y,{original_query:y}),{query:y}),className:"cio-form","data-testid":"cio-form"}),setQuery:S,cioClient:_,autocompleteClassName:a,selectedItem:c[T]}},Eo=z.createContext({});function Tc(e){const{children:t,...n}=e,r=Zg(n);return K.createElement(Eo.Provider,{value:r},K.createElement("div",{className:r.autocompleteClassName},t))}function ey(e){var o;const{item:t,children:n}=e,{getItemProps:r}=z.useContext(Eo);let i;return Fm(t)?i=K.createElement(K.Fragment,null,K.createElement("img",{"data-testid":"cio-img",src:(o=t.data)==null?void 0:o.image_url,alt:t.value}),K.createElement("p",{"data-testid":"cio-text"},t.value)):zm(t)?i=K.createElement("p",{className:"cio-term-in-group"},"in ",t.groupName):i=K.createElement("p",null,t.value),K.createElement("li",{...r(t)},n||i)}const ty=function({section:e}){var n,r;const t=(e==null?void 0:e.displayName)||(e==null?void 0:e.identifier);return(n=e==null?void 0:e.data)!=null&&n.length?K.createElement("li",{className:`${t} cio-section`,role:"none"},K.createElement("h5",{className:"cio-sectionName","aria-hidden":!0},jm(t)),K.createElement("ul",{className:"cio-section-items",role:"none"},(r=e==null?void 0:e.data)==null?void 0:r.map(i=>K.createElement(ey,{item:i,key:i==null?void 0:i.id})))):null};function ny(e){const{section:t,children:n=ty}=e;return n({section:t})}const ry=({sections:e})=>e==null?void 0:e.map(t=>K.createElement(ny,{section:t,key:t.identifier}));function iy(e){const{children:t=ry}=e,{sections:n,isOpen:r,getMenuProps:i,getItemProps:o}=z.useContext(Eo),l=n&&n.some(a=>{var m;return(m=a==null?void 0:a.data)==null?void 0:m.length}),u={...i()};let s;return r&&l?s=typeof t=="function"?t({sections:n,getItemProps:o}):t:(s=null,u.style={display:"none"}),K.createElement("ul",{...u},s)}function oy({getFormProps:e,getInputProps:t,getLabelProps:n,setQuery:r}){const i=t();return K.createElement("form",{...e()},K.createElement("label",{...n(),htmlFor:"cio-input"},K.createElement("input",{id:"cio-input",...i})),K.createElement("button",{className:"cio-clear-btn","data-testid":"cio-clear-btn",hidden:!i.value,onClick:()=>{r(""),i.id&&setTimeout(()=>{var o;return(o=document.getElementById(i.id))==null?void 0:o.focus()},100)},type:"button","aria-label":"Clear search field text"},K.createElement("div",{className:"cio-icon"},K.createElement("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 512 512",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg"},K.createElement("path",{d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"})))),K.createElement("button",{className:"cio-submit-btn","data-testid":"cio-submit-btn",disabled:!i.value,type:"submit","aria-label":"Submit Search"},K.createElement("div",{className:"cio-icon"},K.createElement("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 512 512",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg"},K.createElement("path",{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"})))))}function ly(e){const{children:t=oy}=e,{getFormProps:n,getInputProps:r,getLabelProps:i,setQuery:o}=z.useContext(Eo);return t({getFormProps:n,getInputProps:r,getLabelProps:i,setQuery:o})}function uy(e){const{children:t}=e;return t?K.createElement(Tc,{...e},t):K.createElement("div",null,K.createElement(Tc,{...e},K.createElement(ly,null),K.createElement(iy,null)))}const sy=({selector:e,includeCSS:t=!0,...n})=>{if(document){const r=document.getElementById("cio-autocomplete-styles"),i=document.querySelector(e);if(!i){console.error("CioAutocomplete: There were no elements found for the provided selector");return}r&&(t?r.disabled=!1:r.disabled=!0),Pl.createRoot(i).render(K.createElement(K.StrictMode,null,K.createElement(uy,{...n})))}};window&&(window.CioAutocomplete=sy);export{sy as default};
|
|
43
|
+
*/var ko=60103,So=60106,qr=60107,Hr=60108,$r=60114,Vr=60109,br=60110,Wr=60112,Kr=60113,Ss=60120,Qr=60115,Gr=60116,Xd=60121,Yd=60122,Jd=60117,Zd=60129,ep=60131;if(typeof Symbol=="function"&&Symbol.for){var ve=Symbol.for;ko=ve("react.element"),So=ve("react.portal"),qr=ve("react.fragment"),Hr=ve("react.strict_mode"),$r=ve("react.profiler"),Vr=ve("react.provider"),br=ve("react.context"),Wr=ve("react.forward_ref"),Kr=ve("react.suspense"),Ss=ve("react.suspense_list"),Qr=ve("react.memo"),Gr=ve("react.lazy"),Xd=ve("react.block"),Yd=ve("react.server.block"),Jd=ve("react.fundamental"),Zd=ve("react.debug_trace_mode"),ep=ve("react.legacy_hidden")}function ot(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case ko:switch(e=e.type,e){case qr:case $r:case Hr:case Kr:case Ss:return e;default:switch(e=e&&e.$$typeof,e){case br:case Wr:case Gr:case Qr:case Vr:return e;default:return t}}case So:return t}}}var Gm=Vr,Xm=ko,Ym=Wr,Jm=qr,Zm=Gr,eg=Qr,tg=So,ng=$r,rg=Hr,ig=Kr;J.ContextConsumer=br;J.ContextProvider=Gm;J.Element=Xm;J.ForwardRef=Ym;J.Fragment=Jm;J.Lazy=Zm;J.Memo=eg;J.Portal=tg;J.Profiler=ng;J.StrictMode=rg;J.Suspense=ig;J.isAsyncMode=function(){return!1};J.isConcurrentMode=function(){return!1};J.isContextConsumer=function(e){return ot(e)===br};J.isContextProvider=function(e){return ot(e)===Vr};J.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===ko};J.isForwardRef=function(e){return ot(e)===Wr};J.isFragment=function(e){return ot(e)===qr};J.isLazy=function(e){return ot(e)===Gr};J.isMemo=function(e){return ot(e)===Qr};J.isPortal=function(e){return ot(e)===So};J.isProfiler=function(e){return ot(e)===$r};J.isStrictMode=function(e){return ot(e)===Hr};J.isSuspense=function(e){return ot(e)===Kr};J.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===qr||e===$r||e===Zd||e===Hr||e===Kr||e===Ss||e===ep||typeof e=="object"&&e!==null&&(e.$$typeof===Gr||e.$$typeof===Qr||e.$$typeof===Vr||e.$$typeof===br||e.$$typeof===Wr||e.$$typeof===Jd||e.$$typeof===Xd||e[0]===Yd)};J.typeOf=ot;let Ec=e=>typeof e=="object"&&e!=null&&e.nodeType===1,xc=(e,t)=>(!t||e!=="hidden")&&e!=="visible"&&e!=="clip",Ol=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let n=getComputedStyle(e,null);return xc(n.overflowY,t)||xc(n.overflowX,t)||(r=>{let i=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(r);return!!i&&(i.clientHeight<r.scrollHeight||i.clientWidth<r.scrollWidth)})(e)}return!1},gi=(e,t,n,r,i,o,l,u)=>o<e&&l>t||o>e&&l<t?0:o<=e&&u<=n||l>=t&&u>=n?o-e-r:l>t&&u<n||o<e&&u>n?l-t+i:0,og=e=>{let t=e.parentElement;return t??(e.getRootNode().host||null)};var lg=(e,t)=>{var n,r,i,o,l,u;if(typeof document>"u")return[];let{scrollMode:s,block:a,inline:m,boundary:y,skipOverflowHiddenElements:S}=t,C=typeof y=="function"?y:q=>q!==y;if(!Ec(e))throw new TypeError("Invalid target");let _=document.scrollingElement||document.documentElement,p=[],x=e;for(;Ec(x)&&C(x);){if(x=og(x),x===_){p.push(x);break}x!=null&&x===document.body&&Ol(x)&&!Ol(document.documentElement)||x!=null&&Ol(x,S)&&p.push(x)}let f=(r=(n=window.visualViewport)==null?void 0:n.width)!=null?r:innerWidth,c=(o=(i=window.visualViewport)==null?void 0:i.height)!=null?o:innerHeight,d=(l=window.scrollX)!=null?l:pageXOffset,h=(u=window.scrollY)!=null?u:pageYOffset,{height:w,width:k,top:g,right:v,bottom:T,left:E}=e.getBoundingClientRect(),O=a==="start"||a==="nearest"?g:a==="end"?T:g+w/2,P=m==="center"?E+k/2:m==="end"?v:E,L=[];for(let q=0;q<p.length;q++){let $=p[q],{height:b,width:R,top:I,right:N,bottom:M,left:U}=$.getBoundingClientRect();if(s==="if-needed"&&g>=0&&E>=0&&T<=c&&v<=f&&g>=I&&T<=M&&E>=U&&v<=N)return L;let B=getComputedStyle($),we=parseInt(B.borderLeftWidth,10),_e=parseInt(B.borderTopWidth,10),re=parseInt(B.borderRightWidth,10),ce=parseInt(B.borderBottomWidth,10),H=0,j=0,V="offsetWidth"in $?$.offsetWidth-$.clientWidth-we-re:0,G="offsetHeight"in $?$.offsetHeight-$.clientHeight-_e-ce:0,Qe="offsetWidth"in $?$.offsetWidth===0?0:R/$.offsetWidth:0,Oe="offsetHeight"in $?$.offsetHeight===0?0:b/$.offsetHeight:0;if(_===$)H=a==="start"?O:a==="end"?O-c:a==="nearest"?gi(h,h+c,c,_e,ce,h+O,h+O+w,w):O-c/2,j=m==="start"?P:m==="center"?P-f/2:m==="end"?P-f:gi(d,d+f,f,we,re,d+P,d+P+k,k),H=Math.max(0,H+h),j=Math.max(0,j+d);else{H=a==="start"?O-I-_e:a==="end"?O-M+ce+G:a==="nearest"?gi(I,M,b,_e,ce+G,O,O+w,w):O-(I+b/2)+G/2,j=m==="start"?P-U-we:m==="center"?P-(U+R/2)+V/2:m==="end"?P-N+re+V:gi(U,N,R,we,re+V,P,P+k,k);let{scrollLeft:Ge,scrollTop:Xe}=$;H=Math.max(0,Math.min(Xe+H/Oe,$.scrollHeight-b/Oe+G)),j=Math.max(0,Math.min(Ge+j/Qe,$.scrollWidth-R/Qe+V)),O+=Xe-H,P+=Ge-j}L.push({el:$,top:H,left:j})}return L},ro=function(){return ro=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},ro.apply(this,arguments)},ug=0;function Es(){}function sg(e,t){if(e){var n=lg(e,{boundary:t,block:"nearest",scrollMode:"if-needed"});n.forEach(function(r){var i=r.el,o=r.top,l=r.left;i.scrollTop=o,i.scrollLeft=l})}}function Cc(e,t,n){var r=e===t||t instanceof n.Node&&e.contains&&e.contains(t);return r}function tp(e,t){var n;function r(){n&&clearTimeout(n)}function i(){for(var o=arguments.length,l=new Array(o),u=0;u<o;u++)l[u]=arguments[u];r(),n=setTimeout(function(){n=null,e.apply(void 0,l)},t)}return i.cancel=r,i}function mt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),l=1;l<i;l++)o[l-1]=arguments[l];return t.some(function(u){return u&&u.apply(void 0,[r].concat(o)),r.preventDownshiftDefault||r.hasOwnProperty("nativeEvent")&&r.nativeEvent.preventDownshiftDefault})}}function yi(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){t.forEach(function(i){typeof i=="function"?i(r):i&&(i.current=r)})}}function ag(){return String(ug++)}function cg(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?n+" result"+(n===1?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":"":"No results are available.":""}function Eu(e,t){return Object.keys(e).reduce(function(n,r){return n[r]=np(t,r)?t[r]:e[r],n},{})}function np(e,t){return e[t]!==void 0}function fg(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&t.indexOf("Arrow")!==0?"Arrow"+t:t}function wi(e,t,n,r,i){if(i===void 0&&(i=!0),n===0)return-1;var o=n-1;(typeof t!="number"||t<0||t>=n)&&(t=e>0?-1:o+1);var l=t+e;l<0?l=i?o:0:l>o&&(l=i?0:o);var u=Mr(e,l,n,r,i);return u===-1?t>=n?-1:t:u}function Mr(e,t,n,r,i){var o=r(t);if(!o||!o.hasAttribute("disabled"))return t;if(e>0){for(var l=t+1;l<n;l++)if(!r(l).hasAttribute("disabled"))return l}else for(var u=t-1;u>=0;u--)if(!r(u).hasAttribute("disabled"))return u;return i?e>0?Mr(1,0,n,r,!1):Mr(-1,n-1,n,r,!1):-1}function Ic(e,t,n,r){return r===void 0&&(r=!0),t.some(function(i){return i&&(Cc(i,e,n)||r&&Cc(i,n.document.activeElement,n))})}var dg=tp(function(e){rp(e).textContent=""},500);function pg(e,t){var n=rp(t);e&&(n.textContent=e,dg(t))}function rp(e){e===void 0&&(e=document);var 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 hg=["isInitialMount","highlightedIndex","items","environment"],ip={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function vg(e,t,n){var r=e.props,i=e.type,o={};Object.keys(t).forEach(function(l){mg(l,e,t,n),n[l]!==t[l]&&(o[l]=n[l])}),r.onStateChange&&Object.keys(o).length&&r.onStateChange(te({type:i},o))}function mg(e,t,n,r){var i=t.props,o=t.type,l="on"+xs(e)+"Change";i[l]&&r[e]!==void 0&&r[e]!==n[e]&&i[l](te({type:o},r))}function gg(e,t){return t.changes}function yg(e){var t=e.selectedItem,n=e.itemToString;return t?n(t)+" has been selected.":""}var wg=tp(function(e,t){pg(e(),t)},200),_g=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?z.useLayoutEffect:z.useEffect;function kg(e){var t=e.id,n=t===void 0?"downshift-"+ag():t,r=e.labelId,i=e.menuId,o=e.getItemId,l=e.toggleButtonId,u=e.inputId,s=z.useRef({labelId:r||n+"-label",menuId:i||n+"-menu",getItemId:o||function(a){return n+"-item-"+a},toggleButtonId:l||n+"-toggle-button",inputId:u||n+"-input"});return s.current}function Sg(e,t,n){return e!==void 0?e:n.length===0?-1:n.indexOf(t)}function Eg(e){return e?String(e):""}function xs(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function op(e){var t=z.useRef(e);return t.current=e,t}function xg(e,t,n){var r=z.useRef(),i=z.useRef(),o=z.useCallback(function(S,C){i.current=C,S=Eu(S,C.props);var _=e(S,C),p=C.props.stateReducer(S,te({},C,{changes:_}));return p},[e]),l=z.useReducer(o,t),u=l[0],s=l[1],a=op(n),m=z.useCallback(function(S){return s(te({props:a.current},S))},[a]),y=i.current;return z.useEffect(function(){y&&r.current&&r.current!==u&&vg(y,Eu(r.current,y.props),u),r.current=u},[u,n,y]),[u,m]}var vr={itemToString:Eg,stateReducer:gg,getA11ySelectionMessage:yg,scrollIntoView:sg,environment:typeof window>"u"?{}:window};function qe(e,t,n){n===void 0&&(n=ip);var r=e["default"+xs(t)];return r!==void 0?r:n[t]}function _i(e,t,n){n===void 0&&(n=ip);var r=e[t];if(r!==void 0)return r;var i=e["initial"+xs(t)];return i!==void 0?i:qe(e,t,n)}function Cg(e){var t=_i(e,"selectedItem"),n=_i(e,"isOpen"),r=_i(e,"highlightedIndex"),i=_i(e,"inputValue");return{highlightedIndex:r<0&&t&&n?e.items.indexOf(t):r,isOpen:n,selectedItem:t,inputValue:i}}function mr(e,t,n){var r=e.items,i=e.initialHighlightedIndex,o=e.defaultHighlightedIndex,l=t.selectedItem,u=t.highlightedIndex;return r.length===0?-1:i!==void 0&&u===i?i:o!==void 0?o:l?r.indexOf(l):n===0?-1:n<0?r.length-1:0}function Ig(e,t,n,r){var i=z.useRef({isMouseDown:!1,isTouchMove:!1});return z.useEffect(function(){var o=function(){i.current.isMouseDown=!0},l=function(y){i.current.isMouseDown=!1,e&&!Ic(y.target,t.map(function(S){return S.current}),n)&&r()},u=function(){i.current.isTouchMove=!1},s=function(){i.current.isTouchMove=!0},a=function(y){e&&!i.current.isTouchMove&&!Ic(y.target,t.map(function(S){return S.current}),n,!1)&&r()};return n.addEventListener("mousedown",o),n.addEventListener("mouseup",l),n.addEventListener("touchstart",u),n.addEventListener("touchmove",s),n.addEventListener("touchend",a),function(){n.removeEventListener("mousedown",o),n.removeEventListener("mouseup",l),n.removeEventListener("touchstart",u),n.removeEventListener("touchmove",s),n.removeEventListener("touchend",a)}},[e,n]),i}var Rg=function(){return Es};function Rc(e,t,n){var r=n.isInitialMount,i=n.highlightedIndex,o=n.items,l=n.environment,u=or(n,hg);z.useEffect(function(){r||wg(function(){return e(te({highlightedIndex:i,highlightedItem:o[i],resultCount:o.length},u))},l.document)},t)}function Tg(e){var t=e.highlightedIndex,n=e.isOpen,r=e.itemRefs,i=e.getItemNodeFromIndex,o=e.menuElement,l=e.scrollIntoView,u=z.useRef(!0);return _g(function(){t<0||!n||!Object.keys(r.current).length||(u.current===!1?u.current=!0:l(i(t),o))},[t]),u}var Og=Es;function Pg(e,t,n){var r=t.type,i=t.props,o;switch(r){case n.ItemMouseMove:o={highlightedIndex:t.disabled?-1:t.index};break;case n.MenuMouseLeave:o={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:mr(i,e,0)};break;case n.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:mr(i,e,0)};break;case n.FunctionCloseMenu:o={isOpen:!1};break;case n.FunctionSetHighlightedIndex:o={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:o={inputValue:t.inputValue};break;case n.FunctionReset:o={highlightedIndex:qe(i,"highlightedIndex"),isOpen:qe(i,"isOpen"),selectedItem:qe(i,"selectedItem"),inputValue:qe(i,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return te({},e,o)}A.array.isRequired,A.func,A.func,A.func,A.number,A.number,A.number,A.bool,A.bool,A.bool,A.any,A.any,A.any,A.string,A.string,A.string,A.func,A.string,A.func,A.func,A.func,A.func,A.func,A.shape({addEventListener:A.func,removeEventListener:A.func,document:A.shape({getElementById:A.func,activeElement:A.any,body:A.any})});function Ng(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?"".concat(n," result").concat(n===1?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}ro(ro({},vr),{getA11yStatusMessage:Ng});var Cs=0,Is=1,Rs=2,Ts=3,Os=4,Ps=5,Ns=6,Ds=7,As=8,io=9,Ms=10,lp=11,up=12,Ls=13,sp=14,ap=15,cp=16,fp=17,dp=18,Fs=19,pp=20,hp=21,zs=22,vp=Object.freeze({__proto__:null,InputKeyDownArrowDown:Cs,InputKeyDownArrowUp:Is,InputKeyDownEscape:Rs,InputKeyDownHome:Ts,InputKeyDownEnd:Os,InputKeyDownPageUp:Ps,InputKeyDownPageDown:Ns,InputKeyDownEnter:Ds,InputChange:As,InputBlur:io,InputFocus:Ms,MenuMouseLeave:lp,ItemMouseMove:up,ItemClick:Ls,ToggleButtonClick:sp,FunctionToggleMenu:ap,FunctionOpenMenu:cp,FunctionCloseMenu:fp,FunctionSetHighlightedIndex:dp,FunctionSelectItem:Fs,FunctionSetInputValue:pp,FunctionReset:hp,ControlledPropUpdatedSelectedItem:zs});function Dg(e){var t=Cg(e),n=t.selectedItem,r=t.inputValue;return r===""&&n&&e.defaultInputValue===void 0&&e.initialInputValue===void 0&&e.inputValue===void 0&&(r=e.itemToString(n)),te({},t,{inputValue:r})}A.array.isRequired,A.func,A.func,A.func,A.number,A.number,A.number,A.bool,A.bool,A.bool,A.any,A.any,A.any,A.string,A.string,A.string,A.string,A.string,A.string,A.func,A.string,A.string,A.func,A.func,A.func,A.func,A.func,A.func,A.shape({addEventListener:A.func,removeEventListener:A.func,document:A.shape({getElementById:A.func,activeElement:A.any,body:A.any})});function Ag(e,t,n){var r=z.useRef(),i=xg(e,t,n),o=i[0],l=i[1];return z.useEffect(function(){np(n,"selectedItem")&&(r.current!==n.selectedItem&&l({type:zs,inputValue:n.itemToString(n.selectedItem)}),r.current=o.selectedItem===r.current?n.selectedItem:o.selectedItem)}),[Eu(o,n),l]}var Mg=Es,Lg=te({},vr,{getA11yStatusMessage:cg});function Fg(e,t){var n=t.type,r=t.props,i=t.altKey,o;switch(n){case Ls:o={isOpen:qe(r,"isOpen"),highlightedIndex:qe(r,"highlightedIndex"),selectedItem:r.items[t.index],inputValue:r.itemToString(r.items[t.index])};break;case Cs:e.isOpen?o={highlightedIndex:wi(1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!0)}:o={highlightedIndex:i&&e.selectedItem==null?-1:mr(r,e,1,t.getItemNodeFromIndex),isOpen:r.items.length>=0};break;case Is:e.isOpen?i?o=te({isOpen:qe(r,"isOpen"),highlightedIndex:qe(r,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])}):o={highlightedIndex:wi(-1,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!0)}:o={highlightedIndex:mr(r,e,-1,t.getItemNodeFromIndex),isOpen:r.items.length>=0};break;case Ds:o=te({isOpen:qe(r,"isOpen"),highlightedIndex:qe(r,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case Rs:o=te({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case Ps:o={highlightedIndex:wi(-10,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!1)};break;case Ns:o={highlightedIndex:wi(10,e.highlightedIndex,r.items.length,t.getItemNodeFromIndex,!1)};break;case Ts:o={highlightedIndex:Mr(1,0,r.items.length,t.getItemNodeFromIndex,!1)};break;case Os:o={highlightedIndex:Mr(-1,r.items.length-1,r.items.length,t.getItemNodeFromIndex,!1)};break;case io:o=te({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.selectItem&&{selectedItem:r.items[e.highlightedIndex],inputValue:r.itemToString(r.items[e.highlightedIndex])});break;case As:o={isOpen:!0,highlightedIndex:qe(r,"highlightedIndex"),inputValue:t.inputValue};break;case Ms:o={isOpen:!0,highlightedIndex:mr(r,e,0)};break;case Fs:o={selectedItem:t.selectedItem,inputValue:r.itemToString(t.selectedItem)};break;case zs:o={inputValue:t.inputValue};break;default:return Pg(e,t,vp)}return te({},e,o)}var zg=["onMouseLeave","refKey","ref"],Bg=["item","index","refKey","ref","onMouseMove","onMouseDown","onClick","onPress","disabled"],Ug=["onClick","onPress","refKey","ref"],jg=["onKeyDown","onChange","onInput","onFocus","onBlur","onChangeText","refKey","ref"];mp.stateChangeTypes=vp;function mp(e){e===void 0&&(e={}),Mg();var t=te({},Lg,e),n=t.initialIsOpen,r=t.defaultIsOpen,i=t.items,o=t.scrollIntoView,l=t.environment,u=t.getA11yStatusMessage,s=t.getA11ySelectionMessage,a=t.itemToString,m=Dg(t),y=Ag(Fg,m,t),S=y[0],C=y[1],_=S.isOpen,p=S.highlightedIndex,x=S.selectedItem,f=S.inputValue,c=z.useRef(null),d=z.useRef({}),h=z.useRef(null),w=z.useRef(null),k=z.useRef(!0),g=kg(t),v=z.useRef(),T=op({state:S,props:t}),E=z.useCallback(function(H){return d.current[g.getItemId(H)]},[g]);Rc(u,[_,p,f,i],te({isInitialMount:k.current,previousResultCount:v.current,items:i,environment:l,itemToString:a},S)),Rc(s,[x],te({isInitialMount:k.current,previousResultCount:v.current,items:i,environment:l,itemToString:a},S));var O=Tg({menuElement:c.current,highlightedIndex:p,isOpen:_,itemRefs:d,scrollIntoView:o,getItemNodeFromIndex:E});Og({isInitialMount:k.current,props:t,state:S}),z.useEffect(function(){var H=n||r||_;H&&h.current&&h.current.focus()},[]),z.useEffect(function(){k.current||(v.current=i.length)});var P=Ig(_,[h,c,w],l,function(){C({type:io,selectItem:!1})}),L=Rg();z.useEffect(function(){return k.current=!1,function(){k.current=!0}},[]),z.useEffect(function(){if(!_)d.current={};else if(document.activeElement!==h.current){var H;h==null||(H=h.current)==null||H.focus()}},[_]);var q=z.useMemo(function(){return{ArrowDown:function(j){j.preventDefault(),C({type:Cs,altKey:j.altKey,getItemNodeFromIndex:E})},ArrowUp:function(j){j.preventDefault(),C({type:Is,altKey:j.altKey,getItemNodeFromIndex:E})},Home:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Ts,getItemNodeFromIndex:E}))},End:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Os,getItemNodeFromIndex:E}))},Escape:function(j){var V=T.current.state;(V.isOpen||V.inputValue||V.selectedItem||V.highlightedIndex>-1)&&(j.preventDefault(),C({type:Rs}))},Enter:function(j){var V=T.current.state;!V.isOpen||j.which===229||(j.preventDefault(),C({type:Ds,getItemNodeFromIndex:E}))},PageUp:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Ps,getItemNodeFromIndex:E}))},PageDown:function(j){T.current.state.isOpen&&(j.preventDefault(),C({type:Ns,getItemNodeFromIndex:E}))}}},[C,T,E]),$=z.useCallback(function(H){return te({id:g.labelId,htmlFor:g.inputId},H)},[g]),b=z.useCallback(function(H,j){var V,G=H===void 0?{}:H,Qe=G.onMouseLeave,Oe=G.refKey,Ge=Oe===void 0?"ref":Oe,Xe=G.ref,Yt=or(G,zg),Rt=j===void 0?{}:j;return Rt.suppressRefError,te((V={},V[Ge]=yi(Xe,function(Tt){c.current=Tt}),V.id=g.menuId,V.role="listbox",V["aria-labelledby"]=g.labelId,V.onMouseLeave=mt(Qe,function(){C({type:lp})}),V),Yt)},[C,L,g]),R=z.useCallback(function(H){var j,V,G=H===void 0?{}:H,Qe=G.item,Oe=G.index,Ge=G.refKey,Xe=Ge===void 0?"ref":Ge,Yt=G.ref,Rt=G.onMouseMove,Tt=G.onMouseDown,xo=G.onClick;G.onPress;var hn=G.disabled,Co=or(G,Bg),lt=T.current,Io=lt.props,Xr=lt.state,vn=Sg(Oe,Qe,Io.items);if(vn<0)throw new Error("Pass either item or item index in getItemProps!");var Ro="onClick",To=xo,Yr=function(){Oe!==Xr.highlightedIndex&&(O.current=!1,C({type:up,index:Oe,disabled:hn}))},Ot=function(){C({type:Ls,index:Oe})},Jt=function(Wn){return Wn.preventDefault()};return te((j={},j[Xe]=yi(Yt,function(ut){ut&&(d.current[g.getItemId(vn)]=ut)}),j.disabled=hn,j.role="option",j["aria-selected"]=""+(vn===Xr.highlightedIndex),j.id=g.getItemId(vn),j),!hn&&(V={},V[Ro]=mt(To,Ot),V),{onMouseMove:mt(Rt,Yr),onMouseDown:mt(Tt,Jt)},Co)},[C,T,O,g]),I=z.useCallback(function(H){var j,V=H===void 0?{}:H,G=V.onClick;V.onPress;var Qe=V.refKey,Oe=Qe===void 0?"ref":Qe,Ge=V.ref,Xe=or(V,Ug),Yt=T.current.state,Rt=function(){C({type:sp})};return te((j={},j[Oe]=yi(Ge,function(Tt){w.current=Tt}),j["aria-controls"]=g.menuId,j["aria-expanded"]=Yt.isOpen,j.id=g.toggleButtonId,j.tabIndex=-1,j),!Xe.disabled&&te({},{onClick:mt(G,Rt)}),Xe)},[C,T,g]),N=z.useCallback(function(H,j){var V,G=H===void 0?{}:H,Qe=G.onKeyDown,Oe=G.onChange,Ge=G.onInput,Xe=G.onFocus,Yt=G.onBlur;G.onChangeText;var Rt=G.refKey,Tt=Rt===void 0?"ref":Rt,xo=G.ref,hn=or(G,jg),Co=j===void 0?{}:j;Co.suppressRefError;var lt=T.current.state,Io=function(ut){var Wn=fg(ut);Wn&&q[Wn]&&q[Wn](ut)},Xr=function(ut){C({type:As,inputValue:ut.target.value})},vn=function(){lt.isOpen&&!P.current.isMouseDown&&C({type:io,selectItem:!0})},Ro=function(){lt.isOpen||C({type:Ms})},To="onChange",Yr={};if(!hn.disabled){var Ot;Yr=(Ot={},Ot[To]=mt(Oe,Ge,Xr),Ot.onKeyDown=mt(Qe,Io),Ot.onBlur=mt(Yt,vn),Ot.onFocus=mt(Xe,Ro),Ot)}return te((V={},V[Tt]=yi(xo,function(Jt){h.current=Jt}),V["aria-activedescendant"]=lt.isOpen&<.highlightedIndex>-1?g.getItemId(lt.highlightedIndex):"",V["aria-autocomplete"]="list",V["aria-controls"]=g.menuId,V["aria-expanded"]=lt.isOpen,V["aria-labelledby"]=g.labelId,V.autoComplete="off",V.id=g.inputId,V.role="combobox",V.value=lt.inputValue,V),Yr,hn)},[C,q,T,P,L,g]),M=z.useCallback(function(){C({type:ap})},[C]),U=z.useCallback(function(){C({type:fp})},[C]),B=z.useCallback(function(){C({type:cp})},[C]),we=z.useCallback(function(H){C({type:dp,highlightedIndex:H})},[C]),_e=z.useCallback(function(H){C({type:Fs,selectedItem:H})},[C]),re=z.useCallback(function(H){C({type:pp,inputValue:H})},[C]),ce=z.useCallback(function(){C({type:hp})},[C]);return{getItemProps:R,getLabelProps:$,getMenuProps:b,getInputProps:N,getToggleButtonProps:I,toggleMenu:M,openMenu:B,closeMenu:U,setHighlightedIndex:we,setInputValue:re,selectItem:_e,reset:ce,highlightedIndex:p,isOpen:_,selectedItem:x,inputValue:f}}function qg(e){var t=e.removedSelectedItem,n=e.itemToString;return n(t)+" has been removed."}A.array,A.array,A.array,A.func,A.func,A.func,A.number,A.number,A.number,A.func,A.func,A.string,A.string,A.shape({addEventListener:A.func,removeEventListener:A.func,document:A.shape({getElementById:A.func,activeElement:A.any,body:A.any})});vr.itemToString,vr.stateReducer,vr.environment;let Hg=0;const $g=({setQuery:e,items:t,onSubmit:n,cioClient:r,previousQuery:i=""})=>mp({id:`cio-autocomplete-${Hg++}`,items:t,itemToString:o=>(o==null?void 0:o.value)||"",onSelectedItemChange({selectedItem:o}){var l;if(o&&(e(o.value||""),o!=null&&o.value)){n&&n({item:o,originalQuery:i});try{(l=o==null?void 0:o.data)!=null&&l.url||r==null||r.tracker.trackSearchSubmit(o.value,{original_query:i}),r==null||r.tracker.trackAutocompleteSelect(o.value,{original_query:i,section:o.section})}catch(u){console.log(u)}}}}),Vg=e=>{const t=z.useRef();return z.useEffect(()=>{t.current=e},[e]),t.current},bg=(e,t)=>{z.useEffect(()=>{e&&!Array.isArray(e)&&console.error("useCioAutocomplete expects sections to reference an array of section configuration objects"),t&&!Array.isArray(t)&&console.error("useCioAutocomplete expects zeroStateSections to reference an array of section configuration objects")},[e,t])},Wg=(e,t=250)=>{const[n,r]=z.useState(e);return z.useEffect(()=>{const i=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(i)}},[e,t]),n},Kg=(e,t)=>{const{numTermsWithGroupSuggestions:n,numGroupsSuggestedPerTerm:r}=t,i={};return Object.keys(e.sections).forEach(o=>{i[o]=[],e.sections[o].map(u=>{var s;return{...u,id:(s=u==null?void 0:u.data)==null?void 0:s.id,section:o}}).forEach((u,s)=>{var a,m,y;(a=i[o])==null||a.push(u),o==="Search Suggestions"&&((y=(m=u==null?void 0:u.data)==null?void 0:m.groups)!=null&&y.length)&&s<n&&u.data.groups.forEach((S,C)=>{var _,p;if(C<r){const x={...u,id:`${(_=u.data)==null?void 0:_.id}_${S.group_id}`,groupName:S.display_name,groupId:S.group_id};(p=i[o])==null||p.push(x)}})})}),i},Qg=(e,t,n,r)=>{const[i,o]=z.useState({}),l=Wg(e),{numTermsWithGroupSuggestions:u=0,numGroupsSuggestedPerTerm:s=0}=r||{},a=z.useMemo(()=>{const m={...r};return n&&(m.resultsPerSection=n.reduce((y,S)=>({...y,[S.identifier]:(S==null?void 0:S.numResults)||8}),{})),m},[n,r]);return z.useEffect(()=>{(async()=>{if(l.trim())try{const m=await(t==null?void 0:t.autocomplete.getAutocompleteResults(l,a)),y=Kg(m,{numTermsWithGroupSuggestions:u,numGroupsSuggestedPerTerm:s});o(y)}catch(m){console.log(m)}else l||o({})})()},[l,t,u,s,a]),i},Gg=(e,t)=>{const[n,r]=z.useState({});return z.useEffect(()=>{if(!e||!Array.isArray(t)||t.length===0)return;(async()=>{const o=await Promise.all(t.map(({identifier:u,...s})=>e.recommendations.getRecommendations(u,s))),l={};o.forEach(({response:u})=>{const{pod:s,results:a}=u;s!=null&&s.id&&(l[s.id]=a==null?void 0:a.map(m=>{var y;return{...m,id:(y=m==null?void 0:m.data)==null?void 0:y.id,section:s.id}}))});try{r(l)}catch(u){console.log(u)}})()},[e]),n};function Xg(e,t,n,r,i){const o=!e.length&&r,[l,u]=z.useState(o?r:n),s=z.useMemo(()=>l==null?void 0:l.filter(_=>_.type==="autocomplete"||!_.type),[l]),a=l==null?void 0:l.filter(_=>_.type==="recommendations"),m=Qg(e,t,s,i),y=Gg(t,a),S={...m,...y},C=Hm(l,S);return z.useEffect(()=>{u(o?r:n)},[e,n,r,o]),z.useEffect(()=>{n&&!Array.isArray(n)&&u([]),r&&!Array.isArray(r)&&u([])},[n,r]),{activeSections:l,activeSectionsWithData:C,zeroStateActiveSections:o}}const Yg=e=>{const t=[];return e==null||e.forEach(n=>{n!=null&&n.data&&t.push(...n.data)}),t},Jg=[{identifier:"Search Suggestions",type:"autocomplete"},{identifier:"Products",type:"autocomplete"}],Zg=e=>{const{onSubmit:t,onChange:n,openOnFocus:r,apiKey:i,cioJsClient:o,placeholder:l="What can we help you find today?",sections:u=Jg,zeroStateSections:s,autocompleteClassName:a="cio-autocomplete",advancedParameters:m}=e,[y,S]=z.useState(""),C=Vg(y),_=$m({apiKey:i,cioJsClient:o}),{activeSections:p,activeSectionsWithData:x,zeroStateActiveSections:f}=Xg(y,_,u,s,m),c=Yg(x),d=$g({setQuery:S,items:c,onSubmit:t,cioClient:_,previousQuery:C}),{isOpen:h,getMenuProps:w,getLabelProps:k,openMenu:g,closeMenu:v,highlightedIndex:T}=d;return bg(u,p),{query:y,sections:x,isOpen:h&&(c==null?void 0:c.length)>0,getMenuProps:()=>({...w(),className:"cio-results","data-testid":"cio-results"}),getLabelProps:k,openMenu:g,closeMenu:v,getItemProps:E=>{const{index:O,sectionId:P}=Um({item:E,items:c}),L=`cio-item-${P==null?void 0:P.replace(" ","")}`;return{...d.getItemProps({item:E,index:O}),className:`cio-item ${L}`,"data-testid":L}},getInputProps:()=>({...d.getInputProps({onChange:E=>{S(E.target.value),n&&n(E.target.value)}}),value:y,onFocus:()=>{var E;e.onFocus&&e.onFocus(),f&&r!==!1&&d.openMenu(),y!=null&&y.length&&d.openMenu();try{(E=_==null?void 0:_.tracker)==null||E.trackInputFocus()}catch(O){console.log(O)}},className:"cio-input","data-testid":"cio-input",placeholder:l,onKeyDownCapture:({code:E})=>{const O=E==="Enter",P=T<0;if(h&&O&&P&&(y!=null&&y.length)){t&&t({query:y});try{_==null||_.tracker.trackSearchSubmit(y,{original_query:y})}catch(L){console.log(L)}}}}),getFormProps:()=>({onSubmit:E=>{E.preventDefault(),t&&t({query:y});try{_==null||_.tracker.trackSearchSubmit(y,{original_query:y})}catch(O){console.log(O)}return{query:y}},className:"cio-form","data-testid":"cio-form"}),setQuery:S,cioClient:_,autocompleteClassName:a,selectedItem:c[T]}},Eo=z.createContext({});function Tc(e){const{children:t,...n}=e,r=Zg(n);return K.createElement(Eo.Provider,{value:r},K.createElement("div",{className:r.autocompleteClassName},t))}function ey(e){var o;const{item:t,children:n}=e,{getItemProps:r}=z.useContext(Eo);let i;return Fm(t)?i=K.createElement(K.Fragment,null,K.createElement("img",{"data-testid":"cio-img",src:(o=t.data)==null?void 0:o.image_url,alt:t.value}),K.createElement("p",{"data-testid":"cio-text"},t.value)):zm(t)?i=K.createElement("p",{className:"cio-term-in-group"},"in ",t.groupName):i=K.createElement("p",null,t.value),K.createElement("li",{...r(t)},n||i)}const ty=function({section:e}){var n,r;const t=(e==null?void 0:e.displayName)||(e==null?void 0:e.identifier);return(n=e==null?void 0:e.data)!=null&&n.length?K.createElement("li",{className:`${t} cio-section`,role:"none"},K.createElement("h5",{className:"cio-sectionName","aria-hidden":!0},jm(t)),K.createElement("ul",{className:"cio-section-items",role:"none"},(r=e==null?void 0:e.data)==null?void 0:r.map(i=>K.createElement(ey,{item:i,key:i==null?void 0:i.id})))):null};function ny(e){const{section:t,children:n=ty}=e;return n({section:t})}const ry=({sections:e})=>e==null?void 0:e.map(t=>K.createElement(ny,{section:t,key:t.identifier}));function iy(e){const{children:t=ry}=e,{sections:n,isOpen:r,getMenuProps:i,getItemProps:o}=z.useContext(Eo),l=n&&n.some(a=>{var m;return(m=a==null?void 0:a.data)==null?void 0:m.length}),u={...i()};let s;return r&&l?s=typeof t=="function"?t({sections:n,getItemProps:o}):t:(s=null,u.style={display:"none"}),K.createElement("ul",{...u},s)}function oy({getFormProps:e,getInputProps:t,getLabelProps:n,setQuery:r}){const i=t();return K.createElement("form",{...e()},K.createElement("label",{...n(),htmlFor:"cio-input"},K.createElement("input",{id:"cio-input",...i})),K.createElement("button",{className:"cio-clear-btn","data-testid":"cio-clear-btn",hidden:!i.value,onClick:()=>{r(""),i.id&&setTimeout(()=>{var o;return(o=document.getElementById(i.id))==null?void 0:o.focus()},100)},type:"button","aria-label":"Clear search field text"},K.createElement("div",{className:"cio-icon"},K.createElement("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 512 512",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg"},K.createElement("path",{d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"})))),K.createElement("button",{className:"cio-submit-btn","data-testid":"cio-submit-btn",disabled:!i.value,type:"submit","aria-label":"Submit Search"},K.createElement("div",{className:"cio-icon"},K.createElement("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 512 512",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg"},K.createElement("path",{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"})))))}function ly(e){const{children:t=oy}=e,{getFormProps:n,getInputProps:r,getLabelProps:i,setQuery:o}=z.useContext(Eo);return t({getFormProps:n,getInputProps:r,getLabelProps:i,setQuery:o})}function uy(e){const{children:t}=e;return t?K.createElement(Tc,{...e},t):K.createElement("div",null,K.createElement(Tc,{...e},K.createElement(ly,null),K.createElement(iy,null)))}const sy=({selector:e,includeCSS:t=!0,...n})=>{if(document){const r=document.getElementById("cio-autocomplete-styles"),i=document.querySelector(e);if(!i){console.error("CioAutocomplete: There were no elements found for the provided selector");return}r&&(t?r.disabled=!1:r.disabled=!0),Pl.createRoot(i).render(K.createElement(K.StrictMode,null,K.createElement(uy,{...n})))}};window&&(window.CioAutocomplete=sy);export{sy as default};
|
package/lib/.DS_Store
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -64,7 +64,13 @@ const useCioAutocomplete = (options) => {
|
|
|
64
64
|
if (query === null || query === void 0 ? void 0 : query.length) {
|
|
65
65
|
downshift.openMenu();
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
try {
|
|
68
|
+
(_a = cioClient === null || cioClient === void 0 ? void 0 : cioClient.tracker) === null || _a === void 0 ? void 0 : _a.trackInputFocus();
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
// eslint-disable-next-line no-console
|
|
72
|
+
console.log(error);
|
|
73
|
+
}
|
|
68
74
|
}, className: 'cio-input', 'data-testid': 'cio-input', placeholder, onKeyDownCapture: ({ code }) => {
|
|
69
75
|
const isEnter = code === 'Enter';
|
|
70
76
|
const isUserInput = highlightedIndex < 0;
|
|
@@ -72,7 +78,13 @@ const useCioAutocomplete = (options) => {
|
|
|
72
78
|
if (onSubmit) {
|
|
73
79
|
onSubmit({ query });
|
|
74
80
|
}
|
|
75
|
-
|
|
81
|
+
try {
|
|
82
|
+
cioClient === null || cioClient === void 0 ? void 0 : cioClient.tracker.trackSearchSubmit(query, { original_query: query });
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// eslint-disable-next-line no-console
|
|
86
|
+
console.log(error);
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
89
|
} })),
|
|
78
90
|
getFormProps: () => ({
|
|
@@ -81,7 +93,13 @@ const useCioAutocomplete = (options) => {
|
|
|
81
93
|
if (onSubmit) {
|
|
82
94
|
onSubmit({ query });
|
|
83
95
|
}
|
|
84
|
-
|
|
96
|
+
try {
|
|
97
|
+
cioClient === null || cioClient === void 0 ? void 0 : cioClient.tracker.trackSearchSubmit(query, { original_query: query });
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
// eslint-disable-next-line no-console
|
|
101
|
+
console.log(error);
|
|
102
|
+
}
|
|
85
103
|
return { query };
|
|
86
104
|
},
|
|
87
105
|
className: 'cio-form',
|
|
@@ -13,15 +13,21 @@ const useDownShift = ({ setQuery, items, onSubmit, cioClient, previousQuery = ''
|
|
|
13
13
|
if (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value) {
|
|
14
14
|
if (onSubmit)
|
|
15
15
|
onSubmit({ item: selectedItem, originalQuery: previousQuery });
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
try {
|
|
17
|
+
if (!((_a = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.data) === null || _a === void 0 ? void 0 : _a.url)) {
|
|
18
|
+
cioClient === null || cioClient === void 0 ? void 0 : cioClient.tracker.trackSearchSubmit(selectedItem.value, {
|
|
19
|
+
original_query: previousQuery,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
cioClient === null || cioClient === void 0 ? void 0 : cioClient.tracker.trackAutocompleteSelect(selectedItem.value, {
|
|
18
23
|
original_query: previousQuery,
|
|
24
|
+
section: selectedItem.section,
|
|
19
25
|
});
|
|
20
26
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// eslint-disable-next-line no-console
|
|
29
|
+
console.log(error);
|
|
30
|
+
}
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
},
|
|
@@ -70,7 +70,13 @@ const useCioAutocomplete = (options) => {
|
|
|
70
70
|
if (query?.length) {
|
|
71
71
|
downshift.openMenu();
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
try {
|
|
74
|
+
cioClient?.tracker?.trackInputFocus();
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
// eslint-disable-next-line no-console
|
|
78
|
+
console.log(error);
|
|
79
|
+
}
|
|
74
80
|
},
|
|
75
81
|
className: 'cio-input',
|
|
76
82
|
'data-testid': 'cio-input',
|
|
@@ -82,7 +88,13 @@ const useCioAutocomplete = (options) => {
|
|
|
82
88
|
if (onSubmit) {
|
|
83
89
|
onSubmit({ query });
|
|
84
90
|
}
|
|
85
|
-
|
|
91
|
+
try {
|
|
92
|
+
cioClient?.tracker.trackSearchSubmit(query, { original_query: query });
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
// eslint-disable-next-line no-console
|
|
96
|
+
console.log(error);
|
|
97
|
+
}
|
|
86
98
|
}
|
|
87
99
|
},
|
|
88
100
|
}),
|
|
@@ -92,7 +104,13 @@ const useCioAutocomplete = (options) => {
|
|
|
92
104
|
if (onSubmit) {
|
|
93
105
|
onSubmit({ query });
|
|
94
106
|
}
|
|
95
|
-
|
|
107
|
+
try {
|
|
108
|
+
cioClient?.tracker.trackSearchSubmit(query, { original_query: query });
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
// eslint-disable-next-line no-console
|
|
112
|
+
console.log(error);
|
|
113
|
+
}
|
|
96
114
|
return { query };
|
|
97
115
|
},
|
|
98
116
|
className: 'cio-form',
|
|
@@ -10,15 +10,21 @@ const useDownShift = ({ setQuery, items, onSubmit, cioClient, previousQuery = ''
|
|
|
10
10
|
if (selectedItem?.value) {
|
|
11
11
|
if (onSubmit)
|
|
12
12
|
onSubmit({ item: selectedItem, originalQuery: previousQuery });
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
try {
|
|
14
|
+
if (!selectedItem?.data?.url) {
|
|
15
|
+
cioClient?.tracker.trackSearchSubmit(selectedItem.value, {
|
|
16
|
+
original_query: previousQuery,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
cioClient?.tracker.trackAutocompleteSelect(selectedItem.value, {
|
|
15
20
|
original_query: previousQuery,
|
|
21
|
+
section: selectedItem.section,
|
|
16
22
|
});
|
|
17
23
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
// eslint-disable-next-line no-console
|
|
26
|
+
console.log(error);
|
|
27
|
+
}
|
|
22
28
|
}
|
|
23
29
|
}
|
|
24
30
|
},
|
package/package.json
CHANGED