import{j as n}from"./query-vendor-CZu0EHPe.js";import{r as s}from"./react-vendor-0bvDbF03.js";import{aC as K,aD as M,aK as O,an as w,aE as P,aF as A,aG as B,aH as L,b as j,i as q}from"./index-C-Kzd2Hj.js";var g="Checkbox",[z,V]=K(g),[F,T]=z(g),N=s.forwardRef((e,c)=>{const{__scopeCheckbox:t,name:d,checked:p,defaultChecked:r,required:h,disabled:i,value:k="on",onCheckedChange:C,form:u,...x}=e,[l,m]=s.useState(null),v=M(c,o=>m(o)),y=s.useRef(!1),R=l?u||!!l.closest("form"):!0,[f=!1,E]=O({prop:p,defaultProp:r,onChange:C}),H=s.useRef(f);return s.useEffect(()=>{const o=l?.form;if(o){const b=()=>E(H.current);return o.addEventListener("reset",b),()=>o.removeEventListener("reset",b)}},[l,E]),n.jsxs(F,{scope:t,state:f,disabled:i,children:[n.jsx(w.button,{type:"button",role:"checkbox","aria-checked":a(f)?"mixed":f,"aria-required":h,"data-state":D(f),"data-disabled":i?"":void 0,disabled:i,value:k,...x,ref:v,onKeyDown:P(e.onKeyDown,o=>{o.key==="Enter"&&o.preventDefault()}),onClick:P(e.onClick,o=>{E(b=>a(b)?!0:!b),R&&(y.current=o.isPropagationStopped(),y.current||o.stopPropagation())})}),R&&n.jsx(X,{control:l,bubbles:!y.current,name:d,value:k,checked:f,required:h,disabled:i,form:u,style:{transform:"translateX(-100%)"},defaultChecked:a(r)?!1:r})]})});N.displayName=g;var S="CheckboxIndicator",I=s.forwardRef((e,c)=>{const{__scopeCheckbox:t,forceMount:d,...p}=e,r=T(S,t);return n.jsx(A,{present:d||a(r.state)||r.state===!0,children:n.jsx(w.span,{"data-state":D(r.state),"data-disabled":r.disabled?"":void 0,...p,ref:c,style:{pointerEvents:"none",...e.style}})})});I.displayName=S;var X=e=>{const{control:c,checked:t,bubbles:d=!0,defaultChecked:p,...r}=e,h=s.useRef(null),i=B(t),k=L(c);s.useEffect(()=>{const u=h.current,x=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(x,"checked").set;if(i!==t&&m){const v=new Event("click",{bubbles:d});u.indeterminate=a(t),m.call(u,a(t)?!1:t),u.dispatchEvent(v)}},[i,t,d]);const C=s.useRef(a(t)?!1:t);return n.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:p??C.current,...r,tabIndex:-1,ref:h,style:{...e.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function a(e){return e==="indeterminate"}function D(e){return a(e)?"indeterminate":e?"checked":"unchecked"}var _=N,G=I;const $=s.forwardRef(({className:e,...c},t)=>n.jsx(_,{ref:t,className:j("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...c,children:n.jsx(G,{className:j("flex items-center justify-center text-current"),children:n.jsx(q,{className:"h-4 w-4"})})}));$.displayName=_.displayName;export{$ as C};