UNPKG

styled-hook-form

Version:

React form library for styled-components based on grommet and react-hook-form

28 lines (27 loc) 1.44 kB
"use strict"; 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;