diff --git a/src/components/PasswordInput/PasswordInput.tsx b/src/components/PasswordInput/PasswordInput.tsx index 5a15d4575..4b17e67ba 100644 --- a/src/components/PasswordInput/PasswordInput.tsx +++ b/src/components/PasswordInput/PasswordInput.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { forwardRef, useState } from 'react'; import { Clickable } from '../Clickable'; import { Input, FieldProps } from '../Field'; import { Text } from '../Text'; @@ -7,26 +7,31 @@ import './PasswordInput.scss'; export type PasswordInputProps = FieldProps; -export const PasswordInput: React.FC = ({ ...rest }) => { - const [passwordShown, setPasswordShown] = useState(false); - const togglePasswordVisiblity = () => { - setPasswordShown(passwordShown ? false : true); - }; +export const PasswordInput = forwardRef( + ({ ...rest }: PasswordInputProps, ref: React.Ref) => { + const [passwordShown, setPasswordShown] = useState(false); + const togglePasswordVisiblity = () => { + setPasswordShown(passwordShown ? false : true); + }; - return ( -
- - - {passwordShown ? ( - HIDE - ) : ( - SHOW - )} - -
- ); -}; + return ( +
+ + + + {passwordShown ? ( + HIDE + ) : ( + SHOW + )} + +
+ ); + } +); + +PasswordInput.displayName = 'PasswordInput';