@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
34 lines (33 loc) • 1.92 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const clsx_1 = __importDefault(require("clsx"));
const errors_1 = require("../../utils/errors");
const errors_2 = require("../../utils/errors");
const component_label_1 = __importDefault(require("./component-label"));
const Component = (_a) => {
var { type, field = '', required = false, label, tooltip = '', children, className: extraClassName = '' } = _a, props = __rest(_a, ["type", "field", "required", "label", "tooltip", "children", "className"]);
const { errors } = (0, errors_1.useValidationErrors)(field);
const className = (0, clsx_1.default)('form-group', 'has-feedback', 'formio-component', 'offb-component', {
[`formio-component-${type}`]: type,
'has-error': field && errors.length > 0,
required: required,
[extraClassName]: !!extraClassName,
});
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: className }, { children: [label && ((0, jsx_runtime_1.jsx)(component_label_1.default, { label: label, required: required, htmlId: props.htmlId, tooltip: tooltip })), children, (0, jsx_runtime_1.jsx)(errors_2.ErrorList, { errors: errors })] })));
};
exports.default = Component;