"use client"
import{a as l}from"./chunk-7NSJS37T.mjs";import{a as n}from"./chunk-TBQBNOUS.mjs";import{m as s}from"./chunk-VCTQS6IH.mjs";import{AlertCircle as u}from"lucide-react";import p,{useCallback as f,useState as x}from"react";import{jsx as e,jsxs as o}from"react/jsx-runtime";var g=p.forwardRef(({className:d,type:a,...r},c)=>{let[t,i]=x(!1),m=f(()=>i(!t),[t,i]);return o("div",{children:[o("div",{className:"relative flex",children:[e("input",{type:t?"text":a,className:s("w-full max-w-md rounded-md border border-gray-300 text-gray-900 placeholder-gray-400 focus:border-gray-500 focus:outline-none focus:ring-gray-500 sm:text-sm",r.error&&"border-red-500 focus:border-red-500 focus:ring-red-500",d),ref:c,...r}),o("div",{className:"group",children:[r.error&&e("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex flex-none items-center px-2.5",children:e(u,{className:s("size-5 text-white",a==="password"&&"transition-opacity group-hover:opacity-0"),fill:"#ef4444"})}),a==="password"&&e("button",{className:s("absolute inset-y-0 right-0 flex items-center px-3",r.error&&"opacity-0 transition-opacity group-hover:opacity-100"),type:"button",onClick:()=>m(),"aria-label":t?"Hide password":"Show Password",children:t?e(n,{className:"size-4 flex-none text-gray-500 transition hover:text-gray-700","aria-hidden":!0}):e(l,{className:"size-4 flex-none text-gray-500 transition hover:text-gray-700","aria-hidden":!0})})]})]}),r.error&&e("span",{className:"mt-2 block text-sm text-red-500",role:"alert","aria-live":"assertive",children:r.error})]})});g.displayName="Input";export{g as a};
