next-enterprise/components/Form/SelectInput.tsx

30 lines
869 B
TypeScript
Raw Normal View History

2024-03-03 22:09:33 -05:00
import { useField } from "formik"
import React from "react"
import ErrorMessage from "./ErrorMessage"
import RequiredAsterisk from "./RequiredAsterisk"
const SelectInput = ({ label, ...props }: { label?: string; name: string; [x: string]: any }) => {
const { required, ...restProps } = props
const [field, meta] = useField(restProps)
return (
2024-03-04 20:50:32 -05:00
<div className="flex flex-col gap-3">
2024-03-03 22:09:33 -05:00
{label && (
<label className="text-md" htmlFor={props.id || props.name}>
{label}
2024-03-04 20:50:32 -05:00
<RequiredAsterisk required={required} />
2024-03-03 22:09:33 -05:00
</label>
)}
2024-03-04 20:50:32 -05:00
<div className="flex flex-col">
<select className="h-10 w-full rounded-lg border border-grey-500 px-4 text-sm" {...field} {...restProps} />
<ErrorMessage touched={meta.touched} error={meta.error} />
</div>
2024-03-03 22:09:33 -05:00
</div>
)
}
export default SelectInput