/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import React from "react"; interface Props { name: string; id: string; label: string; hint?: string | React.ReactNode; register?: Function; required?: boolean; validate?: Function; disabled?: boolean; defaultValue?: string; error?: string; onChange?: Function; onBlur?: Function; onFocus?: Function; multiline?: boolean; rows?: number; className?: string; } function TextField(props: Props) { let formGroupClassName = "usa-form-group"; if (props.error) { formGroupClassName += " usa-form-group--error"; } const handleChange = (event: React.FormEvent) => { if (props.onChange) { props.onChange(event); } }; const handleBlur = (event: React.FormEvent) => { if (props.onBlur) { props.onBlur(event); } }; const handleFocus = (event: React.FormEvent) => { if (props.onFocus) { props.onFocus(event); } }; const className = `${props.multiline ? "usa-textarea" : "usa-input"}${ props.className ? " " + props.className : "" }`; return (
{props.hint}
{props.error && ( {props.error} )} {props.multiline ? (