@baseplate-dev/ui-components
Version:
Shared UI component library
18 lines • 1.15 kB
JavaScript
'use client';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { get, useFormState } from 'react-hook-form';
import { FormControl, FormDescription, FormItem, FormLabel, FormMessage, } from '../form-item/form-item.js';
import { Textarea } from '../textarea/textarea.js';
function TextareaField({ label, description, error, onChange, register, ...props }) {
return (_jsxs(FormItem, { error: error, children: [_jsx(FormLabel, { children: label }), _jsx(FormControl, { children: _jsx(Textarea, { onChange: onChange &&
((e) => {
onChange(e.target.value);
}), ...props, ...register }) }), _jsx(FormDescription, { children: description }), _jsx(FormMessage, {})] }));
}
function TextareaFieldController({ control, name, registerOptions, ...rest }) {
const { errors } = useFormState({ control, name });
const error = get(errors, name);
return (_jsx(TextareaField, { register: control.register(name, registerOptions), error: error?.message, ...rest }));
}
export { TextareaField, TextareaFieldController };
//# sourceMappingURL=textarea-field.js.map