UNPKG

amplify-material-ui

Version:

A Material-UI based implementation of aws amplify

23 lines (22 loc) 1.36 kB
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)))), } }))); };