var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import { jsx as _jsx } from "react/jsx-runtime";
import * as React from "react";
import { TextField } from "../textField";
import { Button } from "../button";
import {} from "../adpIcon/svgObjects";
/**
 * PasswordField component with show/hide password toggle functionality.
 */
export const PasswordField = React.forwardRef(function PasswordField(_a, ref) {
    var restProps = __rest(_a, []);
    const [isPasswordVisible, setIsPasswordVisible] = React.useState(false);
    const handleIconClick = () => {
        setIsPasswordVisible((prevState) => !prevState);
    };
    return (_jsx(TextField, Object.assign({}, restProps, { ref: ref, type: isPasswordVisible ? "text" : "password", prefixIcon: restProps.prefixIcon, suffixIcon: _jsx(Button, { variant: "text", color: "secondary", prefixIcon: (isPasswordVisible ? "hide-password" : "show-password"), onClick: handleIconClick, title: isPasswordVisible ? "Hide password" : "Show password", "data-testid": "password-toggle-icon" }) })));
});
PasswordField.displayName = "PasswordField";
//# sourceMappingURL=passwordField.js.map