'use client'
import { useId, useState } from 'react'
import { EyeIcon, EyeOffIcon } from 'lucide-react'
import { Button } from '@/registry/new-york/ui/button'
import { Input } from '@/registry/new-york/ui/input'
import { Label } from '@/registry/new-york/ui/label'
const InputPasswordDemo = () => {
const [isVisible, setIsVisible] = useState(false)
const id = useId()
return (
<div className='w-full max-w-xs space-y-2'>
<Label htmlFor={id}>Password input</Label>
<div className='relative'>
<Input id={id} type={isVisible ? 'text' : 'password'} placeholder='Password' className='pr-9' />
<Button
variant='ghost'
size='icon'
onClick={() => setIsVisible(prevState => !prevState)}
className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
>
{isVisible ? <EyeOffIcon /> : <EyeIcon />}
<span className='sr-only'>{isVisible ? 'Hide password' : 'Show password'}</span>
</Button>
</div>
</div>
)
}
export default InputPasswordDemo