1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-23 23:29:43 +02:00
planka/client/src/lib/custom-ui/components/Input/InputPassword.jsx

23 lines
644 B
React
Raw Normal View History

import React, { useCallback } from 'react';
import { Icon, Input } from 'semantic-ui-react';
import { useToggle } from '../../../hooks';
const InputPassword = React.forwardRef((props, ref) => {
2019-11-18 11:59:37 +05:00
const [isVisible, toggleVisible] = useToggle();
const handleToggleClick = useCallback(() => {
2019-11-18 11:59:37 +05:00
toggleVisible();
}, [toggleVisible]);
return (
<Input
{...props} // eslint-disable-line react/jsx-props-no-spreading
ref={ref}
2019-11-18 11:59:37 +05:00
type={isVisible ? 'text' : 'password'}
icon={<Icon link name={isVisible ? 'eye' : 'eye slash'} onClick={handleToggleClick} />}
/>
);
});
export default React.memo(InputPassword);