import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{ki as t,qr as n}from"./lucide-icons-BjbcRgLk.js";import{t as r}from"./jsx-runtime-By8HlURe.js";import{t as i}from"./utils-BFSTDHdM.js";import{n as a}from"./dist-DvXXZeEa.js";import{r as o}from"./dist-D7Bu0-nC.js";import{t as s}from"./dist-CcIWO21i2.js";import{t as c}from"./dist-kXp6QuJv.js";import{t as l}from"./dist-CxcvWxxD2.js";import{t as u}from"./dist-CDe9cWnA.js";import{t as d}from"./dist-VfIIxYhK.js";import{t as f}from"./dist-C7V3QC0v.js";var p=e(t(),1),m=r(),h=`Checkbox`,[g,_]=o(h),[v,y]=g(h),b=p.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:o,required:c,disabled:d,value:f=`on`,onCheckedChange:g,form:_,...y}=e,[b,x]=p.useState(null),S=a(t,e=>x(e)),C=p.useRef(!1),D=b?_||!!b.closest(`form`):!0,[O,k]=s({prop:i,defaultProp:o??!1,onChange:g,caller:h}),A=p.useRef(O);return p.useEffect(()=>{let e=b?.form;if(e){let t=()=>k(A.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[b,k]),(0,m.jsxs)(v,{scope:n,state:O,disabled:d,children:[(0,m.jsx)(u.button,{type:`button`,role:`checkbox`,"aria-checked":T(O)?`mixed`:O,"aria-required":c,"data-state":E(O),"data-disabled":d?``:void 0,disabled:d,value:f,...y,ref:S,onKeyDown:l(e.onKeyDown,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:l(e.onClick,e=>{k(e=>T(e)?!0:!e),D&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),D&&(0,m.jsx)(w,{control:b,bubbles:!C.current,name:r,value:f,checked:O,required:c,disabled:d,form:_,style:{transform:`translateX(-100%)`},defaultChecked:T(o)?!1:o})]})});b.displayName=h;var x=`CheckboxIndicator`,S=p.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=y(x,n);return(0,m.jsx)(d,{present:r||T(a.state)||a.state===!0,children:(0,m.jsx)(u.span,{"data-state":E(a.state),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});S.displayName=x;var C=`CheckboxBubbleInput`,w=p.forwardRef(({__scopeCheckbox:e,control:t,checked:n,bubbles:r=!0,defaultChecked:i,...o},s)=>{let l=p.useRef(null),d=a(l,s),h=f(n),g=c(t);p.useEffect(()=>{let e=l.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(h!==n&&i){let t=new Event(`click`,{bubbles:r});e.indeterminate=T(n),i.call(e,T(n)?!1:n),e.dispatchEvent(t)}},[h,n,r]);let _=p.useRef(T(n)?!1:n);return(0,m.jsx)(u.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:i??_.current,...o,tabIndex:-1,ref:d,style:{...o.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});w.displayName=C;function T(e){return e===`indeterminate`}function E(e){return T(e)?`indeterminate`:e?`checked`:`unchecked`}var D=b,O=S,k=p.forwardRef(({className:e,...t},r)=>(0,m.jsx)(D,{ref:r,className:i(`peer h-[18px] w-[18px] shrink-0 rounded-xs 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),...t,children:(0,m.jsx)(O,{className:i(`flex items-center justify-center text-current`),children:(0,m.jsx)(n,{className:`h-[18px] w-[18px]`})})}));k.displayName=D.displayName;export{k as t};