function TextInput({htmlId, name, label, type = "text", required = false, onChange, placeholder, value, error, children, ...props}) {
    return (
        <div style={{marginBottom:16}}>
            <Label htmlFor={htmlId} label={label} required={required} />
            <input
            id={htmlId}
            type={type}
            name={name}
            placeholder={placeholder}
            value={value}
            onChange={onChange}
            style={error && {border: 'solid 1 px red'}}
            {...props}/>
            {children}
            {error && <div className="error" style={{color: 'red'}}>{error}</div>}
        </div>
    );
}
/** Text imput with integraaated label to enforce consistency in layout, error display, label placement, and required field marker. */
Text imput with integraaated label to enforce consistency in layout, error display, label placement, and required field marker.
Text imput with integraaated label to enforce consistency in layout error display label placement and required field marker .
function TextInput({htmlId, name, label, type = "text", required = false, onChange, placeholder, value, error, children, ...props}) {
    return (
        <div style={{marginBottom:16}}>
            <Label htmlFor={htmlId} label={label} required={required} />
            <input
            id={htmlId}
            type={type}
            name={name}
            placeholder={placeholder}
            value={value}
            onChange={onChange}
            style={error && {border: 'solid 1 px red'}}
            {...props}/>
            {children}
            {error && <div className="error" style={{color: 'red'}}>{error}</div>}
        </div>
    );
}
function TextInput ( { htmlId , name , label , type = "text" , required = false , onChange , placeholder , value , error , children , ... props } ) { return ( < div style = { { marginBottom : 16 } } > < Label htmlFor = { htmlId } label = { label } required = { required } / > < input id = { htmlId } type = { type } name = { name } placeholder = { placeholder } value = { value } onChange = { onChange } style = { error && { border : 'solid 1 px red' } } { ... props } / > { children } { error && < div className = "error" style = { { color : 'red' } } > { error } < / div > } < / div > ) ; }
Text imput with integraaated label to enforce consistency in layout, error display, label placement, and required field marker.
Text imput with integraaated label to enforce consistency in layout error display label placement and required field marker .