feat: enhance form components with additional props for validation and tooltips; add OptionsField component
parent
0345eb4659
commit
6eef5990c9
@ -0,0 +1,34 @@
|
|||||||
|
import cn from '@/utils/classnames'
|
||||||
|
import { useFieldContext } from '../..'
|
||||||
|
import Label from '../label'
|
||||||
|
import ConfigSelect from '@/app/components/app/configuration/config-var/config-select'
|
||||||
|
|
||||||
|
type OptionsFieldProps = {
|
||||||
|
label: string;
|
||||||
|
className?: string;
|
||||||
|
labelClassName?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const OptionsField = ({
|
||||||
|
label,
|
||||||
|
className,
|
||||||
|
labelClassName,
|
||||||
|
}: OptionsFieldProps) => {
|
||||||
|
const field = useFieldContext<string[]>()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={cn('flex flex-col gap-y-0.5', className)}>
|
||||||
|
<Label
|
||||||
|
htmlFor={field.name}
|
||||||
|
label={label}
|
||||||
|
className={labelClassName}
|
||||||
|
/>
|
||||||
|
<ConfigSelect
|
||||||
|
options={field.state.value}
|
||||||
|
onChange={value => field.handleChange(value)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default OptionsField
|
||||||
Loading…
Reference in New Issue