PageSourceSearch

https://rankpine.com/assets/switch-DYeDkTz1.js

js rankpine.com collected 2026-10-02 05:19:11 UTC 4,369 bytes, 1 lines download raw bytes

1import{$ as e,Z as t}from"./components-DVvmw17K.js";import{t as n}from"./jsx-runtime-CfTG4PTq.js";import{t as r}from"./utils-DojpP95n.js";import{i}from"./button-DynFPFiX.js";import{l as a,t as o,u as s}from"./dist-B71TcYT7.js";import{t as c}from"./dist-Bj9yX3Oz.js";import{a as l}from"./dist-DxKIgedw.js";var u=e(t(),1),d=n(),f=Object.defineProperty,p=(e,t)=>f(e,`name`,{value:t,configurable:!0}),m=`Switch`,[h,g]=a(m),[_,v]=h(m);function y(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:s,name:c,onCheckedChange:l,required:f,value:p=`on`,internal_do_not_use_render:h}=e,[g,v]=o({prop:n,defaultProp:i??!1,onChange:l,caller:m}),[y,b]=u.useState(null),[x,S]=u.useState(null),C=u.useRef(!1),[w,T]=u.useReducer(e=>e+1,0),E={checked:g,setChecked:v,disabled:a,control:y,setControl:b,name:c,form:s,value:p,hasConsumerStoppedPropagationRef:C,userInteractionCount:w,onUserInteraction:T,required:f,defaultChecked:i,isFormControl:!y||!!s||!!y.closest(`form`),bubbleInput:x,setBubbleInput:S};return(0,d.jsx)(_,{scope:t,...E,children:D(h)?h(E):r})}p(y,`SwitchProvider`);var b=`SwitchTrigger`,x=u.forwardRef(p(function({__scopeSwitch:e,onClick:t,...n},r){let{control:a,form:o,value:l,disabled:f,checked:m,required:h,setControl:g,setChecked:_,hasConsumerStoppedPropagationRef:y,onUserInteraction:x,isFormControl:S,bubbleInput:C}=v(b,e),w=i(r,g),T=u.useRef(m);return u.useEffect(()=>{let e=o?a?.ownerDocument.getElementById(o):a?.form;if(e instanceof HTMLFormElement){let t=p(()=>_(T.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,o,_]),(0,d.jsx)(c.button,{type:`button`,role:`switch`,"aria-checked":m,"aria-required":h,"data-state":O(m),"data-disabled":f?``:void 0,disabled:f,value:l,...n,ref:w,onClick:s(t,e=>{x(),_(e=>!e),C&&S&&(y.current=e.isPropagationStopped(),y.current||e.stopPropagation())})})},`SwitchTrigger`)),S=u.forwardRef(p(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...f}=e;return(0,d.jsx)(y,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x,{...f,ref:t,__scopeSwitch:n}),e&&(0,d.jsx)(E,{__scopeSwitch:n})]})})},`Switch`)),C=`SwitchThumb`,w=u.forwardRef(p(function(e,t){let{__scopeSwitch:n,...r}=e,i=v(C,n);return(0,d.jsx)(c.span,{"data-state":O(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),T=`SwitchBubbleInput`,E=u.forwardRef(p(function({__scopeSwitch:e,onClick:t,...n},r){let{control:a,hasConsumerStoppedPropagationRef:o,userInteractionCount:f,checked:p,defaultChecked:m,required:h,disabled:g,name:_,value:y,form:b,bubbleInput:x,setBubbleInput:S}=v(T,e),C=i(r,S),w=l(a),E=u.useRef(!1),D=u.useRef(p),O=u.useRef(f);u.useEffect(()=>{let e=x;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=f!==O.current;O.current=f;let i=D.current!==p;D.current=p;let a=!(r&&o.current);if(i&&n){E.current=!r;let t=new Event(`click`,{bubbles:a});n.call(e,p),e.dispatchEvent(t),E.current=!1}},[x,p,o,f]);let k=u.useRef(p);return(0,d.jsx)(c.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:m??k.current,required:h,disabled:g,name:_,value:y,form:b,...n,tabIndex:-1,ref:C,onClick:s(t,e=>{E.current&&e.stopPropagation()}),style:{...n.style,...w,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function D(e){return typeof e==`function`}p(D,`isFunction`);function O(e){return e?`checked`:`unchecked`}p(O,`getState`);function k({className:e,...t}){return(0,d.jsx)(S,{className:r(`peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent p-0.5`,`transition-colors duration-150 ease-out motion-reduce:transition-none`,`bg-input data-[state=checked]:bg-primary`,`focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,d.jsx)(w,{className:r(`pointer-events-none block size-4 rounded-full bg-card shadow-sm ring-0`,`transition-transform duration-150 ease-out motion-reduce:transition-none`,`data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`)})})}export{k as t};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.