styled-hook-form
Version:
React form library for styled-components based on grommet and react-hook-form
28 lines (27 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HiddenEditor = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const react_hook_form_1 = require("react-hook-form");
const context_1 = require("../../../../context");
const HiddenEditor = react_1.forwardRef((props, ref) => {
let vrules = props.validationRules || {};
const { translate: T } = context_1.useFormBuilderContext();
let { name, defaultValue: initialValue, shouldUnregister, methods, required, label } = props;
if (required) {
vrules.required = {
value: required,
message: T("required-msg", { name: label !== null && label !== void 0 ? label : name }),
};
}
let control = methods === null || methods === void 0 ? void 0 : methods.control;
return (jsx_runtime_1.jsx(react_hook_form_1.Controller, { name: name, defaultValue: initialValue, rules: vrules, control: control, shouldUnregister: shouldUnregister, render: ({ field }) => {
// eslint-disable-next-line react-hooks/rules-of-hooks
const handleChange = react_1.useCallback((e) => {
field.onChange(e.target.value);
}, [field]);
return (jsx_runtime_1.jsx("input", { ref: ref, type: "hidden", onChange: handleChange, value: field.value }, void 0));
} }, void 0));
});
exports.HiddenEditor = HiddenEditor;