/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@radix-ui/react-password-toggle-field@0.1.3/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of __getOwnPropNames(t))__hasOwnProp.call(e,i)||i===r||__defProp(e,i,{get:()=>t[i],enumerable:!(o=__getOwnPropDesc(t,i))||o.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),index_exports={};__export(index_exports,{Icon:()=>PasswordToggleFieldIcon,Input:()=>PasswordToggleFieldInput,PasswordToggleField:()=>PasswordToggleField,PasswordToggleFieldIcon:()=>PasswordToggleFieldIcon,PasswordToggleFieldInput:()=>PasswordToggleFieldInput,PasswordToggleFieldSlot:()=>PasswordToggleFieldSlot,PasswordToggleFieldToggle:()=>PasswordToggleFieldToggle,Root:()=>PasswordToggleField,Slot:()=>PasswordToggleFieldSlot,Toggle:()=>PasswordToggleFieldToggle}),module.exports=__toCommonJS(index_exports);var React=__toESM(require("react")),import_react_dom=require("react-dom"),import_primitive=require("@radix-ui/primitive"),import_react_use_controllable_state=require("@radix-ui/react-use-controllable-state"),import_react_primitive=require("@radix-ui/react-primitive"),import_react_compose_refs=require("@radix-ui/react-compose-refs"),import_react_id=require("@radix-ui/react-id"),import_react_use_is_hydrated=require("@radix-ui/react-use-is-hydrated"),import_react_use_effect_event=require("@radix-ui/react-use-effect-event"),import_react_context=require("@radix-ui/react-context"),import_jsx_runtime=require("react/jsx-runtime"),PASSWORD_TOGGLE_FIELD_NAME="PasswordToggleField",[createPasswordToggleFieldContext]=(0,import_react_context.createContextScope)(PASSWORD_TOGGLE_FIELD_NAME),[PasswordToggleFieldProvider,usePasswordToggleFieldContext]=createPasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_NAME),INITIAL_FOCUS_STATE={clickTriggered:!1,selectionStart:null,selectionEnd:null},PasswordToggleField=({__scopePasswordToggleField:e,...t})=>{const r=`${(0,import_react_id.useId)(t.id)}-input`,[o,i]=React.useState(r),s=o??r,n=React.useCallback((e=>i(null!=e?String(e):null)),[]),{visible:l,defaultVisible:a,onVisiblityChange:_,children:d}=t,[c=!1,u]=(0,import_react_use_controllable_state.useControllableState)({caller:PASSWORD_TOGGLE_FIELD_NAME,prop:l,defaultProp:a??!1,onChange:_}),p=React.useRef(null),g=React.useRef(INITIAL_FOCUS_STATE);return(0,import_jsx_runtime.jsx)(PasswordToggleFieldProvider,{scope:e,inputId:s,inputRef:p,setVisible:u,syncInputId:n,visible:c,focusState:g,children:d})};PasswordToggleField.displayName=PASSWORD_TOGGLE_FIELD_NAME;var PASSWORD_TOGGLE_FIELD_INPUT_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Input",PasswordToggleFieldInput=React.forwardRef((({__scopePasswordToggleField:e,autoComplete:t="current-password",autoCapitalize:r="off",spellCheck:o=!1,id:i,...s},n)=>{const{visible:l,inputRef:a,inputId:_,syncInputId:d,setVisible:c,focusState:u}=usePasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_INPUT_NAME,e);React.useEffect((()=>{d(i)}),[i,d]);const p=(0,import_react_use_effect_event.useEffectEvent)(c);return React.useEffect((()=>{const e=a.current,t=e?.form;if(!t)return;const r=new AbortController;return t.addEventListener("reset",(e=>{e.defaultPrevented||p(!1)}),{signal:r.signal}),t.addEventListener("submit",(()=>{p(!1)}),{signal:r.signal}),()=>{r.abort()}}),[a,p]),(0,import_jsx_runtime.jsx)(import_react_primitive.Primitive.input,{...s,id:i??_,autoCapitalize:r,autoComplete:t,ref:(0,import_react_compose_refs.useComposedRefs)(n,a),spellCheck:o,type:l?"text":"password",onBlur:(0,import_primitive.composeEventHandlers)(s.onBlur,(e=>{const{selectionStart:t,selectionEnd:r}=e.currentTarget;u.current.selectionStart=t,u.current.selectionEnd=r}))})}));PasswordToggleFieldInput.displayName=PASSWORD_TOGGLE_FIELD_INPUT_NAME;var PASSWORD_TOGGLE_FIELD_TOGGLE_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Toggle",PasswordToggleFieldToggle=React.forwardRef((({__scopePasswordToggleField:e,onClick:t,onPointerDown:r,onPointerCancel:o,onPointerUp:i,onFocus:s,children:n,"aria-label":l,"aria-controls":a,"aria-hidden":_,tabIndex:d,...c},u)=>{const{setVisible:p,visible:g,inputRef:T,inputId:P,focusState:E}=usePasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_TOGGLE_NAME,e),[m,S]=React.useState(void 0),f=React.useRef(null),O=(0,import_react_compose_refs.useComposedRefs)(u,f),I=(0,import_react_use_is_hydrated.useIsHydrated)();React.useEffect((()=>{const e=f.current;if(!e||l)return void S(void 0);const t=g?"Hide password":"Show password";function r(e){S(e||void 0?void 0:t)}r(e.textContent);const o=new MutationObserver((t=>{let o;for(const r of t)"characterData"===r.type&&e.textContent&&(o=e.textContent);r(o)}));return o.observe(e,{characterData:!0,subtree:!0}),()=>{o.disconnect()}}),[g,l]);const F=l||m;return I?a??=P:(_??=!0,d??=-1),React.useEffect((()=>{let e=()=>{};const t=f.current?.ownerDocument?.defaultView||window,r=()=>E.current.clickTriggered=!1,o=()=>e=requestIdleCallback(t,r);return t.addEventListener("pointerup",o),()=>{e(),t.removeEventListener("pointerup",o)}}),[E]),(0,import_jsx_runtime.jsx)(import_react_primitive.Primitive.button,{"aria-controls":a,"aria-hidden":_,"aria-label":F,ref:O,id:P,...c,onPointerDown:(0,import_primitive.composeEventHandlers)(r,(()=>{E.current.clickTriggered=!0})),onPointerCancel:e=>{o?.(e),E.current=INITIAL_FOCUS_STATE},onClick:e=>{if(t?.(e),e.defaultPrevented)E.current=INITIAL_FOCUS_STATE;else{if((0,import_react_dom.flushSync)((()=>{p((e=>!e))})),E.current.clickTriggered){const e=T.current;if(e){const{selectionStart:t,selectionEnd:r}=E.current;e.focus(),null===t&&null===r||requestAnimationFrame((()=>{e.ownerDocument.activeElement===e&&(e.selectionStart=t,e.selectionEnd=r)}))}}E.current=INITIAL_FOCUS_STATE}},onPointerUp:e=>{i?.(e),setTimeout((()=>{E.current=INITIAL_FOCUS_STATE}),50)},type:"button",children:n})}));PasswordToggleFieldToggle.displayName=PASSWORD_TOGGLE_FIELD_TOGGLE_NAME;var PASSWORD_TOGGLE_FIELD_SLOT_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Slot",PasswordToggleFieldSlot=({__scopePasswordToggleField:e,...t})=>{const{visible:r}=usePasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_SLOT_NAME,e);return"render"in t?t.render({visible:r}):r?t.visible:t.hidden};PasswordToggleFieldSlot.displayName=PASSWORD_TOGGLE_FIELD_SLOT_NAME;var PASSWORD_TOGGLE_FIELD_ICON_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Icon",PasswordToggleFieldIcon=React.forwardRef((({__scopePasswordToggleField:e,children:t,...r},o)=>{const{visible:i}=usePasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_ICON_NAME,e),{visible:s,hidden:n,...l}=r;return(0,import_jsx_runtime.jsx)(import_react_primitive.Primitive.svg,{...l,ref:o,"aria-hidden":!0,asChild:!0,children:i?s:n})}));function requestIdleCallback(e,t,r){if(e.requestIdleCallback){const o=e.requestIdleCallback(t,r);return()=>{e.cancelIdleCallback(o)}}const o=Date.now(),i=e.setTimeout((()=>{t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})}),1);return()=>{e.clearTimeout(i)}}PasswordToggleFieldIcon.displayName=PASSWORD_TOGGLE_FIELD_ICON_NAME;
//# sourceMappingURL=/sm/85ef57c89d1a591f51b07715891a99d216d5c5afeb3e2d19cff1825e54ef7bb9.map