2025-02-10 11:50:31 +00:00
|
|
|
import{I as N,J as F,j as d,S as L,K,M as fe,P as A,N as y,O as pe,Q as me,R as Re,f as U}from"./ui-library-GY7_vKUX.js";import{d as w,a as s}from"./react-vendor-OnsDvTPE.js";function ve(e){const o=e+"CollectionProvider",[t,n]=N(o),[a,i]=t(o,{collectionRef:{current:null},itemMap:new Map}),p=c=>{const{scope:r,children:l}=c,m=w.useRef(null),R=w.useRef(new Map).current;return d.jsx(a,{scope:r,itemMap:R,collectionRef:m,children:l})};p.displayName=o;const C=e+"CollectionSlot",f=w.forwardRef((c,r)=>{const{scope:l,children:m}=c,R=i(C,l),I=F(r,R.collectionRef);return d.jsx(L,{ref:I,children:m})});f.displayName=C;const u=e+"CollectionItemSlot",g="data-radix-collection-item",v=w.forwardRef((c,r)=>{const{scope:l,children:m,...R}=c,I=w.useRef(null),h=F(r,I),S=i(u,l);return w.useEffect(()=>(S.itemMap.set(I,{ref:I,...R}),()=>void S.itemMap.delete(I))),d.jsx(L,{[g]:"",ref:h,children:m})});v.displayName=u;function b(c){const r=i(e+"CollectionConsumer",c);return w.useCallback(()=>{const m=r.collectionRef.current;if(!m)return[];const R=Array.from(m.querySelectorAll(`[${g}]`));return Array.from(r.itemMap.values()).sort((S,_)=>R.indexOf(S.ref.current)-R.indexOf(_.ref.current))},[r.collectionRef,r.itemMap])}return[{Provider:p,Slot:f,ItemSlot:v},b,n]}var be=s.createContext(void 0);function V(e){const o=s.useContext(be);return e||o||"ltr"}var k="rovingFocusGroup.onEntryFocus",Ie={bubbles:!1,cancelable:!0},P="RovingFocusGroup",[G,B,Ce]=ve(P),[ge,q]=N(P,[Ce]),[xe,ye]=ge(P),z=s.forwardRef((e,o)=>d.jsx(G.Provider,{scope:e.__scopeRovingFocusGroup,children:d.jsx(G.Slot,{scope:e.__scopeRovingFocusGroup,children:d.jsx(Ee,{...e,ref:o})})}));z.displayName=P;var Ee=s.forwardRef((e,o)=>{const{__scopeRovingFocusGroup:t,orientation:n,loop:a=!1,dir:i,currentTabStopId:p,defaultCurrentTabStopId:C,onCurrentTabStopIdChange:f,onEntryFocus:u,preventScrollOnEntryFocus:g=!1,...v}=e,b=s.useRef(null),c=F(o,b),r=V(i),[l=null,m]=K({prop:p,defaultProp:C,onChange:f}),[R,I]=s.useState(!1),h=fe(u),S=B(t),_=s.useRef(!1),[ae,j]=s.useState(0);return s.useEffect(()=>{const x=b.current;if(x)return x.addEventListener(k,h),()=>x.removeEventListener(k,h)},[h]),d.jsx(xe,{scope:t,orientation:n,dir:r,loop:a,currentTabStopId:l,onItemFocus:s.useCallback(x=>m(x),[m]),onItemShiftTab:s.useCallback(()=>I(!0),[]),onFocusableItemAdd:s.useCallback(()=>j(x=>x+1),[]),onFocusableItemRemove:s.useCallback(()=>j(x=>x-1),[]),children:d.jsx(A.div,{tabIndex:R||ae===0?-1:0,"data-orientation":n,...v,ref:c,style:{outline:"none",...e.style},onMouseDown:y(e.onMouseDown,()=>{_.current=!0}),onFocus:y(e.onFocus,x=>{const ie=!_.current;if(x.target===x.currentTarget&&ie&&!R){const O=new CustomEvent(k,Ie);if(x.currentTarget.dispatchEvent(O),!O.defaultPrevented){const T=S().filter(E=>E.focusable),ue=T.find(E=>E.active),de=T.find(E=>E.id===l),le=[ue,de,...T].filter(Boolean).map(E=>E.ref.current);H(le,g)}}_.current=!1}),onBlur:y(e.onBlur,()=>I(!1))})})}),Y="RovingFocusGroupItem",$=s.forwardRef((e,o)=>{const{__scopeRovingFocusGroup:t,focusable:n=!0,active:a=!1,tabStopId:i,...p}=e,C=pe(),f=i||C,u=ye(Y,t),g=u.currentTabStopId===f,v=B(t),{onFocusableItemAdd:b,onFocusableItemRemove:c}=u;return s.useEffect(()=>{if(n)return b(),()=>c()},[n,b,c]),d.jsx(G.ItemSlot,{scope:t,id:f,focusable:n,active:a,children:d.jsx(A.span,{tabIndex:g?0:-1,"data-orientation":u.orientation,...p,ref:o,onMouseDown:y(e.onMouseDown,r=>{n?u.onItemFocus(f):r.preventDefault()}),onFocus:y(e.onFocus,()=>u.onItemFocus(f)),onKeyDown:y(e.onKeyDown,r=>{if(r.key==="Tab"&&r.shiftKey){u.onItemShiftTab();return}if(r.target!==r.currentTarget)return;const l=Se(r,u.orientation,u.dir);if(l!==void 0){if(r.metaKey||r.ctrlKey||r.altKey||r.shiftKey)return;r.preventDefault();let R=v().filter(I=>I.focusable).map(I=>I.ref.current);if(l==="last")R.reverse();else if(l==="prev"||l==="next"){l==="prev"&&R.reverse();const I=R.indexOf(r.currentTarget);R=u.loop?_e(R,I+1):R.slice(I+1)}setTimeout(()=>H(R))}})})})});$.displayName=Y;var we={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function he(e,o){retu
|