import Link from 'next/link' import { useState } from 'react' import { Button, IconEye, IconEyeOff, IconHelpCircle, IconLoader, Input } from 'ui' import type { ServerOption } from './Wrappers.types' interface InputFieldProps { option: ServerOption loading: boolean error: any } const InputField = ({ option, loading, error }: InputFieldProps) => { const [showHidden, setShowHidden] = useState(!option.hidden) if (option.isTextArea) { return (

{option.label}

{option.urlHelper !== undefined && ( )}
} value={loading ? 'Fetching value from Vault...' : undefined} defaultValue={option.defaultValue ?? ''} required={option.required ?? false} /> ) } else { return (

{option.label}

{option.urlHelper !== undefined && ( )} } defaultValue={option.defaultValue ?? ''} error={error} value={loading ? 'Fetching value from Vault...' : undefined} type={!option.hidden || loading ? 'text' : showHidden ? 'text' : 'password'} disabled={loading} actions={ loading ? (
) : option.hidden ? (
) : null } /> ) } } export default InputField