@talend/react-forms
Version:
React forms library based on json schema form.
57 lines (56 loc) • 1.8 kB
JavaScript
"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