import{$ as x,_ as v,b as h,a as k}from"./index-O01Wap2_.js";import{r as e}from"./index-Dj8cni3S.js";import{d as A,b as S,a as R,e as I,$ as q}from"./index-Bj-lp2cP.js";import{$ as E,a as D,b as M}from"./index-CS408tHj.js";import{$ as O}from"./index-026E9YPd.js";const _="Radio",[V,C]=x(_),[F,L]=V(_),K=e.forwardRef((a,s)=>{const{__scopeRadio:o,name:d,checked:t=!1,required:r,disabled:n,value:i="on",onCheck:f,...p}=a,[l,u]=e.useState(null),$=k(s,m=>u(m)),c=e.useRef(!1),b=l?!!l.closest("form"):!0;return e.createElement(F,{scope:o,checked:t,disabled:n},e.createElement(h.button,v({type:"button",role:"radio","aria-checked":t,"data-state":w(t),"data-disabled":n?"":void 0,disabled:n,value:i},p,{ref:$,onClick:R(a.onClick,m=>{t||f==null||f(),b&&(c.current=m.isPropagationStopped(),c.current||m.stopPropagation())})})),b&&e.createElement(T,{control:l,bubbles:!c.current,name:d,value:i,checked:t,required:r,disabled:n,style:{transform:"translateX(-100%)"}}))}),N="RadioIndicator",B=e.forwardRef((a,s)=>{const{__scopeRadio:o,forceMount:d,...t}=a,r=L(N,o);return e.createElement(q,{present:d||r.checked},e.createElement(h.span,v({"data-state":w(r.checked),"data-disabled":r.disabled?"":void 0},t,{ref:s})))}),T=a=>{const{control:s,checked:o,bubbles:d=!0,...t}=a,r=e.useRef(null),n=O(o),i=I(s);return e.useEffect(()=>{const f=r.current,p=window.HTMLInputElement.prototype,u=Object.getOwnPropertyDescriptor(p,"checked").set;if(n!==o&&u){const $=new Event("click",{bubbles:d});u.call(f,o),f.dispatchEvent($)}},[n,o,d]),e.createElement("input",v({type:"radio","aria-hidden":!0,defaultChecked:o},t,{tabIndex:-1,ref:r,style:{...a.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function w(a){return a?"checked":"unchecked"}const U=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],y="RadioGroup",[j,re]=x(y,[E,C]),g=E(),P=C(),[z,H]=j(y),W=e.forwardRef((a,s)=>{const{__scopeRadioGroup:o,name:d,defaultValue:t,value:r,required:n=!1,disabled:i=!1,orientation:f,dir:p,loop:l=!0,onValueChange:u,...$}=a,c=g(o),b=A(p),[m,G]=S({prop:r,defaultProp:t,onChange:u});return e.createElement(z,{scope:o,name:d,required:n,disabled:i,value:m,onValueChange:G},e.createElement(D,v({asChild:!0},c,{orientation:f,dir:b,loop:l}),e.createElement(h.div,v({role:"radiogroup","aria-required":n,"aria-orientation":f,"data-disabled":i?"":void 0,dir:b},$,{ref:s}))))}),X="RadioGroupItem",Y=e.forwardRef((a,s)=>{const{__scopeRadioGroup:o,disabled:d,...t}=a,r=H(X,o),n=r.disabled||d,i=g(o),f=P(o),p=e.useRef(null),l=k(s,p),u=r.value===t.value,$=e.useRef(!1);return e.useEffect(()=>{const c=m=>{U.includes(m.key)&&($.current=!0)},b=()=>$.current=!1;return document.addEventListener("keydown",c),document.addEventListener("keyup",b),()=>{document.removeEventListener("keydown",c),document.removeEventListener("keyup",b)}},[]),e.createElement(M,v({asChild:!0},i,{focusable:!n,active:u}),e.createElement(K,v({disabled:n,required:r.required,checked:u},f,t,{name:r.name,ref:l,onCheck:()=>r.onValueChange(t.value),onKeyDown:R(c=>{c.key==="Enter"&&c.preventDefault()}),onFocus:R(t.onFocus,()=>{var c;$.current&&((c=p.current)===null||c===void 0||c.click())})})))}),J=e.forwardRef((a,s)=>{const{__scopeRadioGroup:o,...d}=a,t=P(o);return e.createElement(B,v({},t,d,{ref:s}))}),ae=W,ce=Y,ne=J;export{ae as $,ce as a,ne as b};
//# sourceMappingURL=index-B7HiHvR_.js.map
