/**
 * Minified by jsDelivr using Terser v5.48.0.
 * Original file: /npm/@radix-ui/react-password-toggle-field@0.1.12/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,__name=(e,t)=>__defProp(e,"name",{value:t,configurable:!0}),__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_is_development=require("@radix-ui/primitive/is-development"),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",AutoComplete={CurrentPassword:"current-password",NewPassword:"new-password"},[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=__name(({__scopePasswordToggleField:e,...t})=>{const r=`${(0,import_react_id.useId)(t.id)}-input`,[o,i]=React.useState(r),n=o??r,s=React.useCallback(e=>i(null!=e?String(e):null),[]),{visible:a,defaultVisible:l,children:_}=t;let d=t.onVisibilityChange,c=!1;!d&&"onVisiblityChange"in t&&"function"==typeof t.onVisiblityChange?(c=!0,d=t.onVisiblityChange):d=t.onVisibilityChange,import_is_development.IS_DEVELOPMENT&&React.useEffect(()=>{c&&console.warn("PasswordToggleField: The misspelled `onVisiblityChange` prop has been removed. Please use `onVisibilityChange` instead.")},[c]);const[u=!1,p]=(0,import_react_use_controllable_state.useControllableState)({caller:PASSWORD_TOGGLE_FIELD_NAME,prop:a,defaultProp:l??!1,onChange:d}),g=React.useRef(null),m=React.useRef(INITIAL_FOCUS_STATE);return(0,import_jsx_runtime.jsx)(PasswordToggleFieldProvider,{scope:e,inputId:n,inputRef:g,setVisible:p,syncInputId:s,visible:u,focusState:m,children:_})},"PasswordToggleField"),PASSWORD_TOGGLE_FIELD_INPUT_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Input",PasswordToggleFieldInput=React.forwardRef(__name(function({__scopePasswordToggleField:e,autoComplete:t=AutoComplete.CurrentPassword,autoCapitalize:r="off",spellCheck:o=!1,id:i,...n},s){const{visible:a,inputRef:l,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=l.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()}},[l]),(0,import_jsx_runtime.jsx)(import_react_primitive.Primitive.input,{...n,id:i??_,autoCapitalize:r,autoComplete:t,ref:(0,import_react_compose_refs.useComposedRefs)(s,l),spellCheck:o,type:a?"text":"password",onBlur:(0,import_primitive.composeEventHandlers)(n.onBlur,e=>{const{selectionStart:t,selectionEnd:r}=e.currentTarget;u.current.selectionStart=t,u.current.selectionEnd=r})})},"PasswordToggleFieldInput")),PASSWORD_TOGGLE_FIELD_TOGGLE_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Toggle",PasswordToggleFieldToggle=React.forwardRef(__name(function({__scopePasswordToggleField:e,onClick:t,onPointerDown:r,onPointerCancel:o,onPointerUp:i,onFocus:n,children:s,"aria-label":a,"aria-controls":l,"aria-hidden":_,tabIndex:d,...c},u){const{setVisible:p,visible:g,inputRef:m,inputId:P,focusState:T}=usePasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_TOGGLE_NAME,e),[f,E]=React.useState(void 0),w=React.useRef(null),S=(0,import_react_compose_refs.useComposedRefs)(u,w),I=(0,import_react_use_is_hydrated.useIsHydrated)();React.useEffect(()=>{const e=w.current;if(!e||a)return void E(void 0);const t=g?"Hide password":"Show password";function r(e){E(e||void 0?void 0:t)}__name(r,"checkForInnerTextLabel"),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,a]);const F=a||f;return I?l??=P:(_??=!0,d??=-1),React.useEffect(()=>{let e=__name(()=>{},"cleanup");const t=w.current?.ownerDocument?.defaultView||window,r=__name(()=>T.current.clickTriggered=!1,"reset"),o=__name(()=>e=requestIdleCallback(t,r),"handlePointerUp");return t.addEventListener("pointerup",o),()=>{e(),t.removeEventListener("pointerup",o)}},[T]),(0,import_jsx_runtime.jsx)(import_react_primitive.Primitive.button,{"aria-controls":l,"aria-hidden":_,"aria-label":F,ref:S,id:P,...c,onPointerDown:(0,import_primitive.composeEventHandlers)(r,()=>{T.current.clickTriggered=!0}),onPointerCancel:e=>{o?.(e),T.current=INITIAL_FOCUS_STATE},onClick:e=>{if(t?.(e),e.defaultPrevented)T.current=INITIAL_FOCUS_STATE;else{if((0,import_react_dom.flushSync)(()=>{p(e=>!e)}),T.current.clickTriggered){const e=m.current;if(e){const{selectionStart:t,selectionEnd:r}=T.current;e.focus(),null===t&&null===r||requestAnimationFrame(()=>{e.ownerDocument.activeElement===e&&(e.selectionStart=t,e.selectionEnd=r)})}}T.current=INITIAL_FOCUS_STATE}},onPointerUp:e=>{i?.(e),setTimeout(()=>{T.current=INITIAL_FOCUS_STATE},50)},type:"button",children:s})},"PasswordToggleFieldToggle")),PASSWORD_TOGGLE_FIELD_SLOT_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Slot",PasswordToggleFieldSlot=__name(({__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"),PASSWORD_TOGGLE_FIELD_ICON_NAME=PASSWORD_TOGGLE_FIELD_NAME+"Icon",PasswordToggleFieldIcon=React.forwardRef(__name(function({__scopePasswordToggleField:e,children:t,...r},o){const{visible:i}=usePasswordToggleFieldContext(PASSWORD_TOGGLE_FIELD_ICON_NAME,e),{visible:n,hidden:s,...a}=r;return(0,import_jsx_runtime.jsx)(import_react_primitive.Primitive.svg,{...a,ref:o,"aria-hidden":!0,asChild:!0,children:i?n:s})},"PasswordToggleFieldIcon"));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:__name(()=>Math.max(0,50-(Date.now()-o)),"timeRemaining")})},1);return()=>{e.clearTimeout(i)}}__name(requestIdleCallback,"requestIdleCallback");
//# sourceMappingURL=/sm/14d218205aace559d0eae1c42d54d7718fbbca769ce777f566a461d76ba43c7f.map