amplify-material-ui
Version:
A Material-UI based implementation of aws amplify
23 lines (22 loc) • 1.36 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import * as React from 'react';
import { InputAdornment, IconButton, TextField, } from '@mui/material';
import Visibility from '@mui/icons-material/Visibility';
import VisibilityOff from '@mui/icons-material/VisibilityOff';
export var PasswordField = function (props) {
var _a = React.useState(false), showPassword = _a[0], setShowPassword = _a[1];
return (React.createElement(TextField, __assign({}, props, { type: showPassword ? 'text' : 'password', inputProps: { 'data-testid': 'password-input' }, InputProps: {
endAdornment: (React.createElement(InputAdornment, { position: "end" },
React.createElement(IconButton, { "aria-label": "Toggle password visibility", "data-testid": "togglePasswordVisibility", onClick: function () { return setShowPassword(function (showPassword) { return !showPassword; }); }, size: "large" }, showPassword ? React.createElement(Visibility, null) : React.createElement(VisibilityOff, null)))),
} })));
};