{"version":3,"file":"InputPassword.mjs","names":[],"sources":["../../../src/base-ui/Input/InputPassword.tsx"],"sourcesContent":["'use client';\n\nimport { Eye, EyeOff } from 'lucide-react';\nimport { memo, useState } from 'react';\n\nimport Icon from '@/Icon';\n\nimport Input from './Input';\nimport { styles } from './style';\nimport type { InputPasswordProps } from './type';\n\nconst InputPassword = memo<InputPasswordProps>(({ visibilityToggle = true, suffix, ...rest }) => {\n  const [visible, setVisible] = useState(false);\n\n  return (\n    <Input\n      type={visible ? 'text' : 'password'}\n      suffix={\n        <>\n          {suffix}\n          {visibilityToggle && (\n            <button\n              aria-label={visible ? 'Hide password' : 'Show password'}\n              className={styles.passwordToggle}\n              tabIndex={-1}\n              type={'button'}\n              onClick={() => setVisible((v) => !v)}\n            >\n              <Icon icon={visible ? Eye : EyeOff} size={16} />\n            </button>\n          )}\n        </>\n      }\n      {...rest}\n    />\n  );\n});\n\nInputPassword.displayName = 'InputPassword';\n\nexport default InputPassword;\n"],"mappings":";;;;;;;;AAWA,MAAM,gBAAgB,MAA0B,EAAE,mBAAmB,MAAM,QAAQ,GAAG,WAAW;CAC/F,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;AAE7C,QACE,oBAAC,OAAD;EACE,MAAM,UAAU,SAAS;EACzB,QACE,qBAAA,YAAA,EAAA,UAAA,CACG,QACA,oBACC,oBAAC,UAAD;GACE,cAAY,UAAU,kBAAkB;GACxC,WAAW,OAAO;GAClB,UAAU;GACV,MAAM;GACN,eAAe,YAAY,MAAM,CAAC,EAAE;aAEpC,oBAAC,MAAD;IAAM,MAAM,UAAU,MAAM;IAAQ,MAAM;IAAM,CAAA;GACzC,CAAA,CAEV,EAAA,CAAA;EAEL,GAAI;EACJ,CAAA;EAEJ;AAEF,cAAc,cAAc"}