UNPKG

@talend/react-forms

Version:

React forms library based on json schema form.

57 lines (56 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _reactHookForm = require("react-hook-form"); var _propTypes = _interopRequireDefault(require("prop-types")); var _designSystem = require("@talend/design-system"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function RHFSelect({ rules = {}, name = '', defaultValue, options, ...rest }) { var _fieldState$error, _fieldState$error2; const { control } = (0, _reactHookForm.useFormContext)(); const { field, fieldState } = (0, _reactHookForm.useController)({ control, name, rules, defaultValue }); return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_designSystem.Form.Select, { hasError: !!((_fieldState$error = fieldState.error) !== null && _fieldState$error !== void 0 && _fieldState$error.message), description: (_fieldState$error2 = fieldState.error) === null || _fieldState$error2 === void 0 ? void 0 : _fieldState$error2.message, ...field, ...rest, children: [rest.required && !rest.placeholder && /*#__PURE__*/(0, _jsxRuntime.jsx)("option", { value: "" }), options && options.map(option => { return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", { value: option.value, selected: rest.value === option.value, children: option.name }, option.value); })] }); } if (process.env.NODE_ENV !== 'production') { RHFSelect.propTypes = { rules: _propTypes.default.object, name: _propTypes.default.string, defaultValue: _propTypes.default.string, options: _propTypes.default.array }; } var _default = exports.default = RHFSelect; //# sourceMappingURL=RHFSelect.component.js.map