import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{ki as t}from"./lucide-icons-BjbcRgLk.js";import{t as n}from"./jsx-runtime-By8HlURe.js";import{t as r}from"./utils-BFSTDHdM.js";import{n as i}from"./dist-DvXXZeEa.js";import{r as a}from"./dist-D7Bu0-nC.js";import{t as o}from"./dist-CcIWO21i2.js";import{t as s}from"./dist-kXp6QuJv.js";import{a as c}from"./haptics-Cp_uF-bV.js";import{t as l}from"./dist-CxcvWxxD2.js";import{t as u}from"./dist-CDe9cWnA.js";import{t as d}from"./dist-C7V3QC0v.js";var f=e(t(),1),p=n(),m=`Switch`,[h,g]=a(m),[_,v]=h(m),y=f.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:a,defaultChecked:s,required:c,disabled:d,value:h=`on`,onCheckedChange:g,form:v,...y}=e,[b,x]=f.useState(null),S=i(t,e=>x(e)),T=f.useRef(!1),E=b?v||!!b.closest(`form`):!0,[D,O]=o({prop:a,defaultProp:s??!1,onChange:g,caller:m});return(0,p.jsxs)(_,{scope:n,checked:D,disabled:d,children:[(0,p.jsx)(u.button,{type:`button`,role:`switch`,"aria-checked":D,"aria-required":c,"data-state":w(D),"data-disabled":d?``:void 0,disabled:d,value:h,...y,ref:S,onClick:l(e.onClick,e=>{O(e=>!e),E&&(T.current=e.isPropagationStopped(),T.current||e.stopPropagation())})}),E&&(0,p.jsx)(C,{control:b,bubbles:!T.current,name:r,value:h,checked:D,required:c,disabled:d,form:v,style:{transform:`translateX(-100%)`}})]})});y.displayName=m;var b=`SwitchThumb`,x=f.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=v(b,n);return(0,p.jsx)(u.span,{"data-state":w(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});x.displayName=b;var S=`SwitchBubbleInput`,C=f.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...a},o)=>{let c=f.useRef(null),l=i(c,o),u=d(n),m=s(t);return f.useEffect(()=>{let e=c.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(u!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[u,n,r]),(0,p.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...a,tabIndex:-1,ref:l,style:{...a.style,...m,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});C.displayName=S;function w(e){return e?`checked`:`unchecked`}var T=y,E=x,D=f.forwardRef(({className:e,onCheckedChange:t,...n},i)=>(0,p.jsx)(T,{className:r(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),onCheckedChange:e=>{c(),t?.(e)},...n,ref:i,children:(0,p.jsx)(E,{className:r(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)})}));D.displayName=T.displayName;export{D as t};