import{j as n}from"./query-vendor-CZu0EHPe.js";import{r as s}from"./react-vendor-0bvDbF03.js";import{aI as K,aJ as L,aQ as O,at as w,aK as P,aL as A,aM as B,aN as H,b as j,i as q}from"./index-DzVf5QXp.js";var R="Checkbox",[z,U]=K(R),[T,X]=z(R),N=s.forwardRef((e,c)=>{const{__scopeCheckbox:t,name:d,checked:p,defaultChecked:r,required:h,disabled:i,value:k="on",onCheckedChange:m,form:u,...C}=e,[l,x]=s.useState(null),v=L(c,o=>x(o)),y=s.useRef(!1),g=l?u||!!l.closest("form"):!0,[f=!1,E]=O({prop:p,defaultProp:r,onChange:m}),M=s.useRef(f);return s.useEffect(()=>{const o=l?.form;if(o){const b=()=>E(M.current);return o.addEventListener("reset",b),()=>o.removeEventListener("reset",b)}},[l,E]),n.jsxs(T,{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":_(f),"data-disabled":i?"":void 0,disabled:i,value:k,...C,ref:v,onKeyDown:P(e.onKeyDown,o=>{o.key==="Enter"&&o.preventDefault()}),onClick:P(e.onClick,o=>{E(b=>a(b)?!0:!b),g&&(y.current=o.isPropagationStopped(),y.current||o.stopPropagation())})}),g&&n.jsx(F,{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=R;var I="CheckboxIndicator",S=s.forwardRef((e,c)=>{const{__scopeCheckbox:t,forceMount:d,...p}=e,r=X(I,t);return n.jsx(A,{present:d||a(r.state)||r.state===!0,children:n.jsx(w.span,{"data-state":_(r.state),"data-disabled":r.disabled?"":void 0,...p,ref:c,style:{pointerEvents:"none",...e.style}})})});S.displayName=I;var F=e=>{const{control:c,checked:t,bubbles:d=!0,defaultChecked:p,...r}=e,h=s.useRef(null),i=B(t),k=H(c);s.useEffect(()=>{const u=h.current,C=window.HTMLInputElement.prototype,x=Object.getOwnPropertyDescriptor(C,"checked").set;if(i!==t&&x){const v=new Event("click",{bubbles:d});u.indeterminate=a(t),x.call(u,a(t)?!1:t),u.dispatchEvent(v)}},[i,t,d]);const m=s.useRef(a(t)?!1:t);return n.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:p??m.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 _(e){return a(e)?"indeterminate":e?"checked":"unchecked"}var D=N,J=S;const Q=s.forwardRef(({className:e,...c},t)=>n.jsx(D,{ref:t,className:j("peer h-4 w-4 shrink-0 rounded-[4px] border border-nature-forest/50 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-nature-forest/40 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-nature-forest data-[state=checked]:bg-nature-forest data-[state=checked]:text-cream",e),...c,children:n.jsx(J,{className:j("flex items-center justify-center text-current"),children:n.jsx(q,{className:"h-3.5 w-3.5",strokeWidth:3})})}));Q.displayName=D.displayName;export{Q as C};