Module 416681

3,456 characters · in ec4d1fcfc907e8e4.js
Dependencies
Required by (1)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){n.d(t,{Ay:()=>c});var l=n(64700),r=n(785825),a=n(741918),i=n(602034);let s=[a.D$.TAB,a.D$.UP,a.D$.DOWN];function o(e,t,n){return null!=n?`#${e(t,n)}`:`#${t}`}function E(e){return document.querySelector(e)}function u(e){document.getElementById(e)?.focus()}function c(e){let{navId:t,itemCount:n,focusedIndex:c=0,onSelect:_,setFocus:d,getNewFocusIndex:A,maintainFocusPosition:g=!0,includeSetSizes:T=!0,focusOnMount:I=!0,enabled:N=!0,onDispatch:h}=e,m=l.useCallback((e,t)=>{let n=(0,r.A)(e,t);return null!=h&&h(e,n,t),n},[h]),[S,G]=l.useReducer(m,{focusedIndex:c,itemCount:n}),{itemCount:O,focusedIndex:R}=S,[C]=l.useState(()=>(0,i.nF)(G,16));return l.useEffect(()=>{G({type:r.D.UPDATE_ITEM_COUNT,itemCount:n})},[n]),function(e){let{navId:t,itemCount:n,focusedIndex:c,onSelect:_,setFocus:d=u,getNewFocusIndex:A,dispatch:g,maintainFocusPosition:T,includeSetSizes:I,focusOnMount:N,enabled:h,makeId:m=i.M4,getIndexFromId:S}=e,G=l.useRef(n),O=l.useRef(S);O.current=S,G.current=n;let R=l.useRef(h);l.useEffect(()=>{R.current=h},[h]);let[C,L]=l.useState(!1),[D]=l.useState(()=>new i.Lp(e=>()=>{let t=null!=O.current&&"string"==typeof e?O.current(e):e;"number"!=typeof t||t<0||g({type:r.D.SET_FOCUSED_INDEX,index:t})}));l.useEffect(()=>()=>D.clean(),[D]);let f=l.useCallback((e,t)=>{R.current&&d(e,t)},[d]),[x,M]=l.useState(!0);l.useEffect(()=>{x&&!N?M(!1):f(m(t,c),c)},[c]);let p=l.useCallback(function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],n=null!=A?A(c):c;n!==c&&g({type:r.D.SET_FOCUSED_INDEX,index:n}),e&&f(m(t,n),n)},[m,c,A,g,t,f]),U=l.useCallback(e=>{if(!R.current)return;if(s.includes(e.key)&&!(e.shiftKey||e.altKey||e.metaKey||e.ctrlKey)&&e.currentTarget===e.target){e.preventDefault(),e.stopPropagation(),p();return}let n=function(e){switch(e.key){case a.D$.ENTER:case a.D$.SPACE:return a.X2.SELECT_FOCUSED_ITEM;case a.D$.UP:return a.X2.NAVIGATE_UP;case a.D$.DOWN:return a.X2.NAVIGATE_DOWN;case a.D$.HOME:return a.X2.NAVIGATE_START;case a.D$.END:return a.X2.NAVIGATE_END}}(e);switch(n){case a.X2.NAVIGATE_UP:case a.X2.NAVIGATE_DOWN:case a.X2.NAVIGATE_START:case a.X2.NAVIGATE_END:e.preventDefault(),e.stopPropagation(),g({type:n});return;case a.X2.SELECT_FOCUSED_ITEM:let l=E(o(m,t,c));if(l?.ownerDocument.activeElement!==l||e.repeat)return;if(e.preventDefault(),e.stopPropagation(),g({type:n}),null!=_)return void _(c);l?.click()}},[m,t,g,c,p,_]),k=l.useCallback(()=>{C||L(!0)},[C]),b=l.useCallback(()=>{C||(T?f(m(t,c),c):p(!0))},[m,t,f,T,C,c,p]),F=l.useCallback(e=>{e.currentTarget.contains(e.relatedTarget)||requestAnimationFrame(()=>{null==E(o(m,t,c))?f(t):L(!1)})},[m,t,c,f]),j=l.useRef(null);l.useLayoutEffect(()=>{let e=j.current;if(null!=e)return e.addEventListener("focusin",k),e.addEventListener("focus",b),e.addEventListener("focusout",F),()=>{e.removeEventListener("focusin",k),e.removeEventListener("focus",b),e.removeEventListener("focusout",F)}},[b,k,F]);let v=l.useCallback(()=>({role:"list",tabIndex:C&&T?-1:0,id:t,onKeyDown:U,ref:j}),[t,C,U,T]),P=l.useCallback(e=>{let{index:n}=e;return{role:"listitem","aria-setsize":I?G.current:void 0,"aria-posinset":I?n+1:void 0,id:m(t,n),tabIndex:T&&n===c?0:-1,onFocus:D.get(null!=O.current?m(t,n):n)}},[m,t,c,T,D,I]);return l.useMemo(()=>({dispatch:g,getContainerProps:v,getItemProps:P}),[g,v,P])}({navId:t,itemCount:O,focusedIndex:R,dispatch:C,onSelect:_,setFocus:d,getNewFocusIndex:A,maintainFocusPosition:g,includeSetSizes:T,focusOnMount:I,enabled:N})}}