1import{a as j,b as B}from"./chunks/chunk-AW2SNTXN.js";import{a as K,b as x}from"./chunks/chunk-7SEZV6AP.js";import{a as V}from"./chunks/chunk-J7QL54PM.js";import{a as q}from"./chunks/chunk-B5H4JZTJ.js";import{a as g,b as w}from"./chunks/chunk-N26L5ZDX.js";import{b as F,c as U}from"./chunks/chunk-W4G3NBNG.js";import{a as S}from"./chunks/chunk-JXIYKDN5.js";import{a as h}from"./chunks/chunk-LDR7TISG.js";import{a as R,b as M}from"./chunks/chunk-VTVYULOY.js";import"./chunks/chunk-LY4LIHUI.js";import{a as L}from"./chunks/chunk-7SOGCH4F.js";import{e as W}from"./chunks/chunk-6KL6YNEA.js";M();var t=W(L(),1);M();var a=W(L(),1);var G="rovingFocusGroup.onEntryFocus",de={bubbles:!1,cancelable:!0},T="RovingFocusGroup",[A,H,ue]=K(T),[fe,D]=F(T,[ue]),[le,$e]=fe(T),pe=(0,a.forwardRef)((e,r)=>(0,a.createElement)(A.Provider,{scope:e.__scopeRovingFocusGroup},(0,a.createElement)(A.Slot,{scope:e.__scopeRovingFocusGroup},(0,a.createElement)(be,R({},e,{ref:r}))))),be=(0,a.forwardRef)((e,r)=>{let{__scopeRovingFocusGroup:o,orientation:n,loop:s=!1,dir:i,currentTabStopId:l,defaultCurrentTabStopId:m,onCurrentTabStopIdChange:f,onEntryFocus:d,...I}=e,p=(0,a.useRef)(null),b=h(r,p),u=x(i),[c=null,$]=w({prop:l,defaultProp:m,onChange:f}),[_,C]=(0,a.useState)(!1),E=U(d),re=H(o),P=(0,a.useRef)(!1),[ne,O]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let v=p.current;if(v)return v.addEventListener(G,E),()=>v.removeEventListener(G,E)},[E]),(0,a.createElement)(le,{scope:o,orientation:n,dir:u,loop:s,currentTabStopId:c,onItemFocus:(0,a.useCallback)(v=>$(v),[$]),onItemShiftTab:(0,a.useCallback)(()=>C(!0),[]),onFocusableItemAdd:(0,a.useCallback)(()=>O(v=>v+1),[]),onFocusableItemRemove:(0,a.useCallback)(()=>O(v=>v-1),[])},(0,a.createElement)(S.div,R({tabIndex:_||ne===0?-1:0,"data-orientation":n},I,{ref:b,style:{outline:"none",...e.style},onMouseDown:g(e.onMouseDown,()=>{P.current=!0}),onFocus:g(e.onFocus,v=>{let ae=!P.current;if(v.target===v.currentTarget&&ae&&!_){let N=new CustomEvent(G,de);if(v.currentTarget.dispatchEvent(N),!N.defaultPrevented){let k=re().filter(y=>y.focusable),se=k.find(y=>y.active),ce=k.find(y=>y.id===c),ie=[se,ce,...k].filter(Boolean).map(y=>y.ref.current);z(ie)}}P.current=!1}),onBlur:g(e.onBlur,()=>C(!1))})))}),me="RovingFocusGroupItem",ve=(0,a.forwardRef)((e,r)=>{let{__scopeRovingFocusGroup:o,focusable:n=!0,active:s=!1,tabStopId:i,...l}=e,m=V(),f=i||m,d=$e(me,o),I=d.currentTabStopId===f,p=H(o),{onFocusableItemAdd:b,onFocusableItemRemove:u}=d;return(0,a.useEffect)(()=>{if(n)return b(),()=>u()},[n,b,u]),(0,a.createElement)(A.ItemSlot,{scope:o,id:f,focusable:n,active:s},(0,a.createElement)(S.span,R({tabIndex:I?0:-1,"data-orientation":d.orientation},l,{ref:r,onMouseDown:g(e.onMouseDown,c=>{n?d.onItemFocus(f):c.preventDefault()}),onFocus:g(e.onFocus,()=>d.onItemFocus(f)),onKeyDown:g(e.onKeyDown,c=>{if(c.key==="Tab"&&c.shiftKey){d.onItemShiftTab();return}if(c.target!==c.currentTarget)return;let $=ge(c,d.orientation,d.dir);if($!==void 0){c.preventDefault();let C=p().filter(E=>E.focusable).map(E=>E.ref.current);if($==="last")C.reverse();else if($==="prev"||$==="next"){$==="prev"&&C.reverse();let E=C.indexOf(c.currentTarget);C=d.loop?Ce(C,E+1):C.slice(E+1)}setTimeout(()=>z(C))}})})))}),Re={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ie(e,r){return r!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function ge(e,r,o){let n=Ie(e.key,o);if(!(r==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(r==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return Re[n]}function z(e){let r=document.activeElement;for(let o of e)if(o===r||(o.focus(),document.activeElement!==r))return}function Ce(e,r){return e.map((o,n)=>e[(r+n)%e.length])}var Y=pe,X=ve;var J="Radio",[Ee,Q]=F(J),[ye,Se]=Ee(J),_e=(0,t.forwardRef)((e,r)=>{let{__scopeRadio:o,name:n,checked:s=!1,required:i,disabled:l,value:m="on",onCheck:f,...d}=e,[I,p]=(0,t.useState)(null),b=h(r,$=>p($)),u=(0,t.useRef)(!1),c=I?!!I.closest("form"):!0;return(0,t.createElement)(ye,{scope:o,checked:s,disabled:l},(0,t.createElement)(S.button,R({type:"button",role:"radio","aria-checked":s,"data-state":Z(s),"data-disabled":l?"":void 0,disabled:l,value:m},d,{ref:b,onClick:g(e.onClick,$=>{s||f?.(),c&&(u.current=$.isPropagationStopped(),u.current||$.stopPropagation())})})),c&&(0,t.createElement)(we,{control:I,bubbles:!u.current,name:n,value:m,checked:s,required:i,disabled:l,style:{transform:"translateX(-100%)"}}))}),Fe="RadioIndicator",he=(0,t.forwardRef)((e,r)=>{let{__scopeRadio:o,forceMount:n,...s}=e,i=Se(Fe,o);return(0,t.createElement)(q,{present:n||i.checked},(0,t.createElement)(S.span,R({"data-state":Z(i.checked),"data-disabled":i.disabled?"":void 0},s,{ref:r})))}),we=e=>{let{control:r,checked:o,bubbles:n=!0,...s}=e,i=(0,t.useRef)(null),l=j(o),m=B(r);return(0,t.useEffect)(()=>{let f=i.current,d=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(d,"checked").set;if(l!==o&&p){let b=new Event("click",{bubbles:n});p.call(f,o),f.dispatchEvent(b)}},[l,o,n]),(0,t.createElement)("input",R({type:"radio","aria-hidden":!0,defaultChecked:o},s,{tabIndex:-1,ref:i,style:{...e.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function Z(e){return e?"checked":"unchecked"}var xe=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ee="RadioGroup",[Pe,so]=F(ee,[D,Q]),oe=D(),te=Q(),[ke,Ge]=Pe(ee),Ae=(0,t.forwardRef)((e,r)=>{let{__scopeRadioGroup:o,name:n,defaultValue:s,value:i,required:l=!1,disabled:m=!1,orientation:f,dir:d,loop:I=!0,onValueChange:p,...b}=e,u=oe(o),c=x(d),[$,_]=w({prop:i,defaultProp:s,onChange:p});return(0,t.createElement)(ke,{scope:o,name:n,required:l,disabled:m,value:$,onValueChange:_},(0,t.createElement)(Y,R({asChild:!0},u,{orientation:f,dir:c,loop:I}),(0,t.createElement)(S.div,R({role:"radiogroup","aria-required":l,"aria-orientation":f,"data-disabled":m?"":void 0,dir:c},b,{ref:r}))))}),Te="RadioGroupItem",De=(0,t.forwardRef)((e,r)=>{let{__scopeRadioGroup:o,disabled:n,...s}=e,i=Ge(Te,o),l=i.disabled||n,m=oe(o),f=te(o),d=(0,t.useRef)(null),I=h(r,d),p=i.value===s.value,b=(0,t.useRef)(!1);return(0,t.useEffect)(()=>{let u=$=>{xe.includes($.key)&&(b.current=!0)},c=()=>b.current=!1;return document.addEventListener("keydown",u),document.addEventListener("keyup",c),()=>{document.removeEventListener("keydown",u),document.removeEventListener("keyup",c)}},[]),(0,t.createElement)(X,R({asChild:!0},m,{focusable:!l,active:p}
1),(0,t.createElement)(_e,R({disabled:l,required:i.required,checked:p},f,s,{name:i.name,ref:I,onCheck:()=>i.onValueChange(s.value),onKeyDown:g(u=>{u.key==="Enter"&&u.preventDefault()}),onFocus:g(s.onFocus,()=>{var u;b.current&&((u=d.current)===null||u===void 0||u.click())})})))});var Oe=(0,t.forwardRef)((e,r)=>{let{__scopeRadioGroup:o,...n}=e,s=te(o);return(0,t.createElement)(he,R({},s,n,{ref:r}))}),co=Ae,io=De,uo=Oe;export{uo as Indicator,io as Item,Ae as RadioGroup,Oe as RadioGroupIndicator,De as RadioGroupItem,co as Root,so as createRadioGroupScope}; 2//# sourceMappingURL=radix-ui-react-radio-group.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.