import type { BaseFormBuilderProps, GenericFormElementProps, } from "@components/Form/DynamicForm.js"; import { Generator } from "@components/UI/Generator.js"; import { Eye, EyeOff } from "lucide-react"; import type { ChangeEventHandler, MouseEventHandler } from "react"; import { useState } from "react"; import { Controller, type FieldValues } from "react-hook-form"; export interface PasswordGeneratorProps extends BaseFormBuilderProps { type: "passwordGenerator"; hide?: boolean; bits?: { text: string; value: string; key: string }[]; devicePSKBitCount: number; inputChange: ChangeEventHandler; selectChange: (event: string) => void; buttonClick: MouseEventHandler; } export function PasswordGenerator({ control, field, disabled, }: GenericFormElementProps>) { const [passwordShown, setPasswordShown] = useState(false); const togglePasswordVisiblity = () => { setPasswordShown(!passwordShown); }; return ( ( )} /> ); }